сложный тип счетчика

Определяет счетчик.

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

Дочерние элементы

Элемент Тип Описание
counterAttributes man:counterAttributes Список уникальных атрибутов, определяющих способ отображения данных счетчика в приложении-получателе.

Атрибуты

Имя Тип Описание
статистическое выражение Агрегатная функция, применяемая, если атрибут экземпляровcounterSet имеет значение globalAggregate, multipleAggregate или globalAggregateHistory. Ниже приведены возможные статистические функции, которые можно применить.
Макс
Возвращается максимальное значение счетчика.
Мин
Возвращается минимальное значение счетчика.
Средняя
Возвращается среднее значение счетчика.
Сумма
Возвращается сумма значений счетчика.
Неопределенный
Не агрегировать этот счетчик.
baseID man:UInt32Type Идентификатор другого счетчика в том же наборе счетчиков, значение которого используется для вычисления значения этого счетчика. Для следующих типов счетчиков требуется базовый счетчик:
PERF_AVERAGE_TIMER
Требуется базовый счетчик PERF_AVERAGE_BASE.
PERF_AVERAGE_BULK
Требуется базовый счетчик PERF_AVERAGE_BASE.
PERF_COUNTER_MULTI_TIMER_INV
Требуется базовый счетчик PERF_COUNTER_MULTI_BASE.
PERF_LARGE_RAW_FRACTION
Требуется базовый счетчик PERF_LARGE_RAW_BASE.
PERF_PRECISION_100NS_TIMER
Требуется базовый счетчик PERF_LARGE_RAW_BASE.
PERF_RAW_FRACTION
Требуется базовый счетчик PERF_RAW_BASE.
PERF_SAMPLE_FRACTION
Требуется базовый счетчик PERF_SAMPLE_BASE.
defaultScale Коэффициент масштабирования, применяемый к значению счетчика (фактор * значение счетчика). Значение по умолчанию равно нулю, если масштабирование не применяется. Допустимые значения варьируются от 10 до 10 (от 0,00000000001 до 1000000000). Если это значение равно нулю, значение шкалы равно 1; Если это значение равно 1, масштаб равно 10; Если это значение равно 1, значение шкалы равно 0,10; и так далее.
description xs:string Краткое описание счетчика. Не нужно указывать этот атрибут, если счетчик включает атрибут noDisplay .
detailLevel Указывает целевую аудиторию для сведений счетчика. Допустимы следующие значения:
Стандартный
Отображение сведений о счетчике, понятных обычному пользователю.
Дополнительные
Отображение сведений о счетчике, понятных только опытным пользователям.
поле man:CSymbolType Имя поля в структуре, содержащей значение счетчика. Этот атрибут не разрешен для поставщиков пользовательского режима.
идентификатор man:UInt32Type Уникальное число, определяющее счетчик в наборе счетчиков.
multiCounterID man:UInt32Type Идентификатор другого счетчика в том же наборе счетчиков, значение множителя которого используется для вычисления значения этого счетчика. Для следующих типов счетчиков требуется значение множителя. Указанный счетчик должен иметь тип PERF_COUNTER_RAWCOUNT.
  • PERF_COUNTER_MULTI_TIMER
  • PERF_COUNTER_MULTI_TIMER_INV
  • PERF_100NSEC_MULTI_TIMER
  • PERF_100NSEC_MULTI_TIMER_INV
name Имя счетчика. Имя должно быть уникальным и содержать менее 1024 символов. В нем учитывается регистр. Не нужно указывать этот атрибут, если счетчик включает атрибут noDisplay .
perfFreqID man:UInt32Type Идентификатор другого счетчика в том же наборе счетчиков, значение частоты которого используется для вычисления значения этого счетчика. Для следующих типов счетчиков требуется частота. Тип счетчика PERF_COUNTER_LARGE_RAWCOUNT содержит значение метки времени.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
perfTimeID man:UInt32Type Идентификатор другого счетчика в том же наборе счетчиков, значение метки времени которого используется для вычисления значения этого счетчика. Для следующих типов счетчиков требуется метка времени. Тип счетчика PERF_COUNTER_LARGE_RAWCOUNT содержит значение метки времени.
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
struct man:CSymbolType Имя элемента структуры, содержащего это значение счетчика. Этот атрибут не разрешен для поставщиков пользовательского режима.
символ man:CSymbolType Символьное имя, идентифицирующее счетчик. Средство CTRPP создает константу, которую можно использовать при вызове функций, требующих идентификатора счетчика (например, PerfIncrementULongCounterValue). Имя константы является символическим именем.
тип Имя типа счетчика. Возможные значения см. в приведенном выше блоке синтаксиса. Дополнительные сведения о каждом типе см. в разделе Типы счетчиков в руководстве по развертыванию Windows 2003. В имени учитывается регистр, используйте нижний регистр.
uri xs:anyURI Уникальный универсальный идентификатор ресурса, который позволяет пользователям получать значения счетчиков из любого расположения.

Комментарии

Чтобы обеспечить обратную совместимость, каждый счетчик в наборе счетчиков должен указывать одинаковые значения perfFreqID и perfTimeID .

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]