Отображение данных о производительности
Для вычисления отображаемого значения большинству счетчиков требуется два примера значений. Формула для каждого счетчика определяет, требуется ли для счетчика две выборки. Список счетчиков и их формулы см. в разделе Типы счетчиков комплекта развертывания Windows Server 2003.
Сбор данных о производительности показывает, как получить образцы данных. Получив примеры, вы обычно вызываете PdhGetFormattedCounterValue , чтобы вычислить отображаемое значение.
Если необходимо масштабировать значение счетчика вверх или вниз для отображения значения, вызовите функцию PdhSetCounterScaleFactor перед вызовом PdhGetFormattedCounterValue. Значения счетчиков можно масштабировать на десять от коэффициента от -7 до 7.
Если путь к счетчику содержит подстановочный знак для имени экземпляра, вызовите PdhGetFormattedCounterArray , чтобы получить массив форматированных значений счетчиков для каждого собранного экземпляра.
Для вычисления отображаемого значения можно также использовать функции PdhCalculateCounterFromRawValue и PdhFormatFromRawValue . Чтобы использовать эти функции, необходимо получить собранный образец после каждого вызова PdhCollectQueryData и сохранить пример самостоятельно. Чтобы получить пример, вызовите функцию PdhGetRawCounterValue или PdhGetRawCounterArray . Для значений счетчиков на основе времени вызовите PdhGetCounterTimeBase перед PdhFormatFromRawValue , чтобы получить базу времени счетчика.
При выполнении вычислений с использованием необработанных данных всегда проверка элемент CStatusструктуры PDH_RAW_COUNTER перед использованием примера. Пример недопустим, если значение CStatus не PDH_CSTATUS_NEW_DATA или не PDH_CSTATUS_VALID_DATA.
Отображение статистики для счетчика
Чтобы вычислить минимальное, максимальное и среднее значения счетчика, вызовите функцию PdhComputeCounterStatistics . При сборе примеров сохраните структуры PDH_RAW_COUNTER в массиве, передаваемом в PdhComputeCounterStatistics. Функция возвращает статистические значения в PDH_STATISTICS структуре.
Эту функцию также можно использовать для сжатия файла журнала. Например, считывая десять записей из файла журнала, вызовите PdhComputeCounterStatistics , чтобы вычислить среднее значение, а затем записать среднее значение в выходной файл журнала.