Share via


顯示效能資料

大部分計數器都需要兩個樣本值,才能計算可顯示的值。 每個計數器的公式會判斷計數器是否需要兩個樣本。 如需計數器及其公式的清單,請參閱 Windows Server 2003 部署套件的計數器類型一節。

收集效能資料 示範如何擷取範例資料。 擁有範例之後,您通常會呼叫 PdhGetFormattedCounterValue 來計算可顯示的值。

如果您需要相應增加或減少計數器值以顯示值,請先呼叫 PdhSetCounterScaleFactor 函式,再呼叫 PdhGetFormattedCounterValue。 計數器值可以從 -7 乘以 7 到 7 的乘冪來縮放。

如果計數器路徑包含實例名稱的萬用字元,請呼叫 PdhGetFormattedCounterArray 來擷取所收集每個實例的格式化計數器值陣列。

您也可以使用 PdhCalculateCounterFromRawValuePdhFormatFromRawValue 函數來計算可顯示的值。 若要使用這些函式,您必須在每個 PdhCollectQueryData 呼叫之後擷取收集的樣本,並自行儲存範例。 若要擷取範例,請呼叫 PdhGetRawCounterValuePdhGetRawCounterArray 函式 。 針對以時間為基礎的計數器值,請在PdhFormatFromRawValue之前呼叫PdhGetCounterTimeBase以擷取計數器的時間基底。

如果您使用原始資料執行計算,請在使用範例之前,先檢查PDH_RAW_COUNTER結構的CStatus成員。 如果 CStatus 的值未PDH_CSTATUS_NEW_DATA或PDH_CSTATUS_VALID_DATA,則此範例無效。

顯示計數器的統計資料

如果您想要計算計數器的最小值、最大值和平均值,請呼叫 PdhComputeCounterStatistics 函式。 當您收集範例時,請將 PDH_RAW_COUNTER 結構儲存在您傳遞至 PdhComputeCounterStatistics 的陣列中。 函式會傳回 PDH_STATISTICS 結構中的統計值。

您也可以使用此函式來壓縮記錄檔。 例如,從記錄檔讀取十筆記錄,呼叫 PdhComputeCounterStatistics 來計算平均值,然後將平均值寫入輸出記錄檔。