Definisce le informazioni su un set di contatori usato da un provider. Lo strumento CTRPP genera automaticamente questa struttura in base allo schema specificato.
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.