uberAgent

Querying Windows Performance Counters

In addition to its built-in metrics, uberAgent can collect data from Windows performance counters.

Configuration

As with all other uberAgent metrics, performance counters need to be associated with a timer that defines how often data is collected. Performance counter metrics can be added to an existing timer or placed in a new timer section. See the configuration docs and the performance counter metrics documentation for details.

Example

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 a performance counter that collects the system’s uptime. Finally, we added a performance counter that collects the handle count for every running process. The result looks like this:

[Timer]
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
Perf counter   = \Process(*)\Handle Count
<!--NeedCopy-->

Counter Paths

Most performance counter paths have one of the following two formats:

\object(instance)\counter
\object\counter
<!--NeedCopy-->

As you can see, some counter paths have instance names (powershell in one of the examples above) while others do not.

See Microsoft Docs for more information.

Wildcards

uberAgent can use the wildcard characters * and ? in the instance section of performance counter paths.

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.

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.

With uberAgent, you can configure localized or language-neutral performance counter paths. The performance counter path is always sent to the backend in English.

Querying Windows Performance Counters