Export (0) Print
Expand All

PerformanceCounter::CounterType Property

Gets the counter type of the associated performance counter.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

public:
property PerformanceCounterType CounterType {
	PerformanceCounterType get ();
}

Property Value

Type: System.Diagnostics::PerformanceCounterType
A PerformanceCounterType that describes both how the counter interacts with a monitoring application and the nature of the values it contains (for example, calculated or uncalculated).

ExceptionCondition
InvalidOperationException

The instance is not correctly associated with a performance counter.

-or-

The InstanceLifetime property is set to Process when using global shared memory.

PlatformNotSupportedException

The platform is Windows 98 or Windows Millennium Edition (Me), which does not support performance counters.

UnauthorizedAccessException

Code that is executing without administrative privileges attempted to read a performance counter.

The PerformanceCounterType enumeration contains the types of performance counters that you can interact with. Some of the counter types represent calculated values, such as the average of the counter measurements the system has taken. Other types represent raw, or uncalculated, values. The following table shows the counter types that you will interact with most frequently.

Counter's Responsibility

PerformanceCounterType Value

Example

Maintain a simple count of items or operations.

NumberOfItems32

Tracking the number of orders received as a 32-bit integer.

Maintain a higher-capacity simple count.

NumberOfItems64

Tracking the number of orders for a site with very high volume, stored as a 64-bit integer.

Track the number of items or operations per second.

RateOfCountsPerSecond32

Tracking orders received per second on a site.

Track a higher-capacity number of items or operations per second.

RateOfCountsPerSecond64

Tracking orders received per second on a site with very high volume.

Calculate the average time to perform a process or to process an item

AverageTimer32

Calculate the average time an order takes to be processed.

When you create a counter whose type requires the use of a corresponding base counter, you must declare the counter and the base in the CounterCreationDataCollection you pass into the PerformanceCounterCategory::Create method.

NoteNote

If the value for the InstanceLifetime property is Process and the performance counter category was created with .NET Framework version 1.0 or 1.1, an InvalidOperationException is thrown. Performance counter categories created with earlier versions use global shared memory, and the value for InstanceLifetime must be Global. If the category is not used by applications running on versions 1.0 or 1.1 of the .NET Framework, delete and recreate the category.

NoteNote

To read performance counters in Windows Vista, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

To avoid having to elevate your privileges to access performance counters in Windows Vista, add yourself to the Performance Monitor Users group.

In Windows Vista, User Account Control (UAC) determines the privileges of a user. If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. By default, you are in the standard user role. To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft