// (c) 2007 Richard Grimes // www.grimes.demon.co.uk using System; using System.Diagnostics; class App { static void Main() { PerformanceCounterCategory[] cats = PerformanceCounterCategory.GetCategories(); foreach (PerformanceCounterCategory cat in cats) { Console.WriteLine(cat.CategoryName); string[] instances = cat.GetInstanceNames(); if (instances.Length > 0) { foreach (string instance in instances) { Console.WriteLine("\t" + instance); } PerformanceCounter[] counters = cat.GetCounters(instances[0]); foreach (PerformanceCounter counter in counters) { Console.WriteLine("\t\t" + counter.CounterName); counter.Close(); } } else { PerformanceCounter[] counters = cat.GetCounters(); foreach (PerformanceCounter counter in counters) { Console.WriteLine("\t" + counter.CounterName); counter.Close(); } } } } }