Easiest way to get Perfmon counter names into a text file?

An easy way to achieve this, is by using the typeperf command.

  1. For example, to get an complete list of all available Windows PerfMon counters is by typing the following command from a command prompt: typeperf -q

  2. Create a file counters.txt with all the counters you would like to monitor, (1 per line)

  3. send output to a logfile. (typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv)

Good luck! Henk


The only way I've ever been able to do this is to set up your trace and then save it (or copy the properties and paste them to a text file). The HTML or copied properties creates an <object> tag with a lot of <param> tags to set up the trace. It's not very pretty, but you can use an XML parser to filter the <param> tags. The counters have NAME attributes in the format Counterxxxxx (where the X's are incremental numbers with leading 0's) and a Path attribute that is the name of the target machine concantenated with the name of the counter. Filter out those specific nodes and you'll get the list.

I don't know how you would go about just exporting a list of all available counters on your system. Maybe WMI or Powershell has something you can get it from.

Also, have a look at this question which might give you some more leads.


You can export a list of all the services that have performance counters on a particular machine by querying the registry of said machine. From a command prompt type reg query /? to get a list of arguments.