System.Diagnostics.PerformanceCounter
Defines the counter type, name, and Help string for a custom counter.
Initializes a new instance of the class, to a counter of type , and with empty name and help strings.
Initializes a new instance of the class, to a counter of the specified type, using the specified counter name and Help strings.
The name of the counter, which must be unique within its category.
The text that describes the counter's behavior.
A that identifies the counter's behavior.
You have specified a value for that is not a member of the enumeration.
is .
Gets or sets the custom counter's description.
The text that describes the counter's behavior.
The specified value is .
Gets or sets the name of the custom counter.
A name for the counter, which is unique in its category.
The specified value is .
The specified value is not between 1 and 80 characters long or contains double quotes, control characters or leading or trailing spaces.
Gets or sets the performance counter type of the custom counter.
A that defines the behavior of the performance counter.
You have specified a type that is not a member of the enumeration.
Provides a strongly typed collection of objects.
Initializes a new instance of the class, with no associated instances.
Initializes a new instance of the class by using the specified array of instances.
An array of instances with which to initialize this .
is .
Initializes a new instance of the class by using the specified collection of instances.
A that holds instances with which to initialize this .
is .
Adds an instance of the class to the collection.
A object to append to the existing collection.
The index of the new object.
is .
is not a object.
Adds the specified array of instances to the collection.
An array of instances to append to the existing collection.
is .
Adds the specified collection of instances to the collection.
A collection of instances to append to the existing collection.
is .
Determines whether a instance exists in the collection.
The object to find in the collection.
if the specified object exists in the collection; otherwise, .
Copies the elements of the to an array, starting at the specified index of the array.
An array of instances to add to the collection.
The location at which to add the new instances.
is .
is less than 0.
The number of elements in the is greater than the available space from to the end of the destination array.
Returns the index of a object in the collection.
The object to locate in the collection.
The zero-based index of the specified , if it is found, in the collection; otherwise, -1.
Inserts a object into the collection, at the specified index.
The zero-based index of the location at which the is to be inserted.
The to insert into the collection.
is .
is not a object.
is less than 0.
-or-
is greater than the number of items in the collection.
Indexes the collection.
An index into the .
The collection index, which is used to access individual elements of the collection.
is less than 0.
-or-
is equal to or greater than the number of items in the collection.
Checks the specified object to determine whether it is a valid type.
The object that will be validated.
is .
is not a object.
Removes a object from the collection.
The to remove from the collection.
is .
is not a object.
-or-
does not exist in the collection.
Defines a structure that holds the raw data for a performance counter.
Initializes a new instance of the structure and sets the property to 0 (zero).
The numeric value associated with the performance counter sample.
An optional, base raw value for the counter, to use only if the sample is based on multiple counters.
The frequency with which the counter is read.
The frequency with which the system reads from the counter.
The raw time stamp.
The raw, high-fidelity time stamp.
A object that indicates the type of the counter for which this sample is a snapshot.
Initializes a new instance of the structure and sets the property to the value that is passed in.
The numeric value associated with the performance counter sample.
An optional, base raw value for the counter, to use only if the sample is based on multiple counters.
The frequency with which the counter is read.
The frequency with which the system reads from the counter.
The raw time stamp.
The raw, high-fidelity time stamp.
A object that indicates the type of the counter for which this sample is a snapshot.
The time at which the sample was taken.
Gets an optional, base raw value for the counter.
The base raw value, which is used only if the sample is based on multiple counters.
Calculates the performance data of the counter, using a single sample point. This method is generally used for uncalculated performance counter types.
The structure to use as a base point for calculating performance data.
The calculated performance value.
Calculates the performance data of the counter, using two sample points. This method is generally used for calculated performance counter types, such as averages.
The structure to use as a base point for calculating performance data.
The structure to use as an ending point for calculating performance data.
The calculated performance value.
Gets the raw counter frequency.
The frequency with which the counter is read.
Gets the counter's time stamp.
The time at which the sample was taken.
Gets the performance counter type.
A object that indicates the type of the counter for which this sample is a snapshot.
Defines an empty, uninitialized performance counter sample of type .
Indicates whether the specified structure is equal to the current structure.
The structure to be compared with this instance.
if is equal to the current instance; otherwise, .
Indicates whether the specified structure is a structure and is identical to the current structure.
The structure to be compared with the current structure.
if is a structure and is identical to the current instance; otherwise, .
Gets a hash code for the current counter sample.
A hash code for the current counter sample.
Returns a value that indicates whether two structures are equal.
A structure.
Another structure to be compared to the structure specified by the parameter.
if and are equal; otherwise, .
Returns a value that indicates whether two structures are not equal.
A structure.
Another structure to be compared to the structure specified by the parameter.
if and are not equal; otherwise,
Gets the raw value of the counter.
The numeric value that is associated with the performance counter sample.
Gets the raw system frequency.
The frequency with which the system reads from the counter.
Gets the raw time stamp.
The system time stamp.
Gets the raw, high-fidelity time stamp.
The system time stamp, represented within 0.1 millisecond.
Provides a set of utility functions for interpreting performance counter data.
Computes the calculated value of a single raw counter sample.
A that indicates the most recent sample the system has taken.
A floating-point representation of the performance counter's calculated value.
Computes the calculated value of two raw counter samples.
A that indicates a previous sample the system has taken.
A that indicates the most recent sample the system has taken.
A floating-point representation of the performance counter's calculated value.
uses a counter type that is different from .
counter type has a Performance Data Helper (PDH) error. For more information, see "Checking PDH Interface Return Values" in the Win32 and COM Development section of this documentation.
Prepares performance data for the performance DLL the system loads when working with performance counters.
Called by the performance DLL's close performance data function.
Collects the performance data for the performance DLL.
The call index.
A pointer to a Unicode string list with the requested object identifiers.
A pointer to the data buffer.
A pointer to a number of bytes.
When this method returns, contains a to the first byte after the data, -1 for an error, or -2 if a larger buffer is required. This parameter is passed uninitialized.
Holds instance data associated with a performance counter sample.
Initializes a new instance of the InstanceData class, using the specified sample and performance counter instance.
The name of an instance associated with the performance counter.
A taken from the instance specified by the parameter.
Gets the instance name associated with this instance data.
The name of an instance associated with the performance counter.
Gets the raw data value associated with the performance counter sample.
The raw value read by the performance counter sample associated with the property.
Gets the performance counter sample that generated this data.
A taken from the instance specified by the property.
Provides a strongly typed collection of objects.
Initializes a new instance of the class, using the specified performance counter (which defines a performance instance).
The name of the counter, which often describes the quantity that is being counted.
The parameter is .
Determines whether a performance instance with a specified name (identified by one of the indexed objects) exists in the collection.
The name of the instance to find in this collection.
if the instance exists in the collection; otherwise, .
The parameter is .
Copies the items in the collection to the specified one-dimensional array at the specified index.
The one-dimensional that is the destination of the values copied from the collection.
The zero-based index value at which to add the new instances.
Gets the name of the performance counter whose instance data you want to get.
The performance counter name.
Gets the instance data associated with this counter. This is typically a set of raw counter values.
The name of the performance counter category instance, or an empty string ("") if the category contains a single instance.
An item, by which the object is indexed.
The parameter is .
Gets the object and counter registry keys for the objects associated with this instance data.
An that represents a set of object-specific registry keys.
Gets the raw counter values that comprise the instance data for the counter.
An that represents the counter's raw data values.
Provides a strongly typed collection of objects.
Initializes a new instance of the class.
Determines whether an instance data collection for the specified counter (identified by one of the indexed objects) exists in the collection.
The name of the performance counter.
if an instance data collection containing the specified counter exists in the collection; otherwise, .
The parameter is .
Copies an array of instances to the collection, at the specified index.
An array of instances (identified by the counters they contain) to add to the collection.
The location at which to add the new instances.
Gets the instance data for the specified counter.
The name of the performance counter.
An item, by which the object is indexed.
The parameter is .
Gets the object and counter registry keys for the objects associated with this instance data collection.
An that represents a set of object-specific registry keys.
Gets the instance data values that comprise the collection of instances for the counter.
An that represents the counter's instances and their associated data values.
Represents a Windows NT performance counter component.
Initializes a new, read-only instance of the class, without associating the instance with any system or custom performance counter.
Initializes a new, read-only instance of the class and associates it with the specified system or custom performance counter on the local computer. This constructor requires that the category have a single instance.
The name of the performance counter category (performance object) with which this performance counter is associated.
The name of the performance counter.
is an empty string ("").
-or-
is an empty string ("").
-or-
The category specified does not exist.
-or-
The category specified is marked as multi-instance and requires the performance counter to be created with an instance name.
-or-
and have been localized into different languages.
or is .
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Initializes a new, read-only or read/write instance of the class and associates it with the specified system or custom performance counter on the local computer. This constructor requires that the category contain a single instance.
The name of the performance counter category (performance object) with which this performance counter is associated.
The name of the performance counter.
to access the counter in read-only mode (although the counter itself could be read/write); to access the counter in read/write mode.
The is an empty string ("").
-or-
The is an empty string ("").
-or-
The category specified does not exist. (if is ).
-or-
The category specified is not a .NET Framework custom category (if is ).
-or-
The category specified is marked as multi-instance and requires the performance counter to be created with an instance name.
-or-
and have been localized into different languages.
or is .
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Initializes a new, read-only instance of the class and associates it with the specified system or custom performance counter and category instance on the local computer.
The name of the performance counter category (performance object) with which this performance counter is associated.
The name of the performance counter.
The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.
is an empty string ("").
-or-
is an empty string ("").
-or-
The category specified is not valid.
-or-
The category specified is marked as multi-instance and requires the performance counter to be created with an instance name.
-or-
is longer than 127 characters.
-or-
and have been localized into different languages.
or is .
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Initializes a new, read-only or read/write instance of the class and associates it with the specified system or custom performance counter and category instance on the local computer.
The name of the performance counter category (performance object) with which this performance counter is associated.
The name of the performance counter.
The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.
to access a counter in read-only mode; to access a counter in read/write mode.
is an empty string ("").
-or-
is an empty string ("").
-or-
The read/write permission setting requested is invalid for this counter.
-or-
The category specified does not exist (if is ).
-or-
The category specified is not a .NET Framework custom category (if is ).
-or-
The category specified is marked as multi-instance and requires the performance counter to be created with an instance name.
-or-
is longer than 127 characters.
-or-
and have been localized into different languages.
or is .
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Initializes a new, read-only instance of the class and associates it with the specified system or custom performance counter and category instance, on the specified computer.
The name of the performance counter category (performance object) with which this performance counter is associated.
The name of the performance counter.
The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.
The computer on which the performance counter and its associated category exist.
is an empty string ("").
-or-
is an empty string ("").
-or-
The read/write permission setting requested is invalid for this counter.
-or-
The counter does not exist on the specified computer.
-or-
The category specified is marked as multi-instance and requires the performance counter to be created with an instance name.
-or-
is longer than 127 characters.
-or-
and have been localized into different languages.
The parameter is not valid.
or is .
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Begins the initialization of a instance used on a form or by another component. The initialization occurs at runtime.
Gets or sets the name of the performance counter category for this performance counter.
The name of the performance counter category (performance object) with which this performance counter is associated.
The is .
Closes the performance counter and frees all the resources allocated by this performance counter instance.
Frees the performance counter library shared state allocated by the counters.
Gets the description for this performance counter.
A description of the item or quantity that this performance counter measures.
The instance is not associated with a performance counter.
-or-
The property is set to when using global shared memory.
Code that is executing without administrative privileges attempted to read a performance counter.
Gets or sets the name of the performance counter that is associated with this instance.
The name of the counter, which generally describes the quantity being counted. This name is displayed in the list of counters of the Performance Counter Manager MMC snap in's Add Counters dialog box.
The is .
Gets the counter type of the associated performance counter.
A that describes both how the counter interacts with a monitoring application and the nature of the values it contains (for example, calculated or uncalculated).
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
Code that is executing without administrative privileges attempted to read a performance counter.
Decrements the associated performance counter by one through an efficient atomic operation.
The decremented counter value.
The counter is read-only, so the application cannot decrement it.
-or-
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Specifies the size, in bytes, of the global memory shared by performance counters. The default size is 524,288 bytes.
Ends the initialization of a instance that is used on a form or by another component. The initialization occurs at runtime.
Increments the associated performance counter by one through an efficient atomic operation.
The incremented counter value.
The counter is read-only, so the application cannot increment it.
-or-
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Increments or decrements the value of the associated performance counter by a specified amount through an efficient atomic operation.
The value to increment by. (A negative value decrements the counter.)
The new counter value.
The counter is read-only, so the application cannot increment it.
-or-
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Gets or sets the lifetime of a process.
One of the values. The default is .
The value set is not a member of the enumeration.
is set after the has been initialized.
Gets or sets an instance name for this performance counter.
The name of the performance counter category instance, or an empty string (""), if the counter is a single-instance counter.
Gets or sets the computer name for this performance counter.
The server on which the performance counter and its associated category reside.
The format is invalid.
Obtains a counter sample, and returns the raw, or uncalculated, value for it.
A that represents the next raw value that the system obtains for this counter.
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Obtains a counter sample and returns the calculated value for it.
The next calculated value that the system obtains for this counter.
The instance is not correctly associated with a performance counter.
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Gets or sets the raw, or uncalculated, value of this counter.
The raw value of the counter.
You are trying to set the counter's raw value, but the counter is read-only.
-or-
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Code that is executing without administrative privileges attempted to read a performance counter.
Gets or sets a value indicating whether this instance is in read-only mode.
, if the instance is in read-only mode (even if the counter itself is a custom .NET Framework counter); if it is in read/write mode. The default is the value set by the constructor.
Deletes the category instance specified by the object property.
This counter is read-only, so any instance that is associated with the category cannot be removed.
-or-
The instance is not correctly associated with a performance counter.
-or-
The property is set to when using global shared memory.
An error occurred when accessing a system API.
Represents a performance object, which defines a category of performance counters.
Initializes a new instance of the class, leaves the property empty, and sets the property to the local computer.
Initializes a new instance of the class, sets the property to the specified value, and sets the property to the local computer.
The name of the performance counter category, or performance object, with which to associate this instance.
The is an empty string ("").
The is .
Initializes a new instance of the class and sets the and properties to the specified values.
The name of the performance counter category, or performance object, with which to associate this instance.
The computer on which the performance counter category and its associated counters exist.
The is an empty string ("").
-or-
The syntax is invalid.
The is .
Gets the category's help text.
A description of the performance object that this category measures.
The property is . The category name must be set before getting the category help.
A call to an underlying system API failed.
Gets or sets the name of the performance object that defines this category.
The name of the performance counter category, or performance object, with which to associate this instance.
The is an empty string ("").
The is .
Gets the performance counter category type.
One of the values.
Determines whether the specified counter is registered to this category, which is indicated by the and properties.
The name of the performance counter to look for.
if the counter is registered to the category that is specified by the and properties; otherwise, .
The is .
The property has not been set.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether the specified counter is registered to the specified category on the local computer.
The name of the performance counter to look for.
The name of the performance counter category, or performance object, with which the specified performance counter is associated.
, if the counter is registered to the specified category on the local computer; otherwise, .
The is .
-or-
The is .
The is an empty string ("").
The category name does not exist.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether the specified counter is registered to the specified category on a remote computer.
The name of the performance counter to look for.
The name of the performance counter category, or performance object, with which the specified performance counter is associated.
The name of the computer on which the performance counter category and its associated counters exist.
, if the counter is registered to the specified category on the specified computer; otherwise, .
The is .
-or-
The is .
The is an empty string ("").
-or-
The is invalid.
The category name does not exist.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Registers the custom performance counter category containing the specified counters on the local computer.
The name of the custom performance counter category to create and register with the system.
A description of the custom category.
A that specifies the counters to create as part of the new category.
A that is associated with the new custom category, or performance object.
A counter name that is specified within the collection is or an empty string ("").
-or-
A counter that is specified within the collection already exists.
-or-
The parameter has invalid syntax. It might contain backslash characters ("\") or have length greater than 80 characters.
The parameter is .
The category already exists on the local computer.
-or-
The layout of the collection is incorrect for base counters. A counter of type , , , , , , , or has to be immediately followed by one of the base counter types (, , , or ).
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Registers the custom performance counter category containing the specified counters on the local computer.
The name of the custom performance counter category to create and register with the system.
A description of the custom category.
One of the values.
A that specifies the counters to create as part of the new category.
A that is associated with the new custom category, or performance object.
A counter name that is specified within the collection is or an empty string ("").
-or-
A counter that is specified within the collection already exists.
-or-
has invalid syntax. It might contain backslash characters ("\") or have length greater than 80 characters.
is .
-or-
is .
value is outside of the range of the following values: , , or .
The category already exists on the local computer.
-or-
The layout of the collection is incorrect for base counters. A counter of type , , , , , , , , or must be immediately followed by one of the base counter types (, , , or ).
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Registers the custom performance counter category containing a single counter of type on the local computer.
The name of the custom performance counter category to create and register with the system.
A description of the custom category.
One of the values specifying whether the category is , , or .
The name of a new counter to create as part of the new category.
A description of the counter that is associated with the new custom category.
A that is associated with the new system category, or performance object.
is or is an empty string ("").
-or-
The counter that is specified by already exists.
-or-
has invalid syntax. It might contain backslash characters ("\") or have length greater than 80 characters.
The category already exists on the local computer.
is .
-or-
is .
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Registers a custom performance counter category containing a single counter of type on the local computer.
The name of the custom performance counter category to create and register with the system.
A description of the custom category.
The name of a new counter, of type , to create as part of the new category.
A description of the counter that is associated with the new custom category.
A that is associated with the new system category, or performance object.
is or is an empty string ("").
-or-
The counter that is specified by already exists.
-or-
has invalid syntax. It might contain backslash characters ("\") or have length greater than 80 characters.
The category already exists on the local computer.
is .
-or-
is .
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Removes the category and its associated counters from the local computer.
The name of the custom performance counter category to delete.
The parameter is .
The parameter has invalid syntax. It might contain backslash characters ("\") or have length greater than 80 characters.
A call to an underlying system API failed.
The category cannot be deleted because it is not a custom category.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether the category is registered on the local computer.
The name of the performance counter category to look for.
if the category is registered; otherwise, .
The parameter is .
The parameter is an empty string ("").
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether the category is registered on the specified computer.
The name of the performance counter category to look for.
The name of the computer to examine for the category.
if the category is registered; otherwise, .
The parameter is .
The parameter is an empty string ("").
-or-
The parameter is invalid.
A call to an underlying system API failed.
The network path cannot be found.
The caller does not have the required permission.
-or-
Code that is executing without administrative privileges attempted to read a performance counter.
Retrieves a list of the performance counter categories that are registered on the local computer.
An array of objects indicating the categories that are registered on the local computer.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Retrieves a list of the performance counter categories that are registered on the specified computer.
The computer to look on.
An array of objects indicating the categories that are registered on the specified computer.
The parameter is invalid.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Retrieves a list of the counters in a performance counter category that contains exactly one instance.
An array of objects indicating the counters that are associated with this single-instance performance counter category.
The category is not a single instance.
A call to an underlying system API failed.
The category does not have an associated instance.
Code that is executing without administrative privileges attempted to read a performance counter.
Retrieves a list of the counters in a performance counter category that contains one or more instances.
The performance object instance for which to retrieve the list of associated counters.
An array of objects indicating the counters that are associated with the specified object instance of this performance counter category.
The parameter is .
The property for this instance has not been set.
-or-
The category does not contain the instance that is specified by the parameter.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Retrieves the list of performance object instances that are associated with this category.
An array of strings representing the performance object instance names that are associated with this category or, if the category contains only one performance object instance, a single-entry array that contains an empty string ("").
The property is . The property might not have been set.
-or-
The category does not have an associated instance.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether the specified performance object instance exists in the category that is identified by this object's property.
The performance object instance in this performance counter category to search for.
if the category contains the specified performance object instance; otherwise, .
The property is . The property might not have been set.
The parameter is .
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether a specified category on the local computer contains the specified performance object instance.
The performance object instance to search for.
The performance counter category to search.
if the category contains the specified performance object instance; otherwise, .
The parameter is .
-or-
The parameter is .
The parameter is an empty string ("").
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Determines whether a specified category on a specified computer contains the specified performance object instance.
The performance object instance to search for.
The performance counter category to search.
The name of the computer on which to look for the category instance pair.
if the category contains the specified performance object instance; otherwise, .
The parameter is .
-or-
The parameter is .
The parameter is an empty string ("").
-or-
The parameter is invalid.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Gets or sets the name of the computer on which this category exists.
The name of the computer on which the performance counter category and its associated counters exist.
The syntax is invalid.
Reads all the counter and performance object instance data that is associated with this performance counter category.
An that contains the counter and performance object instance data for the category.
The property is . The property might not have been set.
A call to an underlying system API failed.
Code that is executing without administrative privileges attempted to read a performance counter.
Indicates whether the performance counter category can have multiple instances.
The performance counter category can have multiple instances.
The performance counter category can have only a single instance.
The instance functionality for the performance counter category is unknown.
Specifies the lifetime of a performance counter instance.
Remove the performance counter instance when no counters are using the process category.
Remove the performance counter instance when the process is closed.
Prepares performance data for the performance.dll the system loads when working with performance counters.
Initializes a new instance of the class.
Called by the perf dll's close performance data.
Performance data collection routine. Called by the PerfCount perf dll.
The call index.
A pointer to a Unicode string list with the requested Object identifiers.
A pointer to the data buffer.
A pointer to a number of bytes.
When this method returns, contains a with a value of -1.
Specifies the formula used to calculate the method for a instance.
A base counter that is used in the calculation of time or count averages, such as and . Stores the denominator for calculating a counter to present "time per operation" or "count per operation".
An average counter that shows how many items are processed, on average, during an operation. Counters of this type display a ratio of the items processed to the number of operations completed. The ratio is calculated by comparing the number of items processed during the last interval to the number of operations completed during the last interval. Counters of this type include PhysicalDisk\ Avg. Disk Bytes/Transfer.
An average counter that measures the time it takes, on average, to complete a process or operation. Counters of this type display a ratio of the total elapsed time of the sample interval to the number of processes or operations completed during that time. This counter type measures time in ticks of the system clock. Counters of this type include PhysicalDisk\ Avg. Disk sec/Transfer.
A difference counter that shows the change in the measured attribute between the two most recent sample intervals.
A difference counter that shows the change in the measured attribute between the two most recent sample intervals. It is the same as the counter type except that is uses larger fields to accommodate larger values.
A base counter that indicates the number of items sampled. It is used as the denominator in the calculations to get an average among the items sampled when taking timings of multiple, but similar items. Used with , , , and .
A percentage counter that displays the active time of one or more components as a percentage of the total time of the sample interval. Because the numerator records the active time of components operating simultaneously, the resulting percentage can exceed 100 percent. This counter type differs from in that it measures time in units of ticks of the system performance timer, rather than in 100 nanosecond units. This counter type is a multitimer.
A percentage counter that shows the active time of one or more components as a percentage of the total time of the sample interval. It measures time in 100 nanosecond (ns) units. This counter type is a multitimer.
A percentage counter that shows the active time of one or more components as a percentage of the total time of the sample interval. Counters of this type measure time in 100 nanosecond (ns) units. They derive the active time by measuring the time that the components were not active and subtracting the result from multiplying 100 percent by the number of objects monitored. This counter type is an inverse multitimer.
A percentage counter that shows the active time of one or more components as a percentage of the total time of the sample interval. It derives the active time by measuring the time that the components were not active and subtracting the result from 100 percent by the number of objects monitored. This counter type is an inverse multitimer. It differs from CounterMultiTimer100NsInverse in that it measures time in units of ticks of the system performance timer, rather than in 100 nanosecond units.
A percentage counter that shows the average time that a component is active as a percentage of the total sample time.
A percentage counter that displays the average percentage of active time observed during sample interval. The value of these counters is calculated by monitoring the percentage of time that the service was inactive and then subtracting that value from 100 percent. This is an inverse counter type. It is the same as CounterTimer100NsInv, except that it measures time in units of ticks of the system performance timer rather than in 100 nanosecond units.
An average counter designed to monitor the average length of a queue to a resource over time. It shows the difference between the queue lengths observed during the last two sample intervals divided by the duration of the interval. This type of counter is typically used to track the number of items that are queued or waiting.
An average counter that monitors the average length of a queue to a resource over time. Counters of this type display the difference between the queue lengths observed during the last two sample intervals, divided by the duration of the interval. This counter type is the same as except that it uses larger fields to accommodate larger values. This type of counter is typically used to track a high-volume or very large number of items that are queued or waiting.
A difference timer that shows the total time between when the component or process started and the time when this value is calculated. Counters of this type include System\ System Up Time.
An instantaneous counter that shows the most recently observed value. Used, for example, to maintain a simple count of items or operations. Counters of this type include Memory\Available Bytes.
An instantaneous counter that shows the most recently observed value. Used, for example, to maintain a simple count of a very large number of items or operations. It is the same as except that it uses larger fields to accommodate larger values.
An instantaneous counter that shows the most recently observed value in hexadecimal format. Used, for example, to maintain a simple count of items or operations.
An instantaneous counter that shows the most recently observed value. Used, for example, to maintain a simple count of a very large number of items or operations. It is the same as except that it uses larger fields to accommodate larger values.
A difference counter that shows the average number of operations completed during each second of the sample interval. Counters of this type measure time in ticks of the system clock. Counters of this type include System\ File Read Operations/sec.
A difference counter that shows the average number of operations completed during each second of the sample interval. Counters of this type measure time in ticks of the system clock. This counter type is the same as the type, but it uses larger fields to accommodate larger values to track a high-volume number of items or operations per second, such as a byte-transmission rate. Counters of this type include System\ File Read Bytes/sec.
A base counter that stores the denominator of a counter that presents a general arithmetic fraction. Check that this value is greater than zero before using it as the denominator in a value calculation.
An instantaneous percentage counter that shows the ratio of a subset to its set as a percentage. For example, it compares the number of bytes in use on a disk to the total number of bytes on the disk. Counters of this type display the current percentage only, not an average over time. Counters of this type include Paging File\% Usage Peak.
A base counter that stores the number of sampling interrupts taken and is used as a denominator in the sampling fraction. The sampling fraction is the number of samples that were 1 (or ) for a sample interrupt. Check that this value is greater than zero before using it as the denominator in a calculation of .
An average counter that shows the average number of operations completed in one second. When a counter of this type samples the data, each sampling interrupt returns one or zero. The counter data is the number of ones that were sampled. It measures time in units of ticks of the system performance timer.
A percentage counter that shows the average ratio of hits to all operations during the last two sample intervals. Counters of this type include Cache\Pin Read Hits %.
A percentage counter that shows the active time of a component as a percentage of the total elapsed time of the sample interval. It measures time in units of 100 nanoseconds (ns). Counters of this type are designed to measure the activity of one component at a time. Counters of this type include Processor\ % User Time.
A percentage counter that shows the average percentage of active time observed during the sample interval. This is an inverse counter. Counters of this type include Processor\ % Processor Time.
Contains the raw data for a counter.
Decrements the counter value by 1.
Increments the counter value by 1.
Increments the counter value by the specified amount.
The amount by which to increment the counter value. The increment value can be positive or negative.
Sets or gets the raw counter data.
The raw counter data.
Sets or gets the counter data.
The counter data.
Defines a set of logical counters.
Initializes a new instance of the class.
Guid that uniquely identifies the provider of the counter data. Use the Guid specified in the manifest.
Guid that uniquely identifies the counter set for a provider. Use the Guid specified in the manifest.
Identifies the type of the counter set, for example, whether the counter set is a single or multiple instance counter set.
Not enough memory is available to complete the operation.
Not supported prior to Windows Vista.
One of the parameters is NULL or not valid.
An underlying Win32 function call failed.
Adds a counter to the counter set by using the specified counter identifier and type.
Identifies the counter. Use the same value that you used in the manifest to define the counter.
Identifies the counter type. The counter type determines how the counter data is calculated, averaged, and displayed.
The counter identifier already exists in the set or is negative, or the counter type is NULL or not valid.
You cannot add counters to the counter set after creating an instance of the counter set.
Adds a counter to the counter set by using the specified counter identifier and type and a display name for the counter.
Identifies the counter. Use the same value that you used in the manifest to define the counter.
Identifies the counter type. The counter type determines how the counter data is calculated, averaged, and displayed.
Name of the counter. You can use this name to index the counter in the counter set instance. (See .)
The counter identifier already exists in the set or is negative, or the counter type is NULL or not valid.
You cannot add counters to the counter set after creating an instance of the counter set.
Creates an instance of the counter set.
Name of the instance. The name must be unique.
An instance of the counter set which will contain the counter data.
The instance name is NULL.
You must add counters to the counter set before creating an instance of the counter set.
Releases all unmanaged resources used by this object.
Releases all unmanaged resources used by this object and optionally release the managed resources.
if this was called from the Dispose method, if called from the finalizer.
Frees resources before the object is reclaimed by garbage collection.
Creates an instance of the logical counters defined in the class.
Retrieves the collection of counter data for the counter set instance.
A collection of the counter data contained in the counter set instance.
Releases all unmanaged resources used by this object.
Releases unmanaged resources and performs other cleanup operations.
Contains the collection of counter values.
Releases all unmanaged resources used by this object.
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Accesses a counter value in the collection by using the specified counter identifier.
Identifier of the counter. This is the identifier you used when you added the counter to the counter set.
The counter data.
Accesses a counter value in the collection by using the specified counter name.
Name of the counter. This is the name that you used when you added the counter to the counter set.
The counter data.
Specifies whether the counter set allows multiple instances such as processes and physical disks, or a single instance such as memory.
The counter set contains single instance counters whose aggregate value is obtained from one or more sources. For example, a counter in this type of counter set might obtain the number of reads from each of the three hard disks on the computer and sum their values.
This type is similar to except that this counter set type stores all counter values for the lifetime of the consumer application (the counter value is cached beyond the lifetime of the counter). For example, if one of the hard disks in the global aggregate example were to become unavailable, the total bytes read by that disk would still be available and used to calculate the aggregate value.
This type is similar to , except that instead of aggregating all instance data to one aggregated (_Total) instance, it will aggregate counter data from instances of the same name. For example, if multiple provider processes contained instances named IExplore, and CounterSet will show multiple IExplore instances (IExplore, IExplore#1, IExplore#2, and so on); however, a instance type will publish only one IExplore instance with aggregated counter data from all instances named IExplore.
The counter set contains multiple instance counters, for example, a counter that measures the average disk I/O for a process.
The counter set contains multiple instance counters whose aggregate value is obtained from all instances of the counter. For example, a counter in this type of counter set might obtain the total thread execution time for all threads in a multithreaded application and sum their values.
The counter set contains single instance counters, for example, a counter that measures physical memory.
Defines the possible types of counters. Each counter is assigned a counter type. The counter type determines how the counter data is calculated, averaged, and displayed.
This counter is used as the base data (denominator) in the computation of time or count averages for the and counter types. This counter type collects the last observed value only. (See the PERF_AVERAGE_BASE counter type in the deployment kit.)
This counter type shows how many items are processed, on average, during an operation. Counters of this type display a ratio of the items processed (such as bytes sent) to the number of operations completed. The ratio is calculated by comparing the number of items processed during the last interval to the number of operations completed during the last interval. (See the PERF_AVERAGE_BULK counter type in the deployment kit.)
This counter type measures the average time it takes to complete a process or operation. Counters of this type display a ratio of the total elapsed time of the sample interval to the number of processes or operations completed during that time. This counter type measures time in ticks of the system clock. (See the PERF_AVERAGE_TIMER counter type in the deployment kit.)
This counter type shows the change in the measured attribute between the two most recent sample intervals. (See the PERF_COUNTER_DELTA counter type in the deployment kit.)
This counter type shows the change in the measured attribute between the two most recent sample intervals. It is the same as the counter type, except that it uses larger fields to accommodate larger values. (See the PERF_COUNTER_LARGE_DELTA counter type in the deployment kit.)
This counter type shows the total time between when the component or process started and the time when this value is calculated. (See the PERF_ELAPSED_TIME counter type in the deployment kit.)
This counter type monitors the average length of a queue to a resource over time. Counters of this type display the difference between the queue lengths observed during the last two sample intervals, divided by the duration of the interval. This counter type is the same as the counter type, except that it uses larger fields to accommodate larger values. (See the PERF_COUNTER_LARGE_QUEUELEN_TYPE counter type in the deployment kit.)
Indicates the number of items sampled. It is used as the denominator in the calculations to get an average among the items sampled when taking timings of multiple, but similar, items. This type supports the following counter types: , , , and .
This counter type is a multitimer. Multitimers collect data from more than one instance of a component, such as a processor or disk. Counters of this type display the active time of one or more components as a percentage of the total time of the sample interval. Because the numerator records the active time of components operating simultaneously, the resulting percentage can exceed 100 percent. This counter type differs from in that it measures time in units of ticks of the system performance timer, rather than in 100 nanosecond units. (See the PERF_COUNTER_MULTI_TIMER counter type in the deployment kit.)
This counter type shows the active time of one or more components as a percentage of the total time of the sample interval. It measures time in 100 nanosecond units. This counter type is a multitimer. Multitimers are designed to monitor more than one instance of a component, such as a processor or disk. (See the PERF_100NSEC_MULTI_TIMER counter type in the deployment kit.)
This counter type shows the active time of one or more components as a percentage of the total time of the sample interval. This counter type is an inverse multitimer. Multitimers monitor more than one instance of a component, such as a processor or disk. Inverse counters measure the time that a component is not active and derive the active time from that measurement. This counter differs from in that it measures time in units of ticks of the system performance timer, rather than in 100 nanosecond units. (See the PERF_COUNTER_MULTI_TIMER_INV counter type in the deployment kit.)
This counter type shows the active time of one or more components as a percentage of the total time of the sample interval. Counters of this type measure time in 100 nanosecond units. This counter type is an inverse multitimer. Multitimers are designed to monitor more than one instance of a component, such as a processor or disk. Inverse counters measure the time that a component is not active and derive its active time from the measurement of inactive time. (See the PERF_100NSEC_MULTI_TIMER_INV counter type in the deployment kit.)
This 64-bit counter type is a timer that displays in object-specific units. (See the PERF_OBJ_TIME_TIMER counter type in the deployment kit.)
This counter type shows the average time that a component was active as a percentage of the total sample time. (See the PERF_COUNTER_TIMER counter type in the deployment kit.)
This counter type shows the active time of a component as a percentage of the total elapsed time of the sample interval. It measures time in units of 100 nanoseconds. Counters of this type are designed to measure the activity of one component at a time. (See the PERF_100NSEC_TIMER counter type in the deployment kit.)
This is an inverse counter type. Inverse counters measure the time that a component is not active and derive the active time from that measurement. Counters of this type display the average percentage of active time observed during sample interval. The value of these counters is calculated by monitoring the percentage of time that the service was inactive and then subtracting that value from 100 percent. This counter type is the same as the counter type, except that it measures time in units of ticks of the system performance timer, rather than in 100 nanosecond units. (See the PERF_COUNTER_TIMER_INV counter type in the deployment kit.)
This counter type shows the average percentage of active time observed during the sample interval. This is an inverse counter. Inverse counters are calculated by monitoring the percentage of time that the service was inactive and then subtracting that value from 100 percent. (See the PERF_100NSEC_TIMER_INV counter type in the deployment kit.)
This counter type shows a value that consists of two counter values: the count of the elapsed time of the event being monitored, and the frequency specified in the PerfFreq field of the object header. This counter type differs from other counter timers in that the clock tick value accompanies the counter value so as to eliminate any possible difference due to latency from the function call. Precision counter types are used when standard system timers are not precise enough for accurate readings. (See the PERF_PRECISION_OBJECT_TIMER counter type in the deployment kit.)
This counter type shows a value that consists of two counter values: the count of the elapsed time of the event being monitored, and the frequency from the system performance timer. This counter type differs from other counter timers in that the clock tick value accompanies the counter value, eliminating any possible difference due to latency from the function call. Precision counter types are used when standard system timers are not precise enough for accurate readings. (See the PERF_PRECISION_TIMER counter type in the deployment kit.)
This counter type shows a value that consists of two counter values: the count of the elapsed time of the event being monitored, and the "clock" time from a private timer in the same units. It measures time in 100 nanosecond units. This counter type differs from other counter timers in that the clock tick value accompanies the counter value eliminating any possible difference due to latency from the function call. Precision counter types are used when standard system timers are not precise enough for accurate readings. (See the PERF_PRECISION_100NS_TIMER counter type in the deployment kit.)
This counter type is designed to monitor the average length of a queue to a resource over time. It shows the difference between the queue lengths observed during the last two sample intervals divided by the duration of the interval. (See the PERF_COUNTER_QUEUELEN_TYPE counter type in the deployment kit.)
This counter type measures the queue-length space-time product using a 100-nanosecond time base. (See the PERF_COUNTER_100NS_QUEUELEN_TYPE counter type in the deployment kit.)
This counter type measures the queue-length space-time product using an object-specific time base. (See the PERF_COUNTER_OBJ_QUEUELEN_TYPE counter type in the deployment kit.)
This counter type shows the average number of operations completed during each second of the sample interval. Counters of this type measure time in ticks of the system clock. (See the PERF_COUNTER_COUNTER counter type in the deployment kit.)
This counter type shows the average number of operations completed during each second of the sample interval. Counters of this type measure time in ticks of the system clock. This counter type is the same as the type, but it uses larger fields to accommodate larger values. (See the PERF_COUNTER_BULK_COUNT counter type in the deployment kit.)
This counter type collects the last observed value only. The value is used as the denominator of a counter that presents a general arithmetic fraction. This type supports the counter type. (See the PERF_RAW_BASE counter type in the deployment kit.)
This counter type collects the last observed value. It is the same as the counter type except that it uses larger fields to accommodate larger values. This type supports the counter type. (See the PERF_LARGE_RAW_BASE counter type in the deployment kit.)
This counter type shows the last observed value only. It does not display an average. (See the PERF_COUNTER_RAWCOUNT counter type in the deployment kit.)
This counter type shows the last observed value only, not an average. It is the same as the counter type, except that it uses larger fields to accommodate larger values. (See the PERF_COUNTER_LARGE_RAWCOUNT counter type in the deployment kit.)
This counter type shows the most recently observed value, in hexadecimal format. It does not display an average. (See the PERF_COUNTER_RAWCOUNT_HEX counter type in the deployment kit.)
This counter type shows the last observed value, in hexadecimal format. It is the same as the counter type, except that it uses larger fields to accommodate larger values. (See the PERF_COUNTER_LARGE_RAWCOUNT_HEX counter type in the deployment kit.)
This counter type shows the ratio of a subset to its set as a percentage. For example, it compares the number of bytes in use on a disk to the total number of bytes on the disk. Counters of this type display the current percentage only, not an average over time. (See the PERF_RAW_FRACTION counter type in the deployment kit.)
This counter type shows the ratio of a subset to its set as a percentage. For example, it compares the number of bytes in use on a disk to the total number of bytes on the disk. Counters of this type display the current percentage only, not an average over time. It is the same as the counter type, except that it uses larger fields to accommodate larger values.
This counter stores the number of sampling interrupts taken and is used as a denominator in the sampling fraction. This type supports the counter type.
This counter type shows the average number of operations completed in one second. It measures time in units of ticks of the system performance timer. The variable F represents the number of ticks that occur in one second. The value of F is factored into the equation so that the result is displayed in seconds. (See the PERF_SAMPLE_COUNTER counter type in the deployment kit.)
This counter type shows the average ratio of hits to all operations during the last two sample intervals. (See the PERF_SAMPLE_FRACTION counter type in the deployment kit.)