Ich füge meinem C# -Projekt einige Leistungsindikatoren hinzu und erstelle eine neue PerformanceCounterCategory. In dieser Kategorie hätte ich gerne mehrere Zähler/Timer, die verschiedene Dinge verfolgen. Ich muss mehrere durchschnittliche Timer verwenden und versuche zu verstehen, wie der AverageBase-Zähler mit dem richtigen AverageTimer32-Zähler verknüpft wird, wenn mehr als einer in der CoutnerCreationDataCollection vorhanden ist.Wie werden Durchschnittszähler für Leistungsindikatoren mit ihrer Basis verknüpft?
Ein paar Fragen:
1. Zunächst ist dies eine richtige Art und Weise, es zu tun? Die Samples, die ich gefunden habe, haben alle nur einen durchschnittlichen Timer.
2. Und wenn die Antwort auf die erste Frage ja ist, dann bin ich richtig in der Annahme, dass der erste AverageBase-Zähler nach AverageTimer32 der Sammlung hinzugefügt wurde? Ich habe in einem Artikel eine Referenz gefunden, die in der Reihenfolge hinzugefügt werden muss.
Hier ist ein Beispiel dafür, was ich zu tun versucht:
var dataColl = new CounterCreationDataCollection
{
new CounterCreationData
{
CounterType = PerformanceCounterType.AverageTimer32,
CounterName = "AverageTime1",
CounterHelp = "AverageTime1_Help"
},
new CounterCreationData // Does this get linked to AverageTime1 simply
// because it is being added after it?
{
CounterType = PerformanceCounterType.AverageBase,
CounterName = "AverageTime1Base"
},
new CounterCreationData
{
CounterType = PerformanceCounterType.AverageTimer32,
CounterName = "AverageTime2",
CounterHelp = "AverageTime2_Help"
},
new CounterCreationData
{
CounterType = PerformanceCounterType.AverageBase,
CounterName = "AverageTime2_Base"
},
}
PerformanceCounterCategory.Create(
"MyCategoryName"
, "My Category Help"
, PerformanceCounterCategoryType.SingleInstance
, dataColl);