struttura PERFORMANCE_DATA (winnt.h)

Contiene i dati del contatore hardware e della profilatura dei thread richiesti.

Sintassi

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;

Members

Size

Dimensione della struttura.

Version

Versione di questa struttura. Deve essere impostato su PERFORMANCE_DATA_VERSION.

HwCountersCount

Numero di elementi di matrice nella matrice HwCounters che contengono dati del contatore hardware. Il valore 3 indica che la matrice contiene dati per tre contatori hardware, non che gli elementi da 0 a 2 contengono dati del contatore.

ContextSwitchCount

Numero di opzioni di contesto che si sono verificate dopo l'abilitazione della profilatura.

WaitReasonBitMap

Maschera di bit che identifica i motivi per i cambi di contesto che si sono verificati dall'ultima lettura dei dati. Per i valori possibili, vedere l'enumerazione KWAIT_REASON (l'enumerazione è inclusa nel file Wdm.h in WDK).

CycleTime

Il tempo del ciclo del thread (esclude il tempo impiegato per l'interruzione) dal momento in cui è stata abilitata la profilatura.

RetryCount

Numero di volte in cui l'operazione di lettura legge i dati per garantire uno snapshot coerente dei dati.

Reserved

Riservato. Imposta su zero.

HwCounters[MAX_HW_COUNTERS]

Matrice di strutture HARDWARE_COUNTER_DATA che contengono i valori del contatore. Gli elementi della matrice che contengono dati del contatore sono correlati direttamente ai bit impostati nella maschera di bit HardwareCounters specificata quando è stata chiamata la funzione EnableThreadProfiling . Ad esempio, se si imposta il bit 3 nella maschera di bit HardwareCounters , HwCounters[3] conterrà i dati del contatore per tale contatore.

Commenti

È necessario inizializzare i membri Size e Version prima di chiamare la funzione ReadThreadProfilingData per leggere i dati di profilatura.

I dati del profilo contenuti in questa struttura dipendono dai dati richiesti quando è stata chiamata la funzione ReadThreadProfilingData . I membri seguenti vengono impostati quando si specifica il flag READ_THREAD_PROFILING_FLAG_DISPATCHING:

  • ContextSwitchCount
  • CycleTime
  • RetryCount
  • WaitReasonBitMap
I membri seguenti vengono impostati quando si specifica il flag READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS:
  • HwCounters
  • HwCountersCount

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

ReadThreadProfilingData