uberAgent Support

Querying Windows Performance Counters

In addition to its own metrics uberAgent can collect data from any Windows performance counter.

To add performance counters we need to edit uberAgent's configuration file. All metrics need to be associated with a timer that defines how often data for the metric is collected. Performance counter metrics can be added to an existing timer or placed in a new timer section.


In the following example we configured a new timer that collects data every 60 seconds. We added two performance counters to the timer that collect .NET information for the entire machine and for a specific process (PowerShell). We also added one performance counter that collects the system's uptime. The result looks like this:

Name           = Performance counter timer
Interval       = 60000
Perf counter   = \.NET CLR Memory(_Global_)\# Gen 0 Collections
Perf counter   = \.NET CLR Memory(powershell)\# Gen 0 Collections
Perf counter   = \System\System Up Time

Counter Paths

As you can see, some counter paths have instance names (e.g. powershell) while others do not. Microsoft does not document counter path names well, but there is some information on MSDN.

Language-Neutral or Localized?

Some tools require localized performance counter paths. This becomes a problem if you configure paths for machines with different language versions of Windows.

uberAgent uses only language-neutral paths and is not affected by this problem.

Finding Counter Paths

To find the paths for your counters you can use the following method.


Add the desired counters to Performance Monitor. Then right-click the graph section of Perfmon's window, select "Save settings as...", save as web page (*.html) and locate the counter path in the HTML code. Perfmon saves the counter path in language-neutral format, which is what is uberAgent needs.

Have more questions? Submit a request


Please sign in to leave a comment.