パフォーマンス データの表示

ほとんどのカウンターでは、表示可能な値を計算するために 2 つのサンプル値が必要です。 各カウンターの数式によって、カウンターに 2 つのサンプルが必要かどうかが決まります。 カウンターとその数式の一覧については、 Windows Server 2003 展開キットのカウンターの種類に関するセクションを参照してください。

パフォーマンス データの収集は、 サンプル データを取得する方法を示しています。 サンプルを取得したら、通常、 PdhGetFormattedCounterValue を呼び出して、表示可能な値を計算します。

値を表示するためにカウンター値をスケールアップまたはスケールダウンする必要がある場合は、PdhGetFormattedCounterValue を呼び出す前に PdhSetCounterScaleFactor 関数を呼び出します。 カウンター値は、-7 から 7 の係数から 10 の累乗でスケーリングできます。

カウンター パスにインスタンス名のワイルドカード文字が含まれている場合は、 PdhGetFormattedCounterArray を呼び出して、収集された各インスタンスの書式設定されたカウンター値の配列を取得します。

PdhCalculateCounterFromRawValue 関数と PdhFormatFromRawValue 関数を使用して、表示可能な値を計算することもできます。 これらの関数を使用するには、 各 PdhCollectQueryData 呼び出しの後に収集されたサンプルを取得し、サンプルを自分で格納する必要があります。 サンプルを取得するには、 PdhGetRawCounterValue または PdhGetRawCounterArray 関数を呼び出します。 時間ベースのカウンター値の場合は、PdhFormatFromRawValue の前に PdhGetCounterTimeBase を呼び出して、カウンターの時間ベースを取得します。

生データを使用して計算を実行する場合は、サンプルを使用する前に、常に PDH_RAW_COUNTER 構造体の CStatus メンバーをチェックします。 CStatus の値がPDH_CSTATUS_NEW_DATAまたはPDH_CSTATUS_VALID_DATAでない場合、サンプルは無効です。

カウンターの統計の表示

カウンターの最小値、最大値、平均値を計算する場合は、 PdhComputeCounterStatistics 関数を 呼び出します。 サンプルを収集するときは、PdhComputeCounterStatistics に渡す配列にPDH_RAW_COUNTER構造体を格納します。 関数は、 PDH_STATISTICS 構造体の統計値を返します。

この関数を使用して、ログ ファイルを圧縮することもできます。 たとえば、ログ ファイルから 10 個のレコードを読み取り、 PdhComputeCounterStatistics を呼び出して平均値を計算し、その平均値を出力ログ ファイルに書き込みます。