counterSet Element

Use the counterSet element to define a counter set that logically groups one or more counters.

Usage

<counterSet
  guid = "GUID"
  symbol = "String"
  uri = "String"
  name = "String"
  description = "String"
  instances = "String"
>
  child elements
</counterSet>

Attributes

Attribute Type Required Description

description

String

Yes

Short description of the counter set.

guid

GUID

Yes

GUID that uniquely identifies the counter set. The counter set registration fails if the GUID is already registered. To update a counter set that is registered, you must first uninstall the counter set and then register it again.

instances

String

No

Determines if the counter set can contain multiple instances.

Possible values include:

single

Defines a counter set where only one instance of the counters in the counter set can exist. Specify this value if the counters provide system-wide measurements, such as physical memory. This is the default.

multiple

Defines a counter set where multiple instances of the counters in the counter set can exist. Specify this value if the counters provide per instance measurements, such as processor time per process.

globalAggregate

Defines a single instance counter set where the counters in the counter set must be aggregated from various active sources. For example, you could create a counter set that contains a counter that counts the number of disk reads for a hard disk. If the computer has three hard disks and a consumer queries for the number of disk reads, PERFLIB will obtain the number of reads from each disk and sum their individual values.

multipleAggregate

Defines a multiple instance counter set where the counters in the counter set must be aggregated across all instances of that counter. For example, you could create a counter set for a multi-threaded application that contains a counter that measures thread performance (each thread would refer to an instance of the counter set). When a consumer queries the total thread execution time counter, PERFLIB will sum the total thread execution time from each instance.

globalAggregateHistory

Defines a single instance counter set whose counter values are cached for the lifetime of the consumer. Note that all counters in the counter set are cached. To cache only specific counters, decorate those counters with the history attribute.

Using the disk read example from globalAggregate, all counter values in the counter set would be cached. If one disk became unavailable, the last cached value for total bytes read by that disk would still be available to the consumer application.

name

String

Yes

Display name of the counter set. Must be less than 1,024 characters. The name is case-sensitive.

symbol

String

Yes

A symbolic name that identifies the counter set. The CTRPP tool creates a GUID variable that you can use when calling functions that require the counter set GUID (for example, PerfCreateInstance). The variable name is of the form, symbolicnameGuid.

If you include the -prefix argument when calling CTRPP, the prefix string is added to the beginning of the symbolic name.

Windows 7:  Not supported

uri

String

Yes

Unique uniform resource identifier that lets users access the counters in the counter set from any location.

Child Elements

Element Description

counter

Defines a counter that the provider provides.

Child Element Sequence

counter+

Parent Elements

Element Description

provider

Groups one or more counter sets that the provider provides.

Element Information

Can be empty No

Send comments about this topic to Microsoft

Build date: 10/15/2009