То, как счетчик производительности составляет в среднем таймеры, связано с их основой?

Я добавляю некоторые счетчики производительности к своему c# проекту и создаю новый PerformanceCounterCategory. В этой категории я хотел бы иметь несколько счетчиков/таймеров та дорожка разные вещи. У меня есть потребность использовать несколько средних таймеров, и пытаюсь понять, как счетчик AverageBase связан с корректным счетчиком AverageTimer32, когда существует больше чем один в CoutnerCreationDataCollection.

Несколько вопросов:
1. Во-первых, действительно ли это - корректный способ сделать это? Образцы я нашел всех, имеют только один средний таймер.
2. И если ответ на первый вопрос да, то я корректен в размышлении что первый счетчик AverageBase, добавленный к набору после AverageTimer32? Я действительно находил ссылку в статье им бывший должный быть добавленным в порядке.

Вот пример того, что я пытаюсь сделать:

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);
19
задан Alex 10 March 2010 в 17:20
поделиться

1 ответ

Должность. За счетчиками, для которых требуется база, в списке определений сразу должна следовать база. Итак, ваш код правильный, у вас есть два AverageTimer32, за каждым из которых следует AverageBase.

В качестве примечания: когда вам надоест набирать один и тот же код снова и снова, вам следует подумать о Использование XSLT для генерации кода счетчиков производительности .

19
ответ дан 30 November 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: