方法 : PerformanceCounter コンポーネントのインスタンスを設定する
更新 : 2007 年 11 月
作成した PerformanceCounter コンポーネントに対して、さまざまなプロパティを設定する必要があります。それにより、コンポーネントがやり取りするカウンタが決定されます。設定する必要があるプロパティは次のとおりです。
CategoryName。このプロパティは、コンポーネントがやり取りするパフォーマンス オブジェクトを決定します。Windows のパフォーマンス カウンタはすべて、Memory、Processes、Processor などのカテゴリに分類されます。
CounterName。このプロパティは、指定されたカテゴリの中でコンポーネントがやり取りするカウンタを示します。
InstanceName。このプロパティは、コンポーネントがやり取りするカテゴリのインスタンスを示します。多くのカテゴリにはインスタンスが含まれていません。このため、このプロパティは空白にできます。これは、インスタンス カウンタが 1 つであることを示しています。
メモ : ユーザーによって定義されたカテゴリ以外のカテゴリを設定した場合は、既存のカウンタおよびインスタンスから選択する必要があります。新しいカウンタやインスタンスを作成できるのは、カスタム カテゴリの場合だけです。たとえば、Memory カテゴリに新しいカウンタを作成することはできません。しかし、Orders という名前の新しいカテゴリを作成している場合は、そのカテゴリにカウンタやインスタンスを必要なだけ定義できます。
MachineName。このプロパティは、コンポーネントがやり取りするパフォーマンス カウンタが存在するサーバーを示します。このプロパティを "." に設定すると、ローカル コンピュータを表します。また、このプロパティを空白にした場合も、既定でこの値になります。
ReadOnly。このプロパティは、作成したカスタム カウンタが書き込み可能かどうかを決定します。既定では、既存の Windows カウンタと共に動作するように設定した PerformanceCounter コンポーネントのインスタンスは読み取り専用モードで機能し、カウンタの値は変更できません。ただし、カスタム カウンタと共に動作するようにコンポーネントのインスタンスを設定した場合は、既定の設定どおりに読み取り専用モードで動作させるか、またはこのプロパティの値を false に設定して値の書き込みを可能にするか、いずれかを選択できます。
メモ : 値を書き込めるのは、ローカル コンピュータ上のカウンタだけです。カウンタの値を読み取るのが目的である場合は、アクセス可能なコンピュータをどれでも選択できます。
PerformanceCounter コンポーネントのインスタンスを設定するには
PerformanceCounter コンポーネントのインスタンスを作成します。詳細については、「方法 : PerformanceCounter コンポーネントのインスタンスを作成する」を参照してください。
次のプロパティを設定して、コンポーネントがどのカウンタとやり取りするかを示します。
プロパティ
設定
アクセス可能な任意のサーバー
サーバー上に存在する任意のカテゴリ
選択したカテゴリ内の任意のカウンタ
指定するカウンタに複数のインスタンスがある場合は、使用するインスタンスを InstanceName プロパティの値として設定します。
カスタム カウンタと共に使用する場合に、書き込みアクセスを可能にするには、ReadOnly プロパティを false に設定します。
メモ : これらのプロパティは、[プロパティ] ウィンドウで設定するか、コードで設定するか、または 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);
メモ : |
---|
コード内の "." はローカル コンピュータを示します。 |
参照
処理手順
方法 : PerformanceCounter コンポーネントのインスタンスを作成する