Поделиться через


Поддержка класса Win32_PerfFormattedData

При написании поставщика высокой производительности, наследующего классы из Win32_PerfFormattedData, необходимо следовать определенным соглашениям, чтобы WMI могли вычислить значения свойств.

Заметка

Создание высокопроизводительного поставщика WMI для работы с счетчиками производительности не рекомендуется для любой версии операционной системы Windows. Дополнительные сведения см. в статье Создание поставщика экземпляров впоставщика High-Performance и библиотек производительности иWMI.

 

В следующей процедуре описывается поддержка класса Win32_PerfFormattedData.

Для поддержки класса Win32_PerfFormattedData

  1. Создайте класс в том же пространстве имен, что и соответствующий необработанный класс. Класс должен быть производным от Win32_PerfFormattedData и иметь квалификатор HiPerf, установленный в TRUE. Дополнительные сведения о создании собственного класса для WMI см. в разделе Проектирование классов управляемого формата объектов (MOF).

  2. Укажите значение "HiPerfCooker_v1" в квалификаторе поставщика.

  3. Укажите следующие квалификаторы уровня класса в дополнение к квалификаторам, используемым для необработанных классов:

    Заметка

    Не устанавливайте никаких значений для GenericPerfCtr, PerfIndexили HelpIndex, так как они будут заданы процессом ADAP. Дополнительные сведения см. в разделе квалификаторы классов для классов счетчиков производительности.

     

  4. Включите свойство ключа с именем Name в класс (это свойство не требуется для одноэлементных классов).

    Значение свойства Name должно совпадать со значением соответствующего необработанного класса. В классе не следует использовать ни одно свойство ключа, отличное от Name.

  5. Создайте свойства данных, типизированные как DWORD (uint32) или QWORD (uint64).

    Свойства должны соответствовать свойству в необработанном классе или свойстве создаваемого класса.

  6. Укажите следующие квалификаторы уровня свойств для всех свойств вашего класса в дополнение к используемым для сырого класса квалификаторам PerfIndex и PerfDetail:

    Дополнительные сведения см. в разделе Квалификаторы свойств для классов счетчиков производительности. Кроме того, файл заголовка Winperf.h содержит значения, которые можно указать для PerfDetail и CounterType.

  7. Убедитесь, что поставщик соответствует требованиям производительности.

Требования к производительности

Создавая поставщика высокой производительности, производительность поставщика должна соответствовать следующим требованиям:

  • Открытие высокопроизводительного DLL-файла может занять не более 100 миллисекунда. В целом открытие каждого поставщика высокой производительности и библиотеки производительности не может превышать 5 секунд.
  • Обновление данных может занять не более 10 миллисекунда на сбор. В ходе общей операции обновления и сбора данных совокупная работа всех поставщиков высокой производительности должна занимать не более 800 миллисекунд.
  • Общая загрузка ЦП для всех поставщиков высокой производительности не может превышать 6–7% нагрузку на ЦП интерактивно или 5% для ведения журнала.

Превращение поставщика экземпляров в High-Performance поставщика