System.Diagnostics.PerformanceCounter.RemoveInstance Method

Deletes the category instance specified by the System.Diagnostics.PerformanceCounter object PerformanceCounter.InstanceName property.

Syntax

[System.MonoTODO]
[System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.MayFail)]
public void RemoveInstance ()

Remarks

You can remove an instance only for a custom counter. All system counters are read-only, so attempting to remove one of them throws an exception.

Note:

To avoid a possible race condition when the performance counter shared memory is released, it is recommended that the PerformanceCounter.RemoveInstance method be called from the AppDomain.DomainUnload event handler.

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

Note:

If the value for the PerformanceCounter.InstanceLifetime property is PerformanceCounterInstanceLifetime.Process and the performance counter category was created with .NET Framework version 1.0 or 1.1, an InvalidOperationException is thrown. Performance counter categories created with earlier versions use global shared memory, and the value for PerformanceCounter.InstanceLifetime must be PerformanceCounterInstanceLifetime.Global. If the category is not used by applications running on versions 1.0 or 1.1 of the .NET Framework, delete and recreate the category.

Requirements

Namespace: System.Diagnostics
Assembly: System (in System.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0