структура PERF_COUNTERSET_INFO (perflib.h)

Определяет сведения о наборе счетчиков, используемом поставщиком. Средство CTRPP автоматически создает эту структуру на основе указанной схемы.

Синтаксис

typedef struct _PERF_COUNTERSET_INFO {
  GUID  CounterSetGuid;
  GUID  ProviderGuid;
  ULONG NumCounters;
  ULONG InstanceType;
} PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;

Члены

CounterSetGuid

GUID, который однозначно идентифицирует набор счетчиков. Атрибут GUID элемента counterSet содержит GUID.

ProviderGuid

GUID, который однозначно идентифицирует поставщика, поддерживающего набор счетчиков. Атрибут providerGuid элемента provider содержит GUID.

NumCounters

Число счетчиков в наборе счетчиков. См. заметки.

InstanceType

Указывает, допустимо ли для набора счетчиков использование нескольких экземпляров, например, процессов или физических дисков, или одного экземпляра, например, памяти.

Ниже приведены возможные типы экземпляров.

Значение Значение
PERF_COUNTERSET_SINGLE_INSTANCE
Набор счетчиков содержит счетчики с единственным экземпляром, например, счетчик объема физической памяти.
PERF_COUNTERSET_MULTI_INSTANCES
Набор счетчиков содержит многоэкземплярные счетчики, например, счетчик для измерения среднего числа операций дискового ввода-вывода для процесса.
PERF_COUNTERSET_SINGLE_AGGREGATE
Набор счетчиков содержит счетчики с единственным экземпляром, статистические значения которых извлекаются из одного или более источников. Например, счетчик в наборе счетчиков данного типа может получать число операций чтения для каждого из трех жестких дисков компьютера и суммировать эти значения.
PERF_COUNTERSET_MULTI_AGGREGATE
Набор счетчиков содержит многоэкземплярные счетчики, статистические значения которых извлекаются из всех экземпляров счетчика. Например, счетчик в этом типе набора счетчиков может получить общее время выполнения потока для всех потоков в многопотоковом приложении и суммирует их значения.
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
Разница между этим типом и PERF_COUNTERSET_SINGLE_AGGREGATE заключается в том, что этот тип набора счетчиков хранит все значения счетчиков за время существования приложения-получателя (значение счетчика кэшируется после времени существования счетчика). Например, если один из жестких дисков в примере с одним агрегатом выше станет недоступным, общий объем байтов, прочитанных этим диском, будет по-прежнему доступен и используется для вычисления статистического значения.
PERF_COUNTERSET_INSTANCE_AGGREGATE
Этот тип похож на PERF_COUNTERSET_MULTI_AGGREGATE, за исключением того, что вместо агрегирования всех данных экземпляра в одном агрегированном (_Total) экземпляре он будет агрегировать данные счетчиков из экземпляров с тем же именем.

Например, если несколько процессов поставщика содержали экземпляры С именем IExplore, PERF_COUNTERSET_MULTIPLE и PERF_COUNTERSET_MULTI_AGGREGATE CounterSet будет отображать несколько экземпляров IExplore (IExplore, IExplore#1, IExplore #2 и т. д.); однако тип экземпляра PERF_COUNTERSET_INSTANCE_AGGREGATE будет публиковать только один экземпляр IExplore с агрегированными данными счетчиков из всех экземпляров с именем IExplore.

Windows Vista: Этот тип недоступен.

Комментарии

Блок памяти для этой структуры также содержит одну или несколько PERF_COUNTER_INFO структур. Элемент NumCounter определяет количество PERF_COUNTER_INFO структур, следуют за этой структурой в памяти.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть perflib.h

См. также раздел

PERF_COUNTER_INFO

PerfSetCounterSetInfo