¿Cómo se asocian los temporizadores promedio de contador de rendimiento con su base?
Estoy agregando algunos contadores de rendimiento a mi proyecto de C # y estoy creando una nueva categoría PerformanceCounterCategory. En esta categoría, me gustaría tener múltiples contadores / temporizadores que rastreen diferentes cosas. Tengo la necesidad de usar múltiples temporizadores promedio y estoy tratando de entender cómo el contador AverageBase se asocia con el contador AverageTimer32 correcto cuando hay más de uno en CoutnerCreationDataCollection.
Un par de preguntas:
1. Primero, ¿es esta una forma correcta de hacerlo? Las muestras que he encontrado tienen solo un temporizador promedio.
2. Y si la respuesta a la primera pregunta es sí, ¿estoy en lo cierto al pensar que el primer contador de AverageBase agregado a la colección después del AverageTimer32? Encontré una referencia en un artículo para ellos que necesitan agregarse en orden.
Aquí hay un ejemplo de lo que estoy tratando de hacer:
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);