Счетчики производительности RawFraction в c # - PullRequest
2 голосов
/ 10 января 2012

У меня проблемы с использованием счетчика производительности RawFraction в моем проекте.Все, что я хочу, это показать простую часть totalActionType1 / totalActions.

Итак, totalActions - мой счетчик Rawbase, а totalActionType1 - мой счетчик Rawfraction.Я увеличиваю оба счетчика на 1 в определенных местах, но как я могу видеть соотношение?Я знаю, что делаю что-то / все не так.Пост на msdn тоже не полезен.

Я вижу использование CounterSample для вычисления значения с плавающей запятой, но как мне показать значение с плавающей запятой в качестве необработанного значения счетчика.

1 Ответ

1 голос
/ 10 января 2012

Итак, я предполагаю, что вы создали свои счетчики, как показано ниже в вашем классе установщика.Важно, чтобы базовый счетчик следовал сразу за вычисленным счетчиком.

            installer.Counters.Add(
                new CounterCreationData(counterName, counterDescription,
                                        PerformanceCounterType.RawFraction));
            installer.Counters.Add(
                new CounterCreationData(counterName + "-Base",
                                        counterDescription,
                                        PerformanceCounterType.RawBase));

Если это так, вы можете запросить его, создав экземпляр PerformanceCounter для RawFraction и вызвав для него NextValue().

// for read-only access to it
var pc = new PerformanceCounter(categoryName, counterName, true);

var value = pc.NextValue();

Для некоторых типов счетчиков сначала необходимо вызвать NextValue() дважды, чтобы выполнить вычисление.Кроме того, имейте в виду, что RawFraction отображается в процентах, поэтому, если значение равно 0,40, оно будет отображаться как 40,0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...