Как определить и использовать два счетчика производительности AverageTimer32 в одном приложении (.exe)?2 Счетчик производительности AverageTimer32
Дополнительные примечания: Я пытаюсь так измерить потраченное время на разные части операции.
У меня есть счетчик производительности AverageTimer32 и средний байт. Оно работает.
Теперь я хочу добавить второй счетчик производительности AverageTimer32. Он не работает, даже если я добавляю еще один счетчик MiddleBase. Думаю, я что-то ошибаюсь. Образец кода действительно оценен.
Это различные части кода:
_AverageDuration = new PerformanceCounter();
_AverageDuration.CategoryName = CategoryName;
_AverageDuration.CounterName = "average time per operation";
_AverageDuration.MachineName = ".";
_AverageDuration.ReadOnly = false;
_AverageDurationBase = new PerformanceCounter();
_AverageDurationBase.CategoryName = CategoryName;
_AverageDurationBase.CounterName = "average time per operation base";
_AverageDurationBase.MachineName = ".";
_AverageDurationBase.ReadOnly = false;
...
CounterCreationDataCollection counters = new CounterCreationDataCollection();
...
CounterCreationData avgDuration = new CounterCreationData();
avgDuration.CounterName = "average time per operation";
avgDuration.CounterHelp = "Average duration per operation execution";
avgDuration.CounterType = PerformanceCounterType.AverageTimer32;
counters.Add(avgDuration);
CounterCreationData avgDurationBase = new CounterCreationData();
avgDurationBase.CounterName = "average time per operation base";
avgDurationBase.CounterHelp = "Average duration per operation execution base";
avgDurationBase.CounterType = PerformanceCounterType.AverageBase;
counters.Add(avgDurationBase);
...
PerformanceCounterCategory.Create(CategoryName, "Category for Receiver", PerformanceCounterCategoryType.Unknown, counters);
...
AverageDuration.IncrementBy(performanceCounterwatch.ElapsedTicks);
AverageDurationBase.Increment();
Кстати, вы можете рассмотреть что-то вроде [Использование XSLT для создания кода счетчиков производительности] (http://rusanu.com/2009/04/11/using-xslt-to-generate-performance-counters-code/) до избегать повторения всего кода –