Condividi tramite


PERF_COUNTERSET_INFO struttura (perflib.h)

Definisce le informazioni su un set di contatori usato da un provider. Lo strumento CTRPP genera automaticamente questa struttura in base allo schema specificato.

Sintassi

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

Members

CounterSetGuid

GUID che identifica in modo univoco il set di contatori. L'attributo guid dell'elemento counterSet contiene il GUID.

ProviderGuid

GUID che identifica in modo univoco il provider che supporta il set di contatori. L'attributo providerGuid dell'elemento provider contiene il GUID.

NumCounters

Numero di contatori nel set di contatori. Vedere la sezione Osservazioni.

InstanceType

Specifica se l'insieme di contatori ammette istanze multiple, ad esempio processi e dischi fisici, o una singola istanza, ad esempio memoria.

Di seguito sono riportati i tipi di istanza possibili.

Valore Significato
PERF_COUNTERSET_SINGLE_INSTANCE
L'insieme contiene contatori a singola istanza, ad esempio un contatore che misura la memoria fisica.
PERF_COUNTERSET_MULTI_INSTANCES
L'insieme contiene contatori a istanza multipla, ad esempio un contatore che misura l'I/O medio del disco per un processo.
PERF_COUNTERSET_SINGLE_AGGREGATE
L'insieme contiene i contatori a singola istanza il cui valore aggregato viene ottenuto da una o più origini. Ad esempio, un contatore in questo tipo di insieme di contatori potrebbe ottenere il numero di letture da ognuno dei tre dischi rigidi del computer e sommare i valori.
PERF_COUNTERSET_MULTI_AGGREGATE
L'insieme contiene contatori a istanza multipla il cui valore aggregato viene ottenuto da tutte le istanze del contatore. Ad esempio, un contatore in questo tipo di set di contatori potrebbe ottenere il tempo di esecuzione totale del thread per tutti i thread in un'applicazione multi thread e sommarne i valori.
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
La differenza tra questo tipo e PERF_COUNTERSET_SINGLE_AGGREGATE è che questo tipo di set di contatori archivia tutti i valori del contatore per la durata dell'applicazione consumer (il valore del contatore viene memorizzato nella cache oltre la durata del contatore). Ad esempio, se uno dei dischi rigidi nell'esempio di aggregazione singolo precedente non fosse disponibile, i byte totali letti da tale disco sarebbero comunque disponibili e usati per calcolare il valore di aggregazione.
PERF_COUNTERSET_INSTANCE_AGGREGATE
Questo tipo è simile a PERF_COUNTERSET_MULTI_AGGREGATE, ad eccezione del fatto che invece di aggregare tutti i dati dell'istanza a un'istanza aggregata (_Total), aggrega i dati dei contatori dalle istanze dello stesso nome.

Ad esempio, se più processi provider contengono istanze denominate IExplore, PERF_COUNTERSET_MULTIPLE e PERF_COUNTERSET_MULTI_AGGREGATE CounterSet visualizzeranno più istanze di IExplore (IExplore, IExplore#1, IExplore#2 e così via); tuttavia, un tipo di istanza PERF_COUNTERSET_INSTANCE_AGGREGATE pubblica solo un'istanza IExplore con dati contatori aggregati da tutte le istanze denominate IExplore.

Windows Vista: Questo tipo non è disponibile.

Commenti

Il blocco di memoria per questa struttura contiene anche una o più strutture PERF_COUNTER_INFO . Il membro NumCounter determina il numero di strutture PERF_COUNTER_INFO che seguono questa struttura in memoria.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione perflib.h

Vedi anche

PERF_COUNTER_INFO

PerfSetCounterSetInfo