Поделиться через


структура PERFORMANCE_DATA (winnt.h)

Содержит запрошенные данные профилирования потока и счетчика оборудования.

Синтаксис

typedef struct _PERFORMANCE_DATA {
  WORD                  Size;
  BYTE                  Version;
  BYTE                  HwCountersCount;
  DWORD                 ContextSwitchCount;
  DWORD64               WaitReasonBitMap;
  DWORD64               CycleTime;
  DWORD                 RetryCount;
  DWORD                 Reserved;
  HARDWARE_COUNTER_DATA HwCounters[MAX_HW_COUNTERS];
} PERFORMANCE_DATA, *PPERFORMANCE_DATA;

Члены

Size

Размер этой структуры.

Version

Версия этой структуры. Для должно быть задано значение PERFORMANCE_DATA_VERSION.

HwCountersCount

Количество элементов массива в массиве HwCounters , содержащих данные счетчиков оборудования. Значение 3 означает, что массив содержит данные для трех аппаратных счетчиков, а не элементы от 0 до 2 содержат данные счетчиков.

ContextSwitchCount

Количество переключений контекста, произошедших с момента включения профилирования.

WaitReasonBitMap

Битовая маска, определяющая причины переключения контекста, произошедшие с момента последнего считывания данных. Возможные значения см. в перечислении KWAIT_REASON (перечисление включено в файл Wdm.h в WDK).

CycleTime

Время цикла потока (за исключением времени, затраченного на прерывание) из времени включения профилирования.

RetryCount

Количество раз, когда операция чтения считывает данные, чтобы обеспечить согласованное snapshot данных.

Reserved

Зарезервировано. Задайте нулевое значение.

HwCounters[MAX_HW_COUNTERS]

Массив HARDWARE_COUNTER_DATA структур, содержащих значения счетчиков. Элементы массива, содержащие данные счетчика, напрямую связаны с битами, заданными в битовой маске HardwareCounters , указанной при вызове функции EnableThreadProfiling . Например, если задать бит 3 в битовой маске HardwareCounters , HwCounters[3] будет содержать данные счетчика для этого счетчика.

Комментарии

Необходимо инициализировать элементы Size и Version перед вызовом функции ReadThreadProfilingData для чтения данных профилирования.

Данные профиля, содержащиеся в этой структуре, зависят от данных, запрошенных при вызове функции ReadThreadProfilingData . При указании флага READ_THREAD_PROFILING_FLAG_DISPATCHING задаются следующие элементы:

  • ContextSwitchCount
  • CycleTime
  • RetryCount
  • WaitReasonBitMap
При указании флага READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS задаются следующие элементы:
  • HwCounters
  • HwCountersCount

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть winnt.h (включая Windows.h)

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

ReadThreadProfilingData