Monday, March 25, 2013

Performance Counters Testing Tool

Writing high performance applications, specially that does batch processing is always fun. But most of the time you are unaware of whats going on under the hood.

You can use Performance Counter in Windows to find out how many threads your process has spawned, whats the current CPU and/or memory usage. But what if you want to know whats going on in your logic and with what frequency ?

For that you need to "Post" performance data out to windows operating system. So you could watch/log the data in order to generate nice and fancy reports for the superiors.

This post is all about sharing Performance Data Testing Tool that I built and would like to share. If you want to learn more about Windows Performance Counters, Check this Microsoft Article.

To learn the basics about how to code in .NET to post performance data to windows system, check this guy's  Blog Post Part 1 and Part 2.


Go to the Google Code project page to download binary or source code for the Tool.

Here is a snapshot

"Play with existing" part lets you change the values for current number of current counters that are being posted.

"Create/Delete" lets you create your own category and add counters to them. Once you've created new category with at least one counter, you can type the category name and counter name on the above section and click the Top Grab button then you can use Increment/Decrement button to up and down the values.

To watch those values in a graph, use Windows Performance Monitor.

You are free to use my code, modify it and/or redistribute it.

Happy coding