EventProvider
Настраивает поставщика пользовательского режима трассировки событий Windows (ETW).
Иерархия элементов
-
<
WindowsPerformanceRecorder>
-
<
Профили>
- < EventProvider>
-
<
Профиль>
-
<
Коллекционеров>
-
<
EventCollectorId>
-
<
EventProviders>
- < EventProvider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Коллекционеров>
-
<
Профили>
Синтаксис
<EventProvider Id = IdType
Name = string
Base = string
NonPageMemory = boolean
Stack = boolean
SID = boolean
TSID = boolean
Level = unsigendByte
CaptureStateOnly = boolean
Strict = boolean
ProcessExeFilter = string
EventKey = boolean
ExcludeInPrivate = boolean>
<!-- Child elements -->
Keywords,
CaptureStateOnStart,
CaptureStateOnSave,
CaptureStateOnDemand,
Stacks,
EventFilters,
StackFilters,
EventNameFilters,
StackEventNameFilters,
StackKeywordLevelFilter
</EventProvider>
Атрибуты и элементы
Атрибуты
Атрибут | Описание | Тип данных | Обязательно | Значение по умолчанию |
---|---|---|---|---|
Id | Уникально идентифицирует поставщика событий. | Строка, которая должна содержать по крайней мере один символ и не может содержать двоеточие (:) или пробелы. | Да | |
имя; | Имя поставщика событий. | Этот атрибут может иметь одно из следующих значений:
|
Да | |
ProcessExeFilter | Фильтрует событие на основе указанного имени .exe процесса. Задает данные фильтра в EVENT_FILTER_DESCRIPTOR. | Это необязательный атрибут, добавляемый к идентификатору EventProvider в профиле WPR. Пример:
|
Нет | |
Базы | Указывает базу для поставщика. | строка | Нет | |
NonPagedMemory | Используйте нестраничную память для сеанса трассировки. | Логическое | Нет | false |
Стек | Запись стеков с помощью события | Логическое | Нет | false |
SID | Включите идентификатор безопасности (SID) пользователя в расширенные данные зарегистрированных событий. Задает EVENT_ENABLE_PROPERTY_SID. | Логическое | Нет | false |
TSID | Включите идентификатор сеанса терминала в расширенные данные зарегистрированных событий. Задает EVENT_ENABLE_PROPERTY_TS_ID. | Логическое | Нет | false |
Уровень | Указывает значение уровня. | unsignedByte | Нет | Ноль, который трассировка событий Windows обрабатывает как 0xFF. |
CaptureStateOnly | Поставщик включается только при запуске или сохранении сеанса трассировки. | Логическое | Нет | false |
Strict | Не удастся выполнить запись трассировки, если поставщик не может быть включен. | Логическое | Нет | false |
EventKey | Включите ключ события в расширенные данные и задает флаг EVENT_ENABLE_PROPERTY_EVENT_KEY. | Логическое | Нет | false |
ExecludeInPrivate | Отфильтруйте все события, помеченные как событие InPrivate или поступающие из процесса InPrivate. Задает флаг EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE | Логическое | Нет | false |
EnableSilos | Позволяет сеансам ведения журнала узла собирать события Crimson из разрозненных серверов. Задает флаг EVENT_ENABLE_PROPERTY_ENABLE_SILOS. | Логическое | Нет | false |
ContainerId | Помечает события поставщика сведениями об исходном контейнере. Задает флаг EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING. | Логическое | Нет | false |
Дочерние элементы
Элемент | Описание | Требование |
---|---|---|
Ключевые слова (в EventProvider) | Представляет коллекцию элементов Keyword (в EventProvider). | Необязательный, 1 или более. |
CaptureStateOnStart | Представляет коллекцию элементов Keyword (в EventProvider) для событий, которые должны быть захвачены в начале трассировки. | Необязательно, ноль или 1. |
CaptureStateOnSave | Представляет коллекцию элементов Keyword (в EventProvider) для событий, которые будут записываться при сохранении трассировки. | Необязательно, ноль или 1. |
CaptureStateOnDemand | Представляет коллекцию элементов Keyword (в EventProvider) для событий, которые будут записываться при активации пользователем с wpr -capturestateondemand помощью команды . |
Необязательно, ноль или 1. |
Стеки | Представляет коллекцию стеков. Для поставщиков UMGL. | Необязательный, ровно 1. |
Фильтри событий | Представляет коллекцию фильтров идентификаторов событий. | Необязательный, ровно 1. |
StackFilters | Представляет коллекцию фильтров стека по идентификатору события. | Необязательный, ровно 1. |
EventNameFilters | Представляет коллекцию фильтров имен событий. | Необязательный, ровно 1. |
StackEventNameFilters | Представляет коллекцию фильтров стека по имени события. | Необязательный, ровно 1. |
StackKeywordLevelFilter | Представляет коллекцию фильтров стека по ключевое слово и уровню. | Необязательный, ровно 1. |
Родительские элементы
Элемент | Описание |
---|---|
EventProviders | Представляет коллекцию элементов EventProvider . |
Profiles | Представляет коллекцию сборщиков, поставщиков и профилей. |
Комментарии
Порядок определения поставщика имеет важное значение. Определения должны отображаться в wprp-файле в следующем порядке:
- Сборщики
- Системный поставщик
- Поставщики событий
Необязательные внутренние XML-теги указывают, какие ключевые слова следует включить. В отличие от системных поставщиков, для поставщиков событий не определены текстовые константы, поэтому необходимо использовать шестнадцатеричные строки. Однако синтаксис совпадает с синтаксисом для системного поставщика. Если ключевые слова не указаны, используется нулевое значение по умолчанию (которое обрабатывается трассировой событий Windows как строковое 0xFFFFFFFFFFFFFFFF).
Поставщики производных событий по умолчанию имеют все атрибуты базового поставщика. Их можно переопределить, явно указав их в производном поставщике. Дополнительные сведения см. в разделе Наследование.
Пример
В следующем примере определяются два поставщика событий.
<EventProvider
Id="Win32K-provider"
Name="Microsoft-Windows-Win32K"
NonPagedMemory="true"
Stack="true">
<Keywords>
<Keyword
Value="0x240000"/>
</Keywords>
</EventProvider>
<EventProvider
Id="Search-Core-provider"
Name="Microsoft-Windows-Search-Core"/>
В следующих примерах кода определяются поставщики состояния отслеживания.
<EventProvider Id="sample-provider" Name="SampleProvider" NonPagedMemory="true" Level="5">
<Keywords>
<Keyword Value="0x98"/> <!-- Provider is enabled with these keywords throughout the tracing session. -->
</Keywords>
<CaptureStateOnStart>
<Keyword Value="0xff4"/> <!-- Provider is enabled with these keywords when tracing is started. -->
</CaptureStateOnStart>
<CaptureStateOnSave>
<Keyword Value="0x118"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
</CaptureStateOnSave>
</EventProvider>
<EventProvider Id="EventProvider_DWMWin32k_CaptureState" Name="e7ef96be-969f-414f-97d7-3ddb7b558ccc" NonPagedMemory="true" CaptureStateOnly="true" >
<!-- CaptureStateOnly="true" means that provider is not enabled throughout the tracing session. -->
<CaptureStateOnSave>
<Keyword Value="0x80000"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
</CaptureStateOnSave>
</EventProvider>
Для управляемых сценариев используйте следующее определение поставщика событий:
<EventCollectorId Value ="ExampleEventCollector">
<EventProviders>
<EventProviderId Value="EventProvider_DotNetProvider" /> <!-- You can use this provider in the profile definition because the provider is declared in the built-in profile -->
<EventProviderId Value="Another_Example_Provider" />
</EventProvider>
</EventProviders>
</EventCollectorId>
Связанные темы
Elements (XElement Dynamic Property) (Elements (Динамическое свойство XElement))