방법: 성능 카운터 인스턴스 추가 및 제거
업데이트: 2007년 11월
카운터 및 범주와 마찬가지로 동적으로 인스턴스를 추가하거나 제거할 수 있습니다. 예를 들어 웹 기반 전자 상거래 응용 프로그램에서 각 사용자에 대한 인스턴스를 추가하여 사용자의 동작에 대한 정보를 추적한 다음 사용자의 세션이 종료될 때 인스턴스를 제거합니다.
카운터의 원시 값을 설정하여 인스턴스를 추가합니다. 카운터에 인스턴스가 없으면 처음 RawValue 속성을 설정할 때 인스턴스가 만들어지고, 다른 인스턴스가 지정되어 있지 않은 경우 원시 값의 모든 후속 동작이 이 인스턴스에 영향을 주는 것으로 가정합니다. 새 인스턴스의 이름을 지정한 후 값을 설정하면 추가 인스턴스를 만들 수 있습니다.
참고: |
---|
새 인스턴스의 이름을 지정할 때가 아니라 값을 설정할 때 인스턴스가 만들어집니다. |
카운터는 범주를 만드는 과정에서 추가되는 경우를 제외하고는 기존의 범주에 추가할 수 없지만, 인스턴스는 언제든지 사용자 정의 범주에 추가하거나 범주에서 제거할 수 있습니다. InstanceName 속성을 사용하여 하나의 인스턴스에서 또 다른 인스턴스로 이동할 수 있습니다.
RemoveInstance 메서드를 사용하여 메모리에서 사용자 지정 성능 카운터의 인스턴스를 제거할 수 있습니다. 예를 들어, OrderInProgress라는 범주를 사용하고 각 사용자의 현재 쇼핑 목록에 대한 인스턴스를 유지하는 웹 기반 전자 상거래 응용 프로그램이 있다고 가정합니다. 목록에 처음으로 항목을 추가하면 응용 프로그램에서 해당 사용자의 새 인스턴스를 만듭니다. 주문을 마치면 응용 프로그램에서 이 인스턴스를 삭제합니다. 주문하는 동안 NumberofItemsinCart, TimeSinceCreation 및 NumberofItemsAddedPerSecond와 같은 카운터를 사용하여 인스턴스를 업데이트합니다.
Windows에 기본적으로 사용되는 성능 카운터에서는 인스턴스를 제거할 수 없습니다. PerformanceCounter 구성 요소에서 잘못된 인스턴스를 참조하는 경우 이 메서드는 예외를 throw합니다.
참고: |
---|
Microsoft Windows NT 버전 4.0에서는 PerformanceCounter 클래스가 완전히 지원되지 않습니다. 시스템 카운터를 읽을 수는 있지만 사용자 지정 카운터를 만들거나 삭제하거나 사용자 지정 카운터에 쓸 수는 없습니다. |
성능 카운터 인스턴스를 추가하려면
정상적으로 범주와 카운터를 만듭니다. 자세한 내용은 방법: 성능 카운터 범주 만들기를 참조하십시오.
InstanceName 속성을 인스턴스의 고유 이름으로 설정한 다음 인스턴스의 RawValue 속성을 설정합니다.
다음 코드에서는 기존 성능 카운터 범주의 여러 인스턴스를 만드는 방법을 보여 줍니다.
' Assumes the category and counter have already been created. Dim myCounter As New System.Diagnostics.PerformanceCounter( _ "cat", "counter", "instance1", False) ' Set the raw value to automatically create instance1. myCounter.RawValue = 100 ' State that you will now be working with a different instance. myCounter.InstanceName = "instance2" ' Setting the value actually creates instance2. myCounter.RawValue = 200
// Assumes category and counter have been created. System.Diagnostics.PerformanceCounter myCounter = new System.Diagnostics.PerformanceCounter( "cat", "counter", "instance1", false); // Set the raw value to automatically create instance1. myCounter.RawValue = 100; // State that you will now be working with a different instance. myCounter.InstanceName = "instance2"; // Setting the value actually creates instance2. myCounter.RawValue = 200;
성능 카운터 인스턴스를 제거하려면
인스턴스를 제거할 카운터에 연결된 PerformanceCounter 구성 요소의 인스턴스를 만듭니다. 자세한 내용은 방법: PerformanceCounter 구성 요소 인스턴스 만들기를 참조하십시오.
InstanceName 속성을 삭제할 인스턴스로 설정합니다.
구성 요소에서 RemoveInstance 메서드를 호출합니다.
다음 예제에서는 카운터에서 Reference라는 인스턴스를 제거하는 방법을 보여 줍니다.
' Assumes that you have configured PerformanceCounter1 to ' interact with the appropriate counter. PerformanceCounter1.InstanceName = "Reference" PerformanceCounter1.RemoveInstance()
// Assumes that you have configured PerformanceCounter1 to // interact with the appropriate counter. PerformanceCounter1.InstanceName = "Reference"; PerformanceCounter1.RemoveInstance();
참고 항목
작업
방법: PerformanceCounter 구성 요소 인스턴스 만들기