Мониторинг производительности режима ядра

Операционная система Microsoft Windows позволяет системным компонентам и сторонним организациям предоставлять метрики производительности стандартным способом с помощью счетчиков производительности.

Сведения о добавлении нового поставщика счетчиков производительности в код см. в разделе Использование счетчиков производительности в режиме ядра.

Сведения о счетчиках производительности режима ядра

Счетчики производительности — это значения, публикуемые компонентом, чтобы системные администраторы и разработчики могли понять состояние компонента. Например, сетевой компонент может публиковать количество пакетов, отправленных через сетевое подключение.

Система счетчиков производительности Windows позволяет различным компонентам публиковать счетчики производительности с помощью согласованного и обнаруживаемого интерфейса. Издатели счетчиков производительности Windows используются с помощью средств графического интерфейса пользователя (например, perfmon), программ командной строки (например, typeperf) и API (например, PDH и WMI). Дополнительные сведения см. в статье Performance Counters. Компонент, публикующий счетчики производительности, называется поставщиком счетчиков производительности.

Значения счетчиков производительности можно опубликовать тремя способами.

  1. Компонент пользовательского режима (например, служба) может публиковать счетчики через API PerfLib.

  2. Компонент режима ядра (например, драйвер) может публиковать счетчики через API PCW.

  3. Библиотека DLL расширения производительности внутри процесса может выполнять пользовательскую коллекцию. Обратите внимание, что библиотеки DLL расширения производительности в процессе являются устаревшими и не должны использоваться новыми компонентами из-за проблем с производительностью и надежностью.

Счетчики производительности для Windows (PCW) отслеживают наборы счетчиков, предоставляемые компонентами режима ядра. Он направляет запросы на сбор данных потребителя соответствующему компоненту режима ядра и возвращает запрошенные данные потребителю пользовательского режима.

Функции поставщика счетчиков производительности режима ядра

Счетчик производительности режима ядра использует следующие DDIs:

PcwAddInstance

PcwCallback

PcwCloseInstance

PcwCreateInstance

PcwRegister

PcwUnregister

Структуры и перечисления счетчиков производительности режима ядра

PCW_CALLBACK_INFORMATION

PCW_CALLBACK_TYPE

PCW_COUNTER_DESCRIPTOR

PCW_COUNTER_INFORMATION

PCW_DATA

PCW_MASK_INFORMATION

PCW_REGISTRATION_INFORMATION

См. также раздел

Использование счетчиков производительности режима ядра

Счетчики производительности Win32