Platform SDK: Performance Monitoring

Performance Counter Key

The table for each performance data time describes the components and formula used to perform the calculation. The following elements are used in the description.

Element Meaning
X Many of the calculations use two data components, such as the raw data and the performance frequency. This describes one component.
Y If a calculation is based on the raw data and another component, such as the performance frequency, this describes the second component
Data Size The number of bytes of the raw data
Display Suffix The result of the calculations may be displayed with a suffix that describes the formatted data units. Possible suffixes are as follows:

/Sec
%
Sec
No suffix

Time base If used in the calculation, the time base converts to units of seconds. If not, it indicates the units.
Calculation Formula that describes how to convert the raw data and other components, such as performance frequency, to result in the formatted counter value.

To help describe the calculations, the following symbols are used.

Symbol Definition
TB Time base. If TB is not used in the calculation, then it indicates the units of the raw data.
B The base value used for calculating performance data types that require base. See Performance Counter Bases.
0,1,n Subscript notation used when calculating with multiple samplings. A 0 refers to the oldest sampling, 1 refers to the more recent sampling, and n refers to the latest sampling. In the case of two data samplings, X1-X0 means to subtract the oldest data sampling value from the more recent data sampling. The symbol, n, may be used alone to indicate the number of samplings. For example, a raw count average is described as the sum of the values divided by the number of samplings, or (X0+X1+…+Xn)/n.

The tables below also include a reference of the performance data value correlating to a symbol. The following table describes the values.

Value Comment
CounterData The raw performance data value.
100Ns The calculation result is in 100-nanosecond units.
100NsTime The performance data sampling time in 100-nanosecond units. This is extracted from the PerfTime100nSec member of the PERF_DATA_BLOCK structure.
PerfTime The sampling time of data collection. This value is taken from the PerfTime member of the PERF_DATA_BLOCK structure. However, if the performance data object is of type PERF_OBJECT_TIMER, then PerfTime is used.
PerfFreq The sampling frequency performance data collection. It is used to convert PerfTime to seconds; for example, PerfTime/PerfFreq = seconds. This value is taken from the PerfFreq member of the PERF_DATA_BLOCK structure. However, if the performance data object is of type PERF_OBJECT_TIMER, then the PerfFreq member is used.

Note  The only performance data type that is of type PERF_OBJECT_TIMER is PERF_ELAPSED_TIME.