Define informações sobre um conjunto de contadores que um provedor usa. A ferramenta CTRPP gera automaticamente essa estrutura com base no esquema especificado.
Sintaxe
typedef struct _PERF_COUNTERSET_INFO {
GUID CounterSetGuid;
GUID ProviderGuid;
ULONG NumCounters;
ULONG InstanceType;
} PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;
Membros
CounterSetGuid
GUID que identifica exclusivamente o conjunto de contadores. O atributo guid do elemento counterSet contém o GUID.
ProviderGuid
GUID que identifica exclusivamente o provedor que dá suporte ao conjunto de contadores. O atributo providerGuid do elemento provider contém o GUID.
NumCounters
Número de contadores no conjunto de contadores. Consulte Observações.
InstanceType
Especifica se o conjunto de contadores permite várias instâncias, como processos e discos físicos, ou uma única instância, como memória.
Veja a seguir os possíveis tipos de instância.
| Valor |
Significado |
-
PERF_COUNTERSET_SINGLE_INSTANCE
|
O conjunto de contadores contém contadores de instância única, por exemplo, um contador que mede a memória física.
|
-
PERF_COUNTERSET_MULTI_INSTANCES
|
O conjunto de contadores contém vários contadores de instância, por exemplo, um contador que mede a E/S de disco média para um processo.
|
-
PERF_COUNTERSET_SINGLE_AGGREGATE
|
O conjunto de contadores contém contadores de instância única cujo valor agregado é obtido de uma ou mais fontes. Por exemplo, um contador nesse tipo de conjunto de contadores pode obter o número de leituras de cada um dos três discos rígidos no computador e somar os valores.
|
-
PERF_COUNTERSET_MULTI_AGGREGATE
|
O conjunto de contadores contém vários contadores de instâncias cujo valor agregado é obtido de todas as instâncias do contador. Por exemplo, um contador nesse tipo de conjunto de contadores pode obter o tempo total de execução do thread para todos os threads em um aplicativo multi-thread e somar seus valores.
|
-
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
|
A diferença entre esse tipo e PERF_COUNTERSET_SINGLE_AGGREGATE é que esse tipo de conjunto de contadores armazena todos os valores de contador durante o tempo de vida do aplicativo consumidor (o valor do contador é armazenado em cache além do tempo de vida do contador). Por exemplo, se um dos discos rígidos no exemplo de agregação única acima ficar indisponível, o total de bytes lidos por esse disco ainda estará disponível e será usado para calcular o valor agregado.
|
-
PERF_COUNTERSET_INSTANCE_AGGREGATE
|
Esse tipo é semelhante a PERF_COUNTERSET_MULTI_AGGREGATE, exceto que, em vez de agregar todos os dados de instância para uma instância agregada (_Total), ele agregará dados de contador de instâncias de mesmo nome.
Por exemplo, se vários processos de provedor contiverem instâncias chamadas IExplore, PERF_COUNTERSET_MULTIPLE e PERF_COUNTERSET_MULTI_AGGREGATE CounterSet mostrarão várias instâncias IExplore (IExplore, IExplore#1, IExplore#2 e assim por diante); no entanto, um tipo de instância PERF_COUNTERSET_INSTANCE_AGGREGATE publicará apenas uma instância IExplore com dados de contador agregados de todas as instâncias denominadas IExplore.
Windows Vista: Esse tipo não está disponível.
|
O bloco de memória dessa estrutura também contém uma ou mais estruturas PERF_COUNTER_INFO . O membro NumCounter determina o número de estruturas PERF_COUNTER_INFO que seguem essa estrutura na memória.
Requisitos
| |
|
|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
|
Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |
|
Cabeçalho |
perflib.h |
Confira também
PERF_COUNTER_INFO
PerfSetCounterSetInfo