计数器复杂类型
定义计数器。
<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 | 列出指定计数器数据在使用者应用程序中的显示方式的唯一属性。 |
属性
名称 | 类型 | 说明 |
---|---|---|
aggregate | 如果 counterSet 的实例属性为 globalAggregate、multipleAggregate 或 globalAggregateHistory,则应用的聚合函数。 以下是可以应用的可能聚合函数:
|
|
baseID | man:UInt32Type | 同一计数器集中另一个计数器的标识符,其值用于计算此计数器的值。 以下计数器类型需要基计数器:
|
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。
|
name | 计数器的名称。 名称必须唯一且少于 1,024 个字符。 该名称区分大小写。 如果计数器包含 noDisplay 属性,则无需指定此属性。 |
|
perfFreqID | man:UInt32Type | 同一计数器集中另一个计数器的标识符,其频率值用于计算此计数器的值。 以下计数器类型需要频率。 PERF_COUNTER_LARGE_RAWCOUNT计数器类型包含时间戳值。
|
perfTimeID | man:UInt32Type | 同一计数器集中另一个计数器的标识符,其时间戳值用于计算此计数器的值。 以下计数器类型需要时间戳。 PERF_COUNTER_LARGE_RAWCOUNT计数器类型包含时间戳值。
|
struct | man:CSymbolType | 包含此计数器值的结构元素的名称。 用户模式提供程序不允许使用此属性。 |
符号 | man:CSymbolType | 标识计数器的符号名称。 CTRPP 工具创建一个常量,在调用需要计数器标识符的函数时可以使用该常量 (例如 PerfIncrementULongCounterValue) 。 常量的名称是符号名称。 |
type | 计数器类型的名称。 有关可能的值,请参阅上面的语法块。 有关每种类型的详细信息,请参阅 Windows 2003 部署指南中的 计数器类型 。 名称区分大小写,请使用小写。 |
|
uri | xs:anyURI | 唯一的统一资源标识符,允许用户从任何位置检索计数器值。 |
备注
若要提供向后兼容性,计数器集中的每个计数器应指定相同的 perfFreqID 和 perfTimeID 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