Почему у меня нет экземпляра счетчика производительности `_Total`?

1

Я создаю счетчик производительности нескольких экземпляров со следующим регистрационным кодом, но, похоже, не имеет экземпляра _Total - даже когда у меня есть несколько активных экземпляров. Что мне нужно сделать, чтобы получить общее количество?

Регистрационный код:

var slc = new CounterCreationDataCollection();
slc.Add(new CounterCreationData()
{
    CounterName = "Channels Open",
    CounterType = PerformanceCounterType.NumberOfItems32,
    CounterHelp = "Number of channels that have not been cleaned up."
});
PerformanceCounterCategory.Create("Frob", "Monitors the frob", 
    PerformanceCounterCategoryType.MultiInstance, slc);

Отчетный код:

var channelName = "Widget 6";
var pcOpen = new PerformanceCounter("Frob", "Channels Open", channelName, false);

// elsewhere
pcOpen.Increment();

// followed by
pcOpen.Decrement();

Производит:

Изображение 174551

  • 0
    Можете ли вы показать версию с экземплярами non blured?
  • 0
    @ScottChamberlain, они просто показывают названия различных внутренних приложений. Представьте себе contoso.ap.poLineManager contoso.ar.collectionsHelper и т.д ...
Показать ещё 1 комментарий
Теги:
performancecounter

1 ответ

1
Лучший ответ

Я считаю, что _Total счетчик - это еще один пример, где они суммируют итоги вручную. Причина, по которой он имеет ведущий _, так это в алфавитном порядке перед < in <All instances> который является "мета-счетчиком".

var pc5Name = "Widget 5";
var pc6Name = "Widget 6";
var pc5 = new PerformanceCounter("Frob", "Channels Open", pc5Name, false);
var pc6 = new PerformanceCounter("Frob", "Channels Open", pc6Name, false);
var pcTotal = new PerformanceCounter("Frob", "Channels Open", "_Total", false);

// elsewhere
pc5.Increment();
pcTotal.Increment()

// more elsewhere
pc6.Increment();
pcTotal.Increment()

// followed by
pc5.Decrement();
pcTotal.Decrement();
  • 0
    Похоже, ты прав. Существует много вариантов ( _Total , _total , __Total__ , _Global_ ). Справочный источник также поддерживает эту идею: referenceource.microsoft.com/#System/net/System/Net/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню