Project Description
This small utility helps to monitor performance counters without using the full blown perfmon tool from Windows. It supports a number of command line parameters and can be launched from batch files, shortcuts or (from version 1.4) preset qpmset files.
![QPerfMon.jpg QPerfMon.jpg]()
Note: The graph control is in the process of being completely rewritten with a few totally new functions built in. e.g. clicking to see the time somewhere in the middle of the graph - stay tuned!
[Machine name]\[Category]\[Counter name]\[Instance name]\[scale]\[plot style]
An example:
".\Processor\% Processor Time\_Total\1\1"
![QPerfMonLoggingOptions.jpg QPerfMonLoggingOptions.jpg]()
QPerfMon.exe ".\Processor\% Processor Time\_Total" ".\Memory\% Committed Bytes In Use\\" ".\Memory\Pages/sec\\0.1" ".\PhysicalDisk\Avg. Disk Queue Length\_Total\100" -title:Test
Note: remember to escape the '%' character in a batch file.
Would look like this:
![QPerfMon.jpg QPerfMon.jpg]()
Additionally the formatting of a line can be changed afterwords:
![QPerfMonFormatting.jpg QPerfMonFormatting.jpg]()
This small utility helps to monitor performance counters without using the full blown perfmon tool from Windows. It supports a number of command line parameters and can be launched from batch files, shortcuts or (from version 1.4) preset qpmset files.
Introduction
This small utility was developed to help monitor sets of performance counters quickly and (only) as needed. It is based on C2DPushGraph graph control but I have customized and enhanced it quite a bit for my needs. The main aim for the utility is to be really 'simple' without too many fancies - but it is evolving and more things might get added over time.Note: The graph control is in the process of being completely rewritten with a few totally new functions built in. e.g. clicking to see the time somewhere in the middle of the graph - stay tuned!
Update history
- 1.4.4 - The tool now has the functionality to log the performance counter values to a csv file.
- 1.4.5 - Enhanced logging options. Check for available disk space, create new file every X MB and change sample rate i.e. only log data for every N times the graph is updated. Additionally the tool will now upgrade/remember previous version settings.
- 1.4.6 - Small bug fix to graph control to avoid negative/large perf counter values crashing the app.
- 1.4.8 - Added 'snapping' to desktop plus 'cloning' of performance counters to ease adding a bunch of counters together.
- 1.4.9 - Added displaying latest and earliest times and more line formatting options.
- 1.4.10/11 More line formatting options plus fix bug to not allow duplicate counters.
- 1.4.13 Fixed reported issue with decimal scaled values when using other 'cultures'/formatting.
- 1.5.0 New graph control implemented. Colors and font can now be customized.
Usage
The tool can be executed with parameters. At the moment there is no restriction on the number of performance counters that can be specified although it would be impractical to specify too many. Each performance counter specified must looks like this:[Machine name]\[Category]\[Counter name]\[Instance name]\[scale]\[plot style]
- The machine name is the name of the computer where the performance counter is published.
- The category of the performance counter
- The name of the performance counter
- The instance name if it exists
- The scale of the performance counter (default = 1)
- The plotting style of data points. could be 0 - None, 1 - Dots, 2 - Cross or 3 - Ex
An example:
".\Processor\% Processor Time\_Total\1\1"
Additional parameters
The following additional parameters can be specified:- -max: Set the initial Y axis maximum value (default = 100)
- -lt: Set the default line thickness (default = 1)
- -title: Set a customized title for the window (helps if you have several windows open)
Customize
You can customize the following while running:- Updating frequency/Pause
- Color of each line/counter
- Scale of each line/counter
Run-time
As of version 1.4 the application allows you to add and remove performance counters at run-time.qpmset Files
As of version 1.4 you can load and save performance counter sets to a file for reuse. The files are actually only an XML file with a different extension so it can be edited with any text editor if needed.Logging data to csv files
The tool supports logging data to a csv file. The following logging options are available:Example
Running the utility with the following parameters:QPerfMon.exe ".\Processor\% Processor Time\_Total" ".\Memory\% Committed Bytes In Use\\" ".\Memory\Pages/sec\\0.1" ".\PhysicalDisk\Avg. Disk Queue Length\_Total\100" -title:Test
Note: remember to escape the '%' character in a batch file.
Would look like this:
Additionally the formatting of a line can be changed afterwords: