方法 : PerformanceCounter コンポーネントのインスタンスを設定する

更新 : 2007 年 11 月

作成した PerformanceCounter コンポーネントに対して、さまざまなプロパティを設定する必要があります。それにより、コンポーネントがやり取りするカウンタが決定されます。設定する必要があるプロパティは次のとおりです。

  • CategoryName。このプロパティは、コンポーネントがやり取りするパフォーマンス オブジェクトを決定します。Windows のパフォーマンス カウンタはすべて、Memory、Processes、Processor などのカテゴリに分類されます。

  • CounterName。このプロパティは、指定されたカテゴリの中でコンポーネントがやり取りするカウンタを示します。

  • InstanceName。このプロパティは、コンポーネントがやり取りするカテゴリのインスタンスを示します。多くのカテゴリにはインスタンスが含まれていません。このため、このプロパティは空白にできます。これは、インスタンス カウンタが 1 つであることを示しています。

    yeda34w9.alert_note(ja-jp,VS.90).gifメモ :

    ユーザーによって定義されたカテゴリ以外のカテゴリを設定した場合は、既存のカウンタおよびインスタンスから選択する必要があります。新しいカウンタやインスタンスを作成できるのは、カスタム カテゴリの場合だけです。たとえば、Memory カテゴリに新しいカウンタを作成することはできません。しかし、Orders という名前の新しいカテゴリを作成している場合は、そのカテゴリにカウンタやインスタンスを必要なだけ定義できます。

  • MachineName。このプロパティは、コンポーネントがやり取りするパフォーマンス カウンタが存在するサーバーを示します。このプロパティを "." に設定すると、ローカル コンピュータを表します。また、このプロパティを空白にした場合も、既定でこの値になります。

  • ReadOnly。このプロパティは、作成したカスタム カウンタが書き込み可能かどうかを決定します。既定では、既存の Windows カウンタと共に動作するように設定した PerformanceCounter コンポーネントのインスタンスは読み取り専用モードで機能し、カウンタの値は変更できません。ただし、カスタム カウンタと共に動作するようにコンポーネントのインスタンスを設定した場合は、既定の設定どおりに読み取り専用モードで動作させるか、またはこのプロパティの値を false に設定して値の書き込みを可能にするか、いずれかを選択できます。

    yeda34w9.alert_note(ja-jp,VS.90).gifメモ :

    値を書き込めるのは、ローカル コンピュータ上のカウンタだけです。カウンタの値を読み取るのが目的である場合は、アクセス可能なコンピュータをどれでも選択できます。

PerformanceCounter コンポーネントのインスタンスを設定するには

  1. PerformanceCounter コンポーネントのインスタンスを作成します。詳細については、「方法 : PerformanceCounter コンポーネントのインスタンスを作成する」を参照してください。

  2. 次のプロパティを設定して、コンポーネントがどのカウンタとやり取りするかを示します。

    プロパティ

    設定

    MachineName

    アクセス可能な任意のサーバー

    CategoryName

    サーバー上に存在する任意のカテゴリ

    CounterName

    選択したカテゴリ内の任意のカウンタ

  3. 指定するカウンタに複数のインスタンスがある場合は、使用するインスタンスを InstanceName プロパティの値として設定します。

  4. カスタム カウンタと共に使用する場合に、書き込みアクセスを可能にするには、ReadOnly プロパティを false に設定します。

    yeda34w9.alert_note(ja-jp,VS.90).gifメモ :

    これらのプロパティは、[プロパティ] ウィンドウで設定するか、コードで設定するか、または PerformanceCounter コンポーネントのインスタンスに対する特別な形式のコンストラクタを使用して設定できます。

    ローカル サーバー上にある "aborted transactions" という名前の既存の Windows パフォーマンス カウンタに接続するために、これらの値をプログラムで設定する例を次に示します。

    ' Connect to an existing Windows counter and category
    Dim abortedTransactions As New PerformanceCounter()
    abortedTransactions.CategoryName = _
       "distributed transaction coordinator"
    abortedTransactions.CounterName = "aborted transactions"
    abortedTransactions.MachineName = "."
    ' Connect to a custom counter and category in writable mode
    PerformanceCounterCategory.Create("orders", "desc", _
    PerformanceCounterCategoryType.SingleInstance, "milk", "desc")
    Dim myCounter2 As New PerformanceCounter("orders", "milk", False)
    
         // Connect to an existing Windows counter and category
            System.Diagnostics.PerformanceCounter abortedTransactions =
               new System.Diagnostics.PerformanceCounter();
            abortedTransactions.CategoryName =
               "distributed transaction coordinator";
            abortedTransactions.CounterName = "aborted transactions";
            abortedTransactions.MachineName = ".";
            // Connect to a custom counter and category in writable mode
            System.Diagnostics.PerformanceCounterCategory.Create(
               "orders", "desc", PerformanceCounterCategoryType.SingleInstance,
               "milk", "desc");
            System.Diagnostics.PerformanceCounter myCounter2 =
               new System.Diagnostics.PerformanceCounter("orders", "milk", false);
    
yeda34w9.alert_note(ja-jp,VS.90).gifメモ :

コード内の "." はローカル コンピュータを示します。

参照

処理手順

方法 : PerformanceCounter コンポーネントのインスタンスを作成する

方法 : カスタム パフォーマンス カウンタを作成する

概念

カテゴリおよびカウンタの管理