This section lists the types of performance counters and the calculations that the Performance Monitor uses to convert the raw data to the information you would expect from the counter name. The counter types and calculations are defined in winperf.h. For the calculations, the following key applies:
Symbol | Definition |
---|---|
N | Numerator |
D | Denominator |
TB | Time base (indicates the units of raw data if not used in calculation) |
B | Base count (number of entries) |
N0 | Oldest or first sample taken (of the numerator in this case; D0 would be of the denominator) |
N1 | More recent sample |
Nx | Most recent sample in calculation array (for average calculation) |
PERF_100NSEC_MULTI_TIMER Timer for when multiple instances are in use, so the result can exceed 100%. The number of instances is in the next counter.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | 100NsTime |
Time base | 100Ns |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_100NSEC_MULTI_TIMER_INV The inverse of the timer for multiple instances (when the object is not in use).
Element | Value |
---|---|
Numerator | CounterData |
Denominator | 100NsTime |
Time base | 100Ns |
Calculation | (B-((N1-N0)/(D1-D0))) |
Average function | (B-((Nx-N0)/(Dx-D0))) |
PERF_100NSEC_TIMER Timer for when the object is in use.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | 100NsTime |
Time base | 100Ns |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_100NSEC_TIMER_INV The inverse of the timer (when the object is not in use).
Element | Value |
---|---|
Numerator | CounterData |
Denominator | 100NsTime |
Time base | 100Ns |
Calculation | (1-((N1-N0)/(D1-D0))) |
Average function | (1-((Nx-N0)/(Dx-D0))) |
PERF_AVERAGE_BASE Used as the denominator in the computation of time or count averages.
Element | Value |
---|---|
Numerator | N/A |
Denominator | N/A |
Time base | N/A |
Calculation | N/A |
Average function | N/A |
PERF_AVERAGE_BULK A count which usually gives the bytes per operation when divided by the number of operations.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | BaseData |
Time base | N/A |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_AVERAGE_TIMER A timer which usually gives time per operation when divided by the number of operations.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | BaseData |
Time base | PerfFreq |
Calculation | ((N1-N0)/TB)/(D1-D0) |
Average function | ((Nx-N0)/TB)/(Dx-D0) |
PERF_COUNTER_BULK_COUNT Used to count byte transmission rates.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/((D1-D0)/TB) |
Average function | (Nx-N0)/((Dx-D0)/TB) |
PERF_COUNTER_COUNTER Rate of counts. The most common counter.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/((D1-D0)/TB) |
Average function | (Nx-N0)/((Dx-D0)/TB) |
PERF_COUNTER_DELTA Difference between two counters.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N1-N0) |
Average function | (Nx-N0)/x |
PERF_COUNTER_LARGE_DELTA Difference between two counters.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N1-N0) |
Average function | (Nx-N0)/x |
PERF_COUNTER_LARGE_QUEUELEN_TYPE Average count per time interval.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_COUNTER_LARGE_RAWCOUNT Instantaneous counter value.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N0) |
Average function | SUM(N)/x |
PERF_COUNTER_LARGE_RAWCOUNT_HEX Instantaneous counter value, as a hexadecimal number.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N0) |
Average function | SUM(N)/x |
PERF_COUNTER_MULTI_BASE Base for MULTI counters.
Element | Value |
---|---|
Numerator | N/A |
Denominator | N/A |
Time base | N/A |
Calculation | N/A |
Average function | N/A |
PERF_COUNTER_MULTI_TIMER Timer for when multiple instances are in use, so the result can exceed 100%. The number of instances is in the next counter.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_COUNTER_MULTI_TIMER_INV The inverse of the timer for multiple instances (when the object is not in use).
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (B-((N1-N0)/(D1-D0))) |
Average function | (B-((Nx-N0)/(Dx-D0))) |
PERF_COUNTER_NODATA There is no data for this counter.
Element | Value |
---|---|
Numerator | 0 |
Denominator | N/A |
Time base | N/A |
Calculation | 0 |
Average function | 0 |
PERF_COUNTER_QUEUELEN_TYPE Average count per time interval.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_COUNTER_RAWCOUNT Instantaneous counter value.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N0) |
Average function | SUM(N)/x |
PERF_COUNTER_RAWCOUNT_HEX Instantaneous counter value, as a hexadecimal number.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | N/A |
Time base | N/A |
Calculation | (N0) |
Average function | SUM(N)/x |
PERF_COUNTER_TEXT Indicates the data is not a counter, but is Unicode text.
Element | Value |
---|---|
Numerator | N/A |
Denominator | N/A |
Time base | N/A |
Calculation | N/A |
Average function | N/A |
PERF_COUNTER_TIMER The most common timer.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |
PERF_COUNTER_TIMER_INV The inverse of the timer (when the object is not in use).
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (1-((N1-N0)/(D1-D0))) |
Average function | (1-((Nx-N0)/(Dx-D0))) |
PERF_ELAPSED_TIME The data is the start time of the item being measured. For display, subtract the start time from the snapshot time to yield the elapsed time. The PerfTime member of the PERF_OBJECT_TYPE structure contains the sample time. Use the PerfFreq member of the PERF_OBJECT_TYPE structure to convert the time into seconds.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | ObjectTime |
Time base | ObjectFreq |
Calculation | (D0-N0)/TB |
Average function | (Dx-N0)/TB |
PERF_RAW_BASE Used as a base. Check that this value is greater than zero before dividing.
Element | Value |
---|---|
Numerator | N/A |
Denominator | N/A |
Time base | N/A |
Calculation | N/A |
Average function | N/A |
PERF_RAW_FRACTION Instantaneous value, to be divided by the base.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | BaseData |
Time base | N/A |
Calculation | (N0/D0) |
Average function | SUM(N/D)/x |
PERF_SAMPLE_BASE Used as a base. Check that this value is greater than zero before dividing.
Element | Value |
---|---|
Numerator | N/A |
Denominator | N/A |
Time base | N/A |
Calculation | N/A |
Average function | N/A |
PERF_SAMPLE_COUNTER A count that is sampled on each sampling interrupt. Must be divided by the base.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | PerfTime |
Time base | PerfFreq |
Calculation | (N1-N0)/((D1-D0)/TB) |
Average function | (Nx-N0)/((Dx-D0)/TB) |
PERF_SAMPLE_FRACTION A count that is either 1 or 0 on each sampling interrupt.
Element | Value |
---|---|
Numerator | CounterData |
Denominator | BaseData |
Time base | N/A |
Calculation | (N1-N0)/(D1-D0) |
Average function | (Nx-N0)/(Dx-D0) |