Share via


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이면 배열에 3개의 하드웨어 카운터에 대한 데이터가 포함되며 0~2 요소에는 카운터 데이터가 포함되지 않습니다.

ContextSwitchCount

프로파일링을 사용하도록 설정한 시간부터 발생한 컨텍스트 스위치의 수입니다.

WaitReasonBitMap

데이터를 마지막으로 읽은 이후 발생한 컨텍스트 전환의 이유를 식별하는 비트 마스크입니다. 가능한 값은 KWAIT_REASON 열거형을 참조하세요(열거형은 WDK의 Wdm.h 파일에 포함됨).

CycleTime

프로파일링을 사용하도록 설정한 시간에서 스레드의 주기 시간(중단된 시간 제외)입니다.

RetryCount

데이터의 일관된 스냅샷 보장하기 위해 읽기 작업이 데이터를 읽은 횟수입니다.

Reserved

예약되어 있습니다. 0으로 설정됩니다.

HwCounters[MAX_HW_COUNTERS]

카운터 값을 포함하는 HARDWARE_COUNTER_DATA 구조체의 배열입니다. 카운터 데이터를 포함하는 배열의 요소는 EnableThreadProfiling 함수를 호출할 때 지정한 HardwareCounters 비트 마스크에 설정된 비트와 직접 관련됩니다. 예를 들어 HardwareCounters 비트 마스크에서 비트 3을 설정하는 경우 HwCounters[3]에는 해당 카운터에 대한 카운터 데이터가 포함됩니다.

설명

프로파일링 데이터를 읽으려면 ReadThreadProfilingData 함수를 호출하기 전에 SizeVersion 멤버를 초기화해야 합니다.

이 구조에 포함된 프로필 데이터는 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