计数器复杂类型
定义计数器。
<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>
子元素
属性
名称 |
类型 |
说明 |
aggregate |
如果 counterSet 的实例属性为 globalAggregate、multipleAggregate 或 globalAggregateHistory,则应用的聚合函数。 以下是可以应用的可能聚合函数:
-
麦克斯
- 返回最大计数器值。
-
min
- 返回最小计数器值。
-
Avg
- 返回平均计数器值。
-
和
- 返回计数器值之和。
-
定义
- 不要聚合此计数器。
|
|
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.0000000001 到 10000000000) 。 如果此值为零,则刻度值为 1;如果此值为 1,则缩放值为 10;如果此值为 1,则缩放值为 .10;等等。
|
|
description |
xs:string |
计数器的简短说明。 如果计数器包含 noDisplay 属性,则无需指定此属性。
|
detailLevel |
指定计数器详细信息的目标受众。 下面是可能的值:
-
标准
- 显示典型用户可理解的计数器的详细信息。
-
先进
- 显示只有高级用户才能理解的计数器的详细信息。
|
|
Field — 字段 |
man:CSymbolType |
结构中包含计数器值的字段的名称。 用户模式提供程序不允许使用此属性。
|
id |
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 |
计数器的名称。 名称必须唯一且少于 1,024 个字符。 该名称区分大小写。 如果计数器包含 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) 。 常量的名称是符号名称。
|
type |
计数器类型的名称。 有关可能的值,请参阅上面的语法块。 有关每种类型的详细信息,请参阅 Windows 2003 部署指南中的 计数器类型 。 名称区分大小写,请使用小写。
|
|
uri |
xs:anyURI |
唯一的统一资源标识符,允许用户从任何位置检索计数器值。
|
若要提供向后兼容性,计数器集中的每个计数器应指定相同的 perfFreqID 和 perfTimeID 值。
要求
要求 |
值 |
最低受支持的客户端
|
Windows Vista [仅限桌面应用]
|
最低受支持的服务器
|
Windows Server 2008 [仅限桌面应用]
|