This class allows you to
create and manage categories
of performance counters. You can see the categories recognized by
your system when you use the Performance Administrative Tool. When
you attempt to add a counter, you'll see the
categories listed in the Performance object
drop-list, such as Processor, Memory, Thread, and Network Interface.
Use Create( ) to add a new category. The
three-argument form lets you supply a category name, a description of
the category, and a collection of
CounterCreationData objects. Each
CounterCreationData object describes a counter to
create in the new category. Use the four-argument form of
Create( ) to create a new category with only a
single counter.
Delete( ) removes a counter category, and
Exists( ) checks whether a given category exists.
If you want to check if a specific counter exists in a category, call
CounterExists( ). To check for an instance in a
category, use InstanceExists( ).
GetCategories( ) returns all the categories
recognized by the system.
The CategoryHelp, CategoryName,
and MachineName properties provide access to the
name, help text, and machine name for a given category. You can use
the nonstatic versions of CounterExists( ) and
InstanceExists( ) to check if a specified counter
or instance exists in the inspected category. GetCounters(
) and GetInstanceNames( ) retrieve a
list of the counters and instances in a category.
public sealed class PerformanceCounterCategory {
// Public Constructors
public PerformanceCounterCategory( );
public PerformanceCounterCategory(string categoryName);
public PerformanceCounterCategory(string categoryName, string machineName);
// Public Instance Properties
public string CategoryHelp{get; }
public string CategoryName{set; get; }
public string MachineName{set; get; }
// Public Static Methods
public static bool CounterExists(string counterName, string categoryName);
public static bool CounterExists(string counterName, string categoryName, string machineName);
public static PerformanceCounterCategory Create(string categoryName, string categoryHelp,
CounterCreationDataCollection counterData);
public static PerformanceCounterCategory Create(string categoryName, string categoryHelp,
string counterName, string counterHelp);
public static void Delete(string categoryName);
public static bool Exists(string categoryName);
public static bool Exists(string categoryName, string machineName);
public static PerformanceCounterCategory[ ] GetCategories( );
public static PerformanceCounterCategory[ ] GetCategories(string machineName);
public static bool InstanceExists(string instanceName, string categoryName);
public static bool InstanceExists(string instanceName, string categoryName, string machineName);
// Public Instance Methods
public bool CounterExists(string counterName);
public PerformanceCounter[ ] GetCounters( );
public PerformanceCounter[ ] GetCounters(string instanceName);
public string[ ] GetInstanceNames( );
public bool InstanceExists(string instanceName);
public InstanceDataCollectionCollection ReadCategory( );
}