Почему не может perfmon видеть экземпляры моего пользовательского счетчика производительности?

Я создаю некоторые пользовательские счетчики производительности для приложения. Я записал простой инструмент C# для создания категорий и счетчиков. Например, фрагмент кода ниже в основном, что я выполняю. Затем я запускаю отдельное приложение, которое бесконечно обновляет необработанное значение счетчика. В то время как это работает, встречный и фиктивный экземпляр замечены локально в perfmon.

Проблема, которую я имею, состоит в том, что система контроля, которую мы используем, не видит экземпляры в счетчике мультиэкземпляра, который я создал при просмотре удаленно с другого сервера. При использовании perfmon для просмотра счетчиков я вижу категорию и счетчики, но поле экземпляров отображается серым, и я не могу даже выбрать "Все экземпляры", и при этом я не могу нажать "Add". Используя другие методы доступа, как [typeperf][1] покажите подобные проблемы.

Я не уверен, является ли это проблемой кода или сервером. Это только восстанавливаемо в продуктивной среде, где мне нужна она. На моих настольных и серверах разработки это работает отлично. Я - локальный администратор на всех серверах.

CounterCreationDataCollection collection = new CounterCreationDataCollection();

var category_name = "My Application";
var counter_name = "My counter name";
CounterCreationData ccd = new CounterCreationData();
ccd.CounterType = PerformanceCounterType.RateOfCountsPerSecond64;
ccd.CounterName = counter_name;
ccd.CounterHelp = counter_name;
collection.Add(ccd);

PerformanceCounterCategory.Create(category_name, category_name, PerformanceCounterCategoryType.MultiInstance, collection);

Затем в отдельном приложении я выполняю это для генерации фиктивных данных экземпляра:

var pc = new PerformanceCounter(category_name, counter_name, instance_name, false);
while (true) {
   pc.RawValue = 0;
   Thread.Sleep(1000);
}
17
задан spoulson 30 July 2009 в 18:20
поделиться