Name

PerformanceCounter

Synopsis

This class represents a Windows NT, 2000, or XP performance counter that can be accessed using the Performance Administrative Tool. PerformanceCounters already exist for system devices, such as processor, disk, or memory usage, as well as for system resources, such as processes or threads. Using the PerformanceCounter class, you can both read from and write performance data to existing custom counters.

To create your own custom performance counters, use PerformanceCounterCategory.Create(). You can write to a performance counter by using one of the PerformanceCounter constructors that takes the boolean readonly argument. Set that argument to false to create a performance counter that you can write to. To set the value of a performance counter, call IncrementBy(), Increment(), Decrement(), or set the RawValue to the desired value.

To access an existing performance counter, create an instance of PerformanceCounter with the CategoryName and CounterName set to that of an available category and an existing performance counter. The category and counter names are case-insensitive, so you could sample the available memory by calling the constructor as PerformanceCounter("memory", "available mbytes"). Consult the Performance Administrative Tool for the available performance counters. You can explicitly set the CategoryName and CounterName (and the optional InstanceName and MachineName) properties, if you choose not to set these using the constructor.

To ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.