Ich suche nach Indikatoren in Linux-Systemen, die den benutzerdefinierten Leistungsindikatoren in Windows ähneln, auf die über C# zugegriffen werden kann. (http://msdn.microsoft.com/en-us/library/aa326924%28v=vs.71%29.aspx). Mein Anwendungsfall ist dies: Ich habe einen Prozess, der eine Datei von Speicherort A nach B importiert. Diese Datei enthält einige XML-Datensätze, die analysiert und in eine Datenbank geladen werden müssen. Ich möchte Zähler haben, die ich weiter inkrementieren kann, zum Beispiel, wenn eine neue Datei bei B empfangen wird und wenn ein Datensatz in die Datenbank importiert wird. Ich möchte diese Zählerwerte in regelmäßigen Abständen protokollieren, um eventuelle Inkonsistenzen zu erkennen. Ich habe das mit benutzerdefinierten Zählern (siehe obigen Link) gemacht, als ich Windows + C# verwendet habe, aber wie kann ich das unter Linux + Java machen? Danke für jede Hilfe.Registrierungsebenen-Zähler in Linux, die von Java aus zugänglich sind
Antwort
Linux hat keine Registrierung (Gott sei Dank) Ich würde nicht vorschlagen, Sie Anwendungsdaten mit Ihrem Betriebssystem zu mischen. Java hat Benutzereinstellungen, aber ich empfehle nicht, sie für diese Art von Informationen zu verwenden.
Wenn Sie einige Informationen aufnehmen möchten, schreiben Sie sie in eine Datei oder Datenbank, z. http://java-sources.net/open-source/database-engines Eine Datei könnte die einfachste sein.
Der echte Gewinn beim Erstellen eines benutzerdefinierten Zählers in einer Windows-Anwendung ist, dass Sie Ihre Anwendung zur Laufzeit mit der Windows Performance Monitor überwachen können. In Ihrem Beispiel könnten Sie also beobachten, wie sich die Anzahl der im Laufe der Zeit empfangenen Dateien ändert.
Der "Java-Weg" (d. H. Plattformunabhängig), etwas Simillar zu tun, ist JMX.
Schreiben Sie die Werte auf jeden Fall in eine Datei oder Datenbank, wie Peter vorschlägt. Das gibt Ihnen einen historischen Überblick über die Statistiken. Es wird jedoch dringend empfohlen, JMX zu untersuchen, um Ihre Anwendung zur Laufzeit analog zu Windows-Zählern zu überwachen.
- 1. Warum sind einige Objekte nicht von verschiedenen Threads aus zugänglich?
- 2. In PaperTrail gem, die Daten eines Objekts sind nicht zugänglich
- 3. SBT: externe Konfigurationsdatei mit Werten, die in build.sbt zugänglich sind
- 4. Java-Klassen nicht zugänglich
- 5. Erben von einem Benutzersteuerelement in WPF - Mitglieder sind nicht zugänglich
- 6. Warum statische Eigenschaften nicht mit "->" zugänglich sind, aber mit "::" zugänglich sind?
- 7. Warum in Scala geschriebene Anmerkungen zur Laufzeit nicht zugänglich sind?
- 8. UNIX-Domänen-Sockets, die nicht für Benutzer zugänglich sind?
- 9. Einschränkungen wo oder wann Bohnen sind zugänglich
- 10. Linux-Befehle von Java
- 11. Sind Nachrichtenwarteschlangen in Linux veraltet?
- 12. So stellen Sie sicher, dass die Zugriffsoptionen zugänglich sind
- 13. Sitzungen sind im Trägerwellen-Uploader nicht zugänglich
- 14. WCF DataServices: Von anderen Entitäten abgeleitete Entitäten sind nicht zugänglich
- 15. Warum sind CPU-Register schnell zugänglich?
- 16. Java Ausführen von Linux-Befehl
- 17. Was sind die Vorteile von Java?
- 18. Java sind Bibliotheken für die Vervollständigung von Verzeichnis-Tabs bekannt?
- 19. Umgebungsvariablen in/etc/environment sind für Schienen nicht zugänglich
- 20. Tomcat Manager sind nicht zugänglich in Multi-Domain-Konfiguration
- 21. Bilder nicht zugänglich sind die context.getClassLoader.getResaurceAsStream von Android-Glas in Unity-Plugin
- 22. Ist die Android-API von einem beliebigen Skript/Programm aus zugänglich, das auf der Linux-Ebene ausgeführt wird?
- 23. Ausführen von Linux-Befehlen aus dem internen Java-Programm
- 24. Was sind die Pakete für Linux-Bibliotheken?
- 25. Java: Grafik in Linux
- 26. private Mitglieder zugänglich sind in Winkeln 2 Dekorateure
- 27. Sind anonyme Typen in C# durch Reflektion zugänglich?
- 28. Wie finde ich Dateien, die gerade in Linux geschrieben sind?
- 29. Python: Variablen sind immer noch zugänglich, wenn sie in try oder if definiert sind?
- 30. Statische Dateien in (Java) App Engine nicht zugänglich