次の方法で共有


オブジェクトとカウンターのデザイン

パフォーマンス オブジェクトは、パフォーマンス データを使用できるエンティティです。 パフォーマンス カウンターは、パフォーマンス オブジェクトで使用できるデータの種類を定義します。 アプリケーションは、複数のパフォーマンス オブジェクトに関する情報を提供できます。 パフォーマンス オブジェクトには、単一インスタンス カウンターまたは複数のインスタンス カウンターを含めることができます。 1 つのインスタンス オブジェクトは、カウンター値の 1 つのセットを返します。

複数のインスタンス オブジェクトは、アプリケーションが制御するオブジェクトの出現ごとに、オブジェクトのインスタンスを返します。 たとえば、SCSI アプリケーションでは、バイト読み取りと書き込みバイト数などの 2 つのカウンターを持つドライブ オブジェクトを定義できます。 コンシューマーがオブジェクトに対してクエリを実行すると、パフォーマンス DLL は、アプリケーションが制御する各ドライブのオブジェクトのインスタンスを返します。

オブジェクトが 1 つのインスタンスまたは複数のインスタンスをサポートしているかどうかを判断したら、オブジェクトに提供するカウンターの種類を決定する必要があります。 たとえば、未加工の値、レート、またはパーセンテージとして表示されるカウンター値を指定できます。

選択する必要がある定義済みのカウンターの種類の一覧については、「Windows Server 2003 展開キットのカウンターの種類」セクションを参照してください。 カウンターの種類によっては、生データを単純に指定することも、表示可能な値を計算するためにコンシューマーが使用する時間と頻度の情報や追加のカウンター データを指定する必要がある場合もあります。

データの収集に使用する方法は、アプリケーション内の特定のルーチンが呼び出されるたびにカウンターをインクリメントするのと同じくらい簡単です。また、時間のかかる計算を伴う場合もあります。 カウンターとタイマーはインクリメントし、クリアしないでください。 カウンターは、コンシューマーによってサンプリングされる間に 2 回ラップされない限り、ラップできます。 アプリケーションは、パフォーマンスに影響を与えない限り、通常の実行中にデータを収集して格納できます。

一部の種類のデータでは、必要に応じてデータを収集する方が効率的または適切な場合があります。 このような場合、パフォーマンス DLL は、データが要求されたことをアプリケーションと通信する必要があります。 (プロセッサ時間またはメモリ使用量の観点から) 収集コストの高いデータの場合は、コンシューマーがコストの高い データ 要求した場合にのみ、データを収集することを検討してください。 これにより、コンシューマーは、コストの高くないすべてのカウンターのデータを定期的に要求できます。 データは、必要な場合にのみ要求できます。 パフォーマンス ツールでは、コストの高い データ 収集されません。