Export (0) Print
Expand All

PerformanceCounter.InstanceName Property

Gets or sets an instance name for this performance counter.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

[SettingsBindableAttribute(true)]
[TypeConverterAttribute("System.Diagnostics.Design.InstanceNameConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string InstanceName { get; set; }

Property Value

Type: System.String
The name of the performance counter category instance, or an empty string (""), if the counter is a single-instance counter.

NoteNote

Instance names must be shorter than 128 characters in length.

In some situations, categories are subdivided into instances, which track data about multiple occurrences of the object that a category relates to. Instances apply to the category as whole, rather than to individual counters. Every counter within a category has each instance defined for the category. For example, the Process category contains instances named Idle and System. Every counter within the Process category thus contains data for each instance, showing information about either idle processes or system processes.

Many categories do not contain multiple instances, so you can leave this property empty to indicate that no instance is associated with the category.

If this PerformanceCounter instance points to a noncustom category, you can choose from only the existing category instances. You can create new category instances only in custom categories, which allow you to define as many counters and category instances as you need.

To create a performance category instance, specify an instanceName on the PerformanceCounter constructor. If the category instance specified by instanceName already exists the new object will reference the existing category instance.

NoteNote

Do not use the characters "(", ")", "#", "\", or "/" in the instance name. If any of these characters are used, the Performance Console (see Runtime Profiling) may not correctly display the instance values.

If the instance name is automatically generated and might contain the characters "(", ")", "#", "\", or "/", use the character mapping in the following table.

Character

Mapped character

(

[

)

]

#

_

\

_

/

_

The FriendlyName property of the AppDomain object obtained from the AppDomain.CurrentDomain property is a common source of instance names that can contain invalid characters.

The following code example creates a default instance of the PerformanceCounter class. After the instance is created, the CategoryName, CounterName, and InstanceName property values are set, and the results of a call to the NextValue method are displayed.

			PerformanceCounter PC=new PerformanceCounter();
			PC.CategoryName="Process";
			PC.CounterName="Private Bytes";
			PC.InstanceName="Explorer";
			MessageBox.Show(PC.NextValue().ToString());

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft