撰寫從 Win32_PerfFormattedData衍生類別的高效能提供者時,您必須遵循特定的慣例,以便讓 WMI 可以計算屬性值。
注意
不建議在任何版本的 Windows 作業系統上撰寫高效能 WMI 提供者來建立效能計數器。 如需詳細資訊,請參閱 將實例提供者變成 High-Performance 提供者以及 效能庫和 WMI。
下列程式描述如何支援 Win32_PerfFormattedData 類別。
以支援Win32_PerfFormattedData類別
在與對應原始類別相同的命名空間中建立您的類別。 類別必須衍生自 Win32_PerfFormattedData,並將 hiPerf 限定符設定為 TRUE。 如需為 WMI 建立您自己的類別的詳細資訊,請參閱 設計管理物件格式(MOF)類別。
在 提供者 限定符中指定 「HiPerfCooker_v1」。
除了用於原始類別的限定符之外,還指定下列類別層級限定符:
注意
請勿為 GenericPerfCtr、PerfIndex或 HelpIndex 設定任何值,因為這些值將由 ADAP 進程設定。 如需詳細資訊,請參閱 性能計數器類別的類別限定符。
在您的類別中包含名為 Name 的屬性(此屬性對於單一類別不是必需的)。
Name 屬性的值必須與對應的原始類別相同。 除了類別上的 Name 以外,您不得使用任何關鍵屬性。
建立類型為 DWORD 的屬性數據(uint32)或 QWORD (uint64)。
屬性必須對應至原始類別中的屬性,或您要建立之類別中的屬性。
除了用於原始類別屬性的 PerfIndex 和 PerfDetail 限定符之外,為類別中的所有屬性指定下列屬性層級限定符:
如需詳細資訊,請參閱性能計數器類別 屬性限定子。 此外,Winperf.h 頭檔包含您可以針對 perfDetail 和 CounterType指定的值。
效能需求
當您撰寫高效能提供者時,其效能必須符合下列需求:
- 開啟高效能 DLL 檔案不需要超過 100 毫秒。 整體而言,開啟每個高效能提供者和效能函式庫不能超過5秒。
- 每個收集的數據重新整理可能需要不超過 10 毫秒的時間。 在整體重新整理和收集作業上,所有高效能提供者在一起都不能超過800毫秒。
- 所有高效能提供者的整體 CPU 負載互動時不得超過 6-7 的% CPU 額外負擔,或記錄時不得超過 5 的%。
相關主題