Partager via


counter Complex Type

Définit un compteur.

<xs:complexType name="counter">
    <xs:choice
        minOccurs="0"
        maxOccurs="1"
    >
        <xs:element name="counterAttributes"
            type="man:counterAttributes"
        >
            <xs:key name="uniqueCounterAttributeName">
                <xs:selector
                    xpath="./man:counterAttribute"
                 />
                <xs:field
                    xpath="@name"
                 />
            </xs:key>
        </xs:element>
    </xs:choice>
    <xs:attribute name="symbol"
        type="man:CSymbolType"
        use="optional"
     />
    <xs:attribute name="id"
        type="man:UInt32Type"
        use="required"
     />
    <xs:attribute name="uri"
        type="xs:anyURI"
        use="required"
     />
    <xs:attribute name="name"
        use="optional"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:maxLength
                    value="1023"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="description"
        type="xs:string"
        use="optional"
     />
    <xs:attribute name="type"
        use="required"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="perf_counter_counter"
                 />
                <xs:enumeration
                    value="perf_counter_timer"
                 />
                <xs:enumeration
                    value="perf_counter_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_large_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_100ns_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_obj_time_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_bulk_count"
                 />
                <xs:enumeration
                    value="perf_counter_text"
                 />
                <xs:enumeration
                    value="perf_counter_rawcount"
                 />
                <xs:enumeration
                    value="perf_counter_large_rawcount"
                 />
                <xs:enumeration
                    value="perf_counter_rawcount_hex"
                 />
                <xs:enumeration
                    value="perf_counter_large_rawcount_hex"
                 />
                <xs:enumeration
                    value="perf_sample_fraction"
                 />
                <xs:enumeration
                    value="perf_sample_counter"
                 />
                <xs:enumeration
                    value="perf_counter_timer_inv"
                 />
                <xs:enumeration
                    value="perf_sample_base"
                 />
                <xs:enumeration
                    value="perf_average_timer"
                 />
                <xs:enumeration
                    value="perf_average_base"
                 />
                <xs:enumeration
                    value="perf_average_bulk"
                 />
                <xs:enumeration
                    value="perf_obj_time_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_timer_inv"
                 />
                <xs:enumeration
                    value="perf_counter_multi_timer"
                 />
                <xs:enumeration
                    value="perf_counter_multi_timer_inv"
                 />
                <xs:enumeration
                    value="perf_counter_multi_base"
                 />
                <xs:enumeration
                    value="perf_100nsec_multi_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_multi_timer_inv"
                 />
                <xs:enumeration
                    value="perf_raw_fraction"
                 />
                <xs:enumeration
                    value="perf_large_raw_fraction"
                 />
                <xs:enumeration
                    value="perf_raw_base"
                 />
                <xs:enumeration
                    value="perf_large_raw_base"
                 />
                <xs:enumeration
                    value="perf_elapsed_time"
                 />
                <xs:enumeration
                    value="perf_counter_delta"
                 />
                <xs:enumeration
                    value="perf_counter_large_delta"
                 />
                <xs:enumeration
                    value="perf_precision_system_timer"
                 />
                <xs:enumeration
                    value="perf_precision_100ns_timer"
                 />
                <xs:enumeration
                    value="perf_precision_object_timer"
                 />
                <xs:enumeration
                    value="perf_counter_composite"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="baseID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="detailLevel"
        use="required"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="standard"
                 />
                <xs:enumeration
                    value="advanced"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="defaultScale"
        use="optional"
        default="0"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:integer"
            >
                <xs:minInclusive
                    value="-10"
                 />
                <xs:maxInclusive
                    value="10"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="aggregate"
        use="optional"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="sum"
                 />
                <xs:enumeration
                    value="avg"
                 />
                <xs:enumeration
                    value="max"
                 />
                <xs:enumeration
                    value="min"
                 />
                <xs:enumeration
                    value="undefined"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="perfTimeID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="perfFreqID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="multiCounterID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="struct"
        type="man:CSymbolType"
        use="optional"
     />
    <xs:attribute name="field"
        type="man:CSymbolType"
        use="optional"
     />
</xs:complexType>

Éléments enfants

Élément Type Description
counterAttributes man:counterAttributes Répertorie les attributs uniques qui spécifient comment les données de compteur sont affichées dans une application consommateur.

Attributs

