방법: 성능 카운터에 값 쓰기

업데이트: 2007년 11월

카운터의 현재 원시 값을 양수나 음수 단위로 점차 증가시키는 방식으로 카운터에 값을 씁니다. 이렇게 하려면 PerformanceCounter 클래스의 IncrementBy 메서드를 사용합니다.

참고:

음수 단위로 값을 증가시키면 카운터가 해당 숫자의 절대값만큼 점차 감소합니다. 예를 들어, 증가 값으로 3을 사용하면 카운터의 원시 값이 3만큼 증가합니다. 증가 값으로 -3을 사용하면 카운터의 원시 값이 3만큼 감소합니다.

또한 Increment 메서드와 Decrement 메서드를 사용하면 카운터의 값을 1만큼 증감시킬 수 있습니다. 이 메서드는 IncrementBy보다 처리 속도가 훨씬 빠릅니다.

사용자 지정 카운터의 값은 증가시킬 수만 있습니다. PerformanceCounter 구성 요소의 인스턴스를 통해 시스템 카운터와 상호 작용할 때는 기본적으로 읽기 전용 모드로 제한됩니다. 먼저 사용자 지정 카운터에 액세스하는 데 사용할 구성 요소 인스턴스의 ReadOnly 속성을 false로 설정해야 카운터의 값을 증가시킬 수 있습니다.

참고:

보안을 위해 성능 카운터의 사용이 제한되는 경우도 있습니다. 자세한 내용은 성능 임계값 모니터링 개요를 참조하십시오.

참고:

Microsoft Windows NT 버전 4.0에서는 PerformanceCounter 클래스가 완전히 지원되지 않습니다. 시스템 카운터를 읽을 수는 있지만 사용자 지정 카운터를 만들거나 삭제하거나 사용자 지정 카운터에 쓸 수는 없습니다.

성능 카운터에 값을 쓰려면

  1. PerformanceCounter 인스턴스를 만들고 원하는 범주 및 카운터와 상호 작용하도록 구성합니다. 자세한 내용은 방법: PerformanceCounter 구성 요소 인스턴스 만들기 또는 방법: PerformanceCounter 구성 요소 인스턴스 구성을 참조하십시오.

  2. 다음 메서드 중 하나를 사용하여 값을 씁니다.

    작업

    호출할 메서드

    매개 변수

    원시 값을 1만큼 증가시킵니다.

    Increment

    없음

    원시 값을 1만큼 감소시킵니다.

    Decrement

    없음

    원시 값을 1보다 큰 값만큼 증가시킵니다.

    IncrementBy

    양의 정수

    원시 값을 1보다 큰 값만큼 감소시킵니다.

    IncrementBy

    음의 정수

    원시 값을 증가시키지 않고 임의의 정수로 다시 설정합니다.

    RawValue

    양이나 음의 정수

    다음 코드에서는 카운터의 값을 설정하는 다양한 방법을 보여 줍니다. 이 코드에서는 사용자가 txtValue라는 텍스트 상자와 3개의 단추가 있는 Windows Forms 응용 프로그램에서 작업한다고 가정합니다. 3개의 단추는 각각 원시 값을 텍스트 상자에 입력된 숫자 단위로 증가시키고, 1만큼 감소시키고, 카운터의 원시 값을 텍스트 상자에 설정된 값으로 설정합니다.

    Private Sub btnIncrement_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnIncrement.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.IncrementBy(CLng(txtValue.Text))
    End Sub
    
    Private Sub btnDecrement_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnDecrement.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.Decrement()
    End Sub
    
    Private Sub btnSetValue_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnSetValue.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.RawValue = CLng(txtValue.Text)
    End Sub
    
     protected void btnIncrement_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.IncrementBy(long.Parse(txtValue.Text));
        }
    
        protected void btnDecrement_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.Decrement();
        }
    
        protected void btnSetValue_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.RawValue = long.Parse(txtValue.Text);
        }
    

참고 항목

개념

성능 임계값 모니터링 개요

성능 카운터 값 검색