Da es sich bei Performance-Countern um eine Standard-Systemfunktion handelt, eignen sie sich hervorragend, um die Leistung von Anwendungen zu überwachen. Beispielsweise gibt es Performance-Counter, die die CPU-Zeit oder die Speicher- und Festplattenauslastung des Systems anzeigen. Microsoft bietet im .NET-Framework mehrere Klassen, um anwenderspezifische Performance-Counter auszugeben.
Werden etwa beim Parsen von Dateien Datensätze in eine Datenbank eingefügt, kann ein Performance-Counter die Anzahl der eingefügten Datensätze anzeigen. So lässt sich ermitteln, mit welcher Geschwindigkeit die Datensätze integriert werden. Das ist durchaus interessant, beispielsweise zur Bestimmung von Skalierungsoptionen und Hardwareanforderungen.
Performance-Counter liefern auch Aussagen darüber, ob ein Prozess wirklich abgeschlossen ist oder nicht. Falls sich die Datenanzeige über einen bestimmten Zeitraum hinweg nicht ändert, lässt sich daraus schließen, dass es ein Problem gab. Ein hervorragendes Beispiel dafür ist etwa das Überwachen von MSMQ-Nachrichten. Im Allgemeinen ist davon auszugehen, dass sich die Anzahl der Nachrichten in einer MSMQ-Warteschlange ziemlich rasch ändert. Steigt sie irgendwann nicht mehr an, dann ist die Wahrscheinlichkeit nicht gerade gering, dass irgendetwas im Argen liegt.
So lässt sich ein Counter erstellen
Performance-Counter sind in Kategorien organisiert, die wiederum mehrere Counter beinhalten. Diese überwachen in der Regel unterschiedliche Aspekte der gleichen Systemfunktion. Innerhalb eines jeden Counters kann es außerdem mehrere Instanzen geben. Soll zum Beispiel die Anzahl an Nachrichten in einer MSMQ-Warteschlange angezeigt werden, empfiehlt es sich, die Kategorie MSMQ Queue aufzurufen, den Counter Messages in Queue auszuwählen und dann die Instanz zu bestimmen, die überwacht werden soll – im folgenden Beispiel übrigens jede Warteschlange eine Instanz.
Nachdem festgelegt ist, wie die anwenderspezifischen Counter organisiert werden sollen, müssen sie noch erstellt werden. Der folgenden Code erzeugt in der Kategorie SampleCategory einen Performance-Counter mit der Bezeichnung SampleCounter.
Neueste Kommentare
Noch keine Kommentare zu C#: Leistungsdaten von Anwendungen mit Performance-Countern anzeigen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.