Exemplarische Vorgehensweise: Abrufen von Kategorien und Leistungsindikatoren
Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]
Die Verfahren in dieser exemplarischen Vorgehensweise führen Sie durch den Prozess der erstellen und Konfigurieren von Instanzen von Komponenten PerformanceCounter, und verwenden Sie zum Abrufen von Leistungsindikatorkategorien und Leistungsindikatoren auf Ihrem System aufgelistet. Ein Leistungsindikator ist die Möglichkeit Windows Leistungsdaten verschiedener Systemressourcen erfasst. Windows enthält vordefinierte Indikatoren, in Kategorien, mit denen Sie interagieren können organisiert. Jede Kategorie und Indikator bezieht sich auf einen bestimmten Bereich von Systemfunktionen.
In dieser exemplarischen Vorgehensweise werden Sie:
Instanziieren Sie eine PerformanceCounter Komponente zu und konfigurieren Sie für die Interaktion mit einer bestimmten Kategorie systemgenerierter Indikatoren.
Erstellen Sie eine Windows-Anwendung, die Informationen zu Kategorien und Leistungsindikatoren in einem Listenfeld anzeigt.
Verwenden Sie die GetCategories-Methode, um eine Liste der Kategorien auf dem lokalen Computer zurückzugeben.
Verwenden Sie GetCounters-Methode, um eine Liste der Leistungsindikatoren aus der angegebenen Kategorie zurückzugeben.
So erstellen Sie Ihre Windows-Anwendung
From the New Project dialog box, create a Visual Basic or Visual C# Windows Application.
Fügen Sie von Registerkarte Windows FormsToolbox zwei Schaltflächen und zwei Listenfelder zu Ihrem Formular. Ordnen Sie in beliebiger Reihenfolge, Sie möchten, und legen Sie die folgenden Eigenschaften dafür an:
Steuerelement
-Eigenschaft
Wert
Button1
Name
btnGetCounters
Text
Abrufen von Leistungsindikatoren
Button2
Name
btnGetCategories
Text
Abrufen von Kategorien
ListBox1
Name
lstCounters
ScrollAlwaysVisible
True
ListBox2
Name
lstCategories
ScrollAlwaysVisible
True
Speichern Sie Ihre Arbeit.
Abrufen der Kategorieliste
Doppelklicken Sie im Entwurfsansicht auf die Kategorien abrufen Schaltfläche Zugriff auf den Code-Editor.
Fügen Sie in der Prozedur btnGetCategories_Click den folgenden Code die Liste der Kategorien vom lokalen Computer abgerufen.
Private Sub btnGetCategories_Click() Handles btnGetCategories.Click Dim myCat2 As PerformanceCounterCategory() Dim i AsInteger ' Remove the current contents of the list.Me.lstCategories.Items.Clear() ' Retrieve the categories. myCat2 = PerformanceCounterCategory.GetCategories ' Add the retrieved categories to the list.For i = 0 To myCat2.Length - 1 Me.lstCategories.Items.Add(myCat2(i).CategoryName) NextEndSub
private void btnGetCategories_Click(object sender, System.EventArgs e) { System.Diagnostics.PerformanceCounterCategory[] myCat2; // Remove the current contents of the list. this.lstCategories.Items.Clear(); // Retrieve the categories. myCat2 = System.Diagnostics.PerformanceCounterCategory.GetCategories(); // Add the retrieved categories to the list. for (int i = 0; i < myCat2.Length; i++) { this.lstCategories.Items.Add(myCat2[i].CategoryName); } }
Abrufen die Leistungsindikatorenliste
Doppelklicken Sie im Entwurfsansicht auf die Leistungsindikatoren abrufen Schaltfläche Zugriff auf den Code-Editor. Die Einfügemarke wird im btnGetCounters_Click Ereignis positioniert.
Fügen Sie folgenden Code um die Liste der Leistungsindikatoren aus der ausgewählten Kategorie abzurufen.
Private Sub btnGetCounters_Click() Handles btnGetCounters.Click Dim instanceNames() AsStringDim counters AsNew System.Collections.ArrayList() If (Me.lstCategories.SelectedIndex <> -1) ThenDim mycat AsNew PerformanceCounterCategory( Me.lstCategories.SelectedItem.ToString()) ' Remove the current contents of the list.Me.lstCounters.Items.Clear() ' Retrieve the counters.Try instanceNames = mycat.GetInstanceNames() If (instanceNames.Length = 0) Then counters.AddRange(mycat.GetCounters()) ElseDim i AsIntegerFor i = 0 To instanceNames.Length - 1 counters.AddRange( mycat.GetCounters(instanceNames(i))) NextEndIf ' Add the retrieved counters to the list.Dim counter As PerformanceCounter ForEach counter In counters Me.lstCounters.Items.Add(counter.CounterName) NextCatch ex As Exception MessageBox.Show( "Unable to list the counters for this category:" & ControlChars.CrLf & ex.Message) EndTryEndIfEndSub
private void btnGetCounters_Click(object sender, System.EventArgs e) { string[] instanceNames; System.Collections.ArrayList counters = new System.Collections.ArrayList(); if (this.lstCategories.SelectedIndex != -1) { System.Diagnostics.PerformanceCounterCategory mycat = new System.Diagnostics.PerformanceCounterCategory( this.lstCategories.SelectedItem.ToString()); // Remove the current contents of the list. this.lstCounters.Items.Clear(); // Retrieve the counters. try { instanceNames = mycat.GetInstanceNames(); if (instanceNames.Length == 0) { counters.AddRange(mycat.GetCounters()); } else { for (int i = 0; i < instanceNames.Length; i++) { counters.AddRange(mycat.GetCounters(instanceNames[i])); } } // Add the retrieved counters to the list. foreach (System.Diagnostics.PerformanceCounter counter in counters) { this.lstCounters.Items.Add(counter.CounterName); } } catch (System.Exception ex) { MessageBox.Show( "Unable to list the counters for this category:\n" + ex.Message); } } }
Ihre Anwendung testen
Speichern und Kompilieren der Anwendung.
Klicken Sie auf die Schaltfläche Kategorien abrufen. Sie werden eine Liste der Kategorien im Listenfeld angezeigt.
Aktivieren Sie eines der Kategorien und klicken Sie Leistungsindikatoren abrufen. Sie sehen eine Liste der Leistungsindikatoren für die ausgewählte Kategorie.
Siehe auch
Konzepte
Einführung in die Überwachung von Leistungsschwellenwerten