Nom Type Description
aggregate Fonction d’agrégation à appliquer si l’attribut instances de counterSet est globalAggregate, multipleAggregate ou globalAggregateHistory. Voici les fonctions d’agrégation possibles que vous pouvez appliquer :
Max
La valeur maximale du compteur est retournée.
Min
La valeur minimale du compteur est retournée.
Avg
La valeur moyenne du compteur est retournée.
Somme
La somme des valeurs de compteur est retournée.
Indéfini
Ne pas agréger ce compteur.
baseID man:UInt32Type Identificateur d’un autre compteur dans le même jeu de compteurs, dont la valeur est utilisée pour calculer la valeur de ce compteur. Les types de compteurs suivants nécessitent un compteur de base :
PERF_AVERAGE_TIMER
Nécessite le compteur de base PERF_AVERAGE_BASE.
PERF_AVERAGE_BULK
Nécessite le compteur de base PERF_AVERAGE_BASE.
PERF_COUNTER_MULTI_TIMER_INV
Nécessite le compteur de base PERF_COUNTER_MULTI_BASE.
PERF_LARGE_RAW_FRACTION
Nécessite le compteur de base PERF_LARGE_RAW_BASE.
PERF_PRECISION_100NS_TIMER
Nécessite le compteur de base PERF_LARGE_RAW_BASE.
PERF_RAW_FRACTION
Nécessite le compteur de base PERF_RAW_BASE.
PERF_SAMPLE_FRACTION
Nécessite le compteur de base PERF_SAMPLE_BASE.
defaultScale Facteur d’échelle à appliquer à la valeur du compteur (facteur * valeur du compteur). La valeur par défaut est zéro si aucune échelle n’est appliquée. Les valeurs valides vont de 10 à 10 (0,000000000001 à 1000000000). Si cette valeur est égale à zéro, la valeur d’échelle est 1 ; si cette valeur est 1, la valeur d’échelle est 10 ; si cette valeur est 1, la valeur d’échelle est .10 ; et ainsi de suite.
description xs:string Brève description du compteur. Vous n’êtes pas obligé de spécifier cet attribut si le compteur inclut l’attribut noDisplay .
detailLevel Spécifie l’audience cible pour les détails du compteur. Les valeurs possibles sont les suivantes :
Standard
Afficher des détails sur le compteur qu’un utilisateur classique comprendrait.
Avancé
Afficher des détails sur le compteur que seul un utilisateur avancé comprendrait.
field man:CSymbolType Nom d’un champ dans le struct qui contient la valeur du compteur. Cet attribut n’est pas autorisé pour les fournisseurs en mode utilisateur.
id man:UInt32Type Nombre unique qui identifie le compteur dans le jeu de compteurs.
multiCounterID man:UInt32Type Identificateur d’un autre compteur au sein du même jeu de compteurs, dont la valeur multiplicateur est utilisée pour calculer la valeur de ce compteur. Les types de compteurs suivants nécessitent une valeur multiplicateur. Le compteur référencé doit être de type PERF_COUNTER_RAWCOUNT.
  • PERF_COUNTER_MULTI_TIMER
  • PERF_COUNTER_MULTI_TIMER_INV
  • PERF_100NSEC_MULTI_TIMER
  • PERF_100NSEC_MULTI_TIMER_INV
name Nom du compteur. Le nom doit être unique et inférieur à 1 024 caractères. Cette valeur respecte la casse. Vous n’êtes pas obligé de spécifier cet attribut si le compteur inclut l’attribut noDisplay .
perfFreqID man:UInt32Type Identificateur d’un autre compteur au sein du même jeu de compteurs, dont la valeur de fréquence est utilisée pour calculer la valeur de ce compteur. Les types de compteurs suivants nécessitent une fréquence. Le type de compteur PERF_COUNTER_LARGE_RAWCOUNT contient la valeur d’horodatage.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
perfTimeID man:UInt32Type Identificateur d’un autre compteur au sein du même jeu de compteurs, dont la valeur d’horodatage est utilisée pour calculer la valeur de ce compteur. Les types de compteurs suivants nécessitent un horodatage. Le type de compteur PERF_COUNTER_LARGE_RAWCOUNT contient la valeur d’horodatage.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
struct man:CSymbolType Nom d’un élément struct qui contient cette valeur de compteur. Cet attribut n’est pas autorisé pour les fournisseurs en mode utilisateur.
symbole man:CSymbolType Nom symbolique qui identifie le compteur. L’outil CTRPP crée une constante que vous pouvez utiliser lors de l’appel de fonctions qui nécessitent un identificateur de compteur (par exemple, PerfIncrementULongCounterValue). Le nom de la constante est le nom symbolique.
type Nom du type de compteur. Pour connaître les valeurs possibles, consultez le bloc de syntaxe ci-dessus. Pour plus d’informations sur chaque type, consultez Types de compteurs dans le Guide de déploiement de Windows 2003. Le nom respecte la casse, utilisez des minuscules.
URI xs:anyURI Identificateur de ressource uniforme unique qui permet aux utilisateurs de récupérer des valeurs de compteur à partir de n’importe quel emplacement.

Notes

Pour assurer la compatibilité descendante, chaque compteur du jeu de compteurs doit spécifier les mêmes valeurs perfFreqID et perfTimeID .

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]