counter Complex Type

Define un contador.

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

Elementos secundarios

Elemento Tipo Descripción
counterAttributes man:counterAttributes Enumera los atributos únicos que especifican cómo se muestran los datos del contador en una aplicación de consumidor.

Atributos

Nombre Tipo Descripción
aggregate La función de agregación que se va a aplicar si el atributo instances de counterSet es globalAggregate, multipleAggregate o globalAggregateHistory. A continuación se muestran las posibles funciones de agregación que puede aplicar:
máximo
Se devuelve el valor máximo del contador.
Min
Se devuelve el valor de contador mínimo.
Avg
Se devuelve el valor promedio del contador.
Suma
Se devuelve la suma de los valores de contador.
Indefinido
No agregue este contador.
baseID man:UInt32Type Identificador de otro contador dentro del mismo conjunto de contadores, cuyo valor se usa para calcular el valor de este contador. Los siguientes tipos de contador requieren un contador base:
PERF_AVERAGE_TIMER
Requiere el contador base PERF_AVERAGE_BASE.
PERF_AVERAGE_BULK
Requiere el contador base PERF_AVERAGE_BASE.
PERF_COUNTER_MULTI_TIMER_INV
Requiere el contador base PERF_COUNTER_MULTI_BASE.
PERF_LARGE_RAW_FRACTION
Requiere el contador base PERF_LARGE_RAW_BASE.
PERF_PRECISION_100NS_TIMER
Requiere el contador base PERF_LARGE_RAW_BASE.
PERF_RAW_FRACTION
Requiere el contador base PERF_RAW_BASE.
PERF_SAMPLE_FRACTION
Requiere el contador base PERF_SAMPLE_BASE.
defaultScale Factor de escala que se va a aplicar al valor del contador (factor * valor del contador). El valor predeterminado es cero si no se aplica ninguna escala. Los valores válidos van de 10 a 10 (0,0000000001 a 1000000000). Si este valor es cero, el valor de escala es 1; si este valor es 1, el valor de escala es 10; si este valor es 1, el valor de escala es .10; y así sucesivamente.
description xs:string Una breve descripción del contador. No es necesario especificar este atributo si el contador incluye el atributo noDisplay .
detailLevel Especifica la audiencia de destino para los detalles del contador. Los posibles valores son los siguientes:
Estándar
Mostrar detalles sobre el contador que un usuario típico entendería.
Avanzada
Mostrar detalles sobre el contador que solo un usuario avanzado entendería.
campo man:CSymbolType Nombre de un campo dentro de la estructura que contiene el valor del contador. Este atributo no está permitido para los proveedores en modo de usuario.
id man:UInt32Type Número único que identifica el contador dentro del conjunto de contadores.
multiCounterID man:UInt32Type Identificador de otro contador dentro del mismo conjunto de contadores, cuyo valor multiplicador se usa para calcular el valor de este contador. Los siguientes tipos de contador requieren un valor multiplicador. El contador al que se hace referencia debe ser de tipo PERF_COUNTER_RAWCOUNT.
  • PERF_COUNTER_MULTI_TIMER
  • PERF_COUNTER_MULTI_TIMER_INV
  • PERF_100NSEC_MULTI_TIMER
  • PERF_100NSEC_MULTI_TIMER_INV
name Nombre del contador. El nombre debe ser único y inferior a 1024 caracteres. El nombre distingue mayúsculas de minúsculas. No es necesario especificar este atributo si el contador incluye el atributo noDisplay .
perfFreqID man:UInt32Type Identificador de otro contador dentro del mismo conjunto de contadores, cuyo valor de frecuencia se usa para calcular el valor de este contador. Los siguientes tipos de contador requieren una frecuencia. El tipo de contador PERF_COUNTER_LARGE_RAWCOUNT contiene el valor de marca de tiempo.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
perfTimeID man:UInt32Type Identificador de otro contador dentro del mismo conjunto de contadores, cuyo valor de marca de tiempo se usa para calcular el valor de este contador. Los siguientes tipos de contador requieren una marca de tiempo. El tipo de contador PERF_COUNTER_LARGE_RAWCOUNT contiene el valor de marca de tiempo.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
struct man:CSymbolType Nombre de un elemento struct que contiene este valor de contador. Este atributo no está permitido para los proveedores en modo de usuario.
símbolo man:CSymbolType Nombre simbólico que identifica el contador. La herramienta CTRPP crea una constante que puede usar al llamar a funciones que requieren un identificador de contador (por ejemplo, PerfIncrementULongCounterValue). El nombre de la constante es el nombre simbólico.
type Nombre del tipo de contador. Para conocer los valores posibles, consulte el bloque de sintaxis anterior. Para obtener más información sobre cada tipo, vea Tipos de contadores en la Guía de implementación de Windows 2003. El nombre distingue mayúsculas de minúsculas.
uri xs:anyURI Identificador uniforme de recursos único que permite a los usuarios recuperar valores de contador de cualquier ubicación.

Comentarios

Para proporcionar compatibilidad con versiones anteriores, cada contador del conjunto de contadores debe especificar los mismos valores perfFreqID y perfTimeID .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]