Condividi tramite


tipo complesso del contatore

Definisce un contatore.

<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>

Elementi figlio

Elemento Tipo Descrizione
counterAttributes man:counterAttributes Elenca gli attributi univoci che specificano la modalità di visualizzazione dei dati del contatore in un'applicazione consumer.

Attributi

Nome Tipo Descrizione
aggregate Funzione di aggregazione da applicare se l'attributo istanze di counterSet è globalAggregate, multipleAggregate o globalAggregateHistory. Di seguito sono riportate le possibili funzioni di aggregazione che è possibile applicare:
Massimo
Viene restituito il valore massimo del contatore.
Minimo
Viene restituito il valore minimo del contatore.
Media
Viene restituito il valore medio del contatore.
Somma
Viene restituita la somma dei valori del contatore.
Indefinito
Non aggregare questo contatore.
baseID man:UInt32Type Identificatore di un altro contatore all'interno dello stesso set di contatori, il cui valore viene usato per calcolare il valore di questo contatore. I tipi di contatore seguenti richiedono un contatore di base:
PERF_AVERAGE_TIMER
Richiede il contatore di base PERF_AVERAGE_BASE.
PERF_AVERAGE_BULK
Richiede il contatore di base PERF_AVERAGE_BASE.
PERF_COUNTER_MULTI_TIMER_INV
Richiede il contatore di base PERF_COUNTER_MULTI_BASE.
PERF_LARGE_RAW_FRACTION
Richiede il contatore di base PERF_LARGE_RAW_BASE.
PERF_PRECISION_100NS_TIMER
Richiede il contatore di base PERF_LARGE_RAW_BASE.
PERF_RAW_FRACTION
Richiede il contatore di base PERF_RAW_BASE.
PERF_SAMPLE_FRACTION
Richiede il contatore di base PERF_SAMPLE_BASE.
defaultScale Fattore di scala da applicare al valore del contatore (fattore * valore contatore). Il valore predefinito è zero se non viene applicata alcuna scala. I valori validi vanno da 10 a 10 (0,000000000001 a 10000000000). Se questo valore è zero, il valore di scala è 1; se questo valore è 1, il valore di scala è 10; se questo valore è 1, il valore di scala è .10; E così via.
description xs:string Breve descrizione del contatore. Non è necessario specificare questo attributo se il contatore include l'attributo noDisplay .
detailLevel Specifica il pubblico di destinazione per i dettagli del contatore. Di seguito sono indicati i valori possibili:
Standard
Visualizzare i dettagli sul contatore che un utente tipico avrebbe compreso.
Avanzate
Visualizzare i dettagli sul contatore che solo un utente avanzato avrebbe compreso.
campo man:CSymbolType Nome di un campo all'interno dello struct contenente il valore del contatore. Questo attributo non è consentito per i provider in modalità utente.
id man:UInt32Type Numero univoco che identifica il contatore all'interno del set di contatori.
multiCounterID man:UInt32Type Identificatore di un altro contatore all'interno dello stesso set di contatori, il cui valore moltiplicatore viene usato per calcolare il valore del contatore. I tipi di contatore seguenti richiedono un valore moltiplicatore. Il contatore a cui si fa riferimento deve essere di tipo PERF_COUNTER_RAWCOUNT.
  • PERF_COUNTER_MULTI_TIMER
  • PERF_COUNTER_MULTI_TIMER_INV
  • PERF_100NSEC_MULTI_TIMER
  • PERF_100NSEC_MULTI_TIMER_INV
name Nome del contatore. Il nome deve essere univoco e minore di 1.024 caratteri. Per il nome è prevista la distinzione tra maiuscole e minuscole. Non è necessario specificare questo attributo se il contatore include l'attributo noDisplay .
perfFreqID man:UInt32Type Identificatore di un altro contatore all'interno dello stesso set di contatori, il cui valore di frequenza viene usato per calcolare il valore del contatore. I tipi di contatore seguenti richiedono una frequenza. Il tipo di contatore PERF_COUNTER_LARGE_RAWCOUNT contiene il valore del timestamp.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
perfTimeID man:UInt32Type Identificatore di un altro contatore all'interno dello stesso set di contatori, il cui valore timestamp viene usato per calcolare il valore del contatore. I tipi di contatore seguenti richiedono un timestamp. Il tipo di contatore PERF_COUNTER_LARGE_RAWCOUNT contiene il valore del timestamp.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
struct man:CSymbolType Nome di un elemento struct che contiene questo valore del contatore. Questo attributo non è consentito per i provider in modalità utente.
simbolo man:CSymbolType Nome simbolico che identifica il contatore. Lo strumento CTRPP crea una costante che è possibile usare quando si chiamano funzioni che richiedono un identificatore di contatore, ad esempio PerfIncrementULongCounterValue. Il nome della costante è il nome simbolico.
tipo Nome del tipo di contatore. Per i valori possibili, vedere il blocco di sintassi precedente. Per informazioni dettagliate su ogni tipo, vedere Tipi di contatori nella Guida alla distribuzione di Windows 2003. Il nome fa distinzione tra maiuscole e minuscole.
Uri xs:anyURI Identificatore univoco delle risorse uniformi che consente agli utenti di recuperare i valori dei contatori da qualsiasi posizione.

Commenti

Per garantire la compatibilità con le versioni precedenti, ogni contatore nel set di contatori deve specificare gli stessi valori perfFreqID e perfTimeID .

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]