Implementing Performance Counter in your application<!-- --> | <!-- -->Patrick Desjardins Blog
Patrick Desjardins Blog
Patrick Desjardins picture from a conference

Implementing Performance Counter in your application

Posted on: October 11, 2011

Microsoft Windows has a Performance Counter application that is located in the Administrator Folder.

performancecounter 400x294

Go to Control Panel\\All Control Panel Items\\Administrative Tools\\ and select Performance Monitor. This will open a window with by default the processor performance. What is interesting is that you can see a lot of already coded performance counter by right clicking the list of counter and select Add Counters... or to press the button with the + icon.

addcounter

What is interesting is that you can create your own inside your application and be able to visualize the result within this Performance Counter.

What you need is the System.Diagnostics namespace. From there you can verify if the counter you want to create exist with the static method PerformanceCounterCategory.Exists.

To create your counter, you need 'PerformanceCounterCategory.Create'.

1PerformanceCounterCategory.Create("CategoryName", "CategoryHelpText", PerformanceCounterCategoryType.SingleInstance, "CounterNameInsideTheCategory", "CounterHelpText.");

This code must only executed when a verification is made with the Exists method of PerformanceCounterCategory because an exception will be throw.

When you are ready to use the counter you need to use the method Increment or IncrementBy. The first one will increment by one and the other one with the value passed in a parameter. If it requires to decrease, you will need to pass a negative value.

1var pc = new PerformanceCounter("CategoryName", "CounterNameInsideTheCategory", false); pc.IncrementBy(10);