Partager via


structure PERF_COUNTERSET_INFO (perflib.h)

Définit des informations sur un jeu de compteurs qu’un fournisseur utilise. L’outil CTRPP génère automatiquement cette structure en fonction du schéma que vous spécifiez.

Syntaxe

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

Membres

CounterSetGuid

GUID qui identifie de manière unique le jeu de compteurs. L’attribut guid de l’élément counterSet contient le GUID.

ProviderGuid

GUID qui identifie de manière unique le fournisseur qui prend en charge le jeu de compteurs. L’attribut providerGuid de l’élément provider contient le GUID.

NumCounters

Nombre de compteurs dans le jeu de compteurs. Consultez la section Notes.

InstanceType

Spécifie si l'ensemble de compteurs autorise plusieurs instances telles que les processus et disques physiques, ou une instance unique telle que la mémoire.

Voici les types instance possibles.

Valeur Signification
PERF_COUNTERSET_SINGLE_INSTANCE
L'ensemble de compteurs contient des compteurs d'instance unique, par exemple un compteur qui mesure la mémoire physique.
PERF_COUNTERSET_MULTI_INSTANCES
L'ensemble de compteurs contient des compteurs d'instances multiples, par exemple un compteur qui mesure les E/S de disque moyennes pour un processus.
PERF_COUNTERSET_SINGLE_AGGREGATE
L'ensemble de compteurs contient des compteurs d'instance unique dont la valeur d'agrégation est obtenue depuis une ou plusieurs sources. Par exemple, un compteur dans ce type d'ensemble de compteurs peut obtenir le nombre de lectures de chacun des trois disques durs sur l'ordinateur et additionner leurs valeurs.
PERF_COUNTERSET_MULTI_AGGREGATE
L'ensemble de compteurs contient des compteurs d'instances multiples dont la valeur d'agrégation est obtenue à partir de toutes les instances du compteur. Par exemple, un compteur de ce type de jeu de compteurs peut obtenir le temps d’exécution total des threads pour tous les threads d’une application multithread et additionner leurs valeurs.
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
La différence entre ce type et PERF_COUNTERSET_SINGLE_AGGREGATE est que ce type de jeu de compteurs stocke toutes les valeurs de compteur pendant la durée de vie de l’application consommateur (la valeur du compteur est mise en cache au-delà de la durée de vie du compteur). Par exemple, si l’un des disques durs de l’exemple d’agrégation unique ci-dessus devenait indisponible, le nombre total d’octets lus par ce disque serait toujours disponible et utilisé pour calculer la valeur d’agrégation.
PERF_COUNTERSET_INSTANCE_AGGREGATE
Ce type est similaire à PERF_COUNTERSET_MULTI_AGGREGATE, sauf qu’au lieu d’agréger toutes les données instance en un instance agrégé (_Total), il agrège les données de compteur à partir d’instances du même nom.

Par exemple, si plusieurs fournisseurs traitent des instances contenues nommées IExplore, PERF_COUNTERSET_MULTIPLE et PERF_COUNTERSET_MULTI_AGGREGATE CounterSet affiche plusieurs instances IExplore (IExplore, IExplore#1, IExplore#2, et ainsi de suite) ; toutefois, un type PERF_COUNTERSET_INSTANCE_AGGREGATE instance ne publie qu’un seul instance IExplore avec des données de compteur agrégées de toutes les instances nommées IExplore.

Windows Vista : Ce type n’est pas disponible.

Notes

Le bloc de mémoire de cette structure contient également une ou plusieurs structures PERF_COUNTER_INFO . Le membre NumCounter détermine le nombre de structures PERF_COUNTER_INFO qui suivent cette structure en mémoire.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête perflib.h

Voir aussi

PERF_COUNTER_INFO

PerfSetCounterSetInfo