EventProvider
Windows イベント トレーシング (ETW) のユーザー モード プロバイダーを構成します。
要素の階層
-
<
WindowsPerformanceRecorder>
-
<
プロファイル>
- < EventProvider>
-
<
Profile>
-
<
コレクター>
-
<
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>
属性および要素
属性
属性 | 説明 | データ型 | 必須 | Default |
---|---|---|---|---|
Id | イベント プロバイダーを一意に識別します。 | 少なくとも 1 つの文字を含み、コロン (:) とスペースを含めることができない文字列。 | はい | |
名前 | イベント プロバイダーの名前。 | この属性は、次のいずれかの値になります。
|
はい | |
ProcessExeFilter | 指定されたプロセス名 .exe に基づいてイベントをフィルター処理します。 EVENT_FILTER_DESCRIPTOR でフィルター データを設定します。 | これは、WPR プロファイルの EventProvider ID に追加するオプションの属性です。 次に例を示します。
|
いいえ | |
Base | プロバイダーのベースを示します。 | string | いいえ | |
NonPagedMemory | トレース セッションには非ページ メモリを使用します。 | boolean | いいえ | false |
スタック | イベントを使用してスタックをキャプチャする | boolean | いいえ | false |
SID | ログに記録されたイベントの拡張データに、ユーザーのセキュリティ識別子 (SID) を含める。 EVENT_ENABLE_PROPERTY_SID を設定します。 | boolean | いいえ | false |
TSID | ログに記録されたイベントの拡張データにターミナル セッション識別子を含める。 EVENT_ENABLE_PROPERTY_TS_ID を設定します。 | boolean | いいえ | false |
Level | レベル値を示します。 | unsignedByte | いいえ | 0。ETW では 0xFF として扱われます。 |
CaptureStateOnly | トレース セッションの開始時または保存時にのみプロバイダーを有効にしました。 | boolean | いいえ | false |
Strict | プロバイダーを有効にできない場合は、トレース記録を失敗します。 | boolean | いいえ | false |
EventKey | 拡張データにイベント キーを含め、EVENT_ENABLE_PROPERTY_EVENT_KEY フラグを設定します。 | boolean | いいえ | false |
ExecludeInPrivate | InPrivate イベントとしてマークされているイベント、または InPrivate プロセスからのイベントをすべて除外します。 EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE フラグを設定する | boolean | いいえ | false |
EnableSilos | ホスト ログ セッションがサーバー サイロから真紅のイベントを収集できるようにします。 フラグEVENT_ENABLE_PROPERTY_ENABLE_SILOS設定します。 | boolean | いいえ | false |
ContainerId | プロバイダーのイベントにソース コンテナー情報をマークします。 フラグEVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING設定します。 | boolean | いいえ | false |
子要素
要素 | 説明 | 要件 |
---|---|---|
Keywords (EventProvider 内) | Keyword (EventProvider 内) 要素のコレクションを表します。 | オプション、1 以上。 |
CaptureStateOnStart | トレースの開始時にキャプチャされるイベントの Keyword (EventProvider 内) 要素のコレクションを表します。 | オプション (0 または 1 )。 |
CaptureStateOnSave | トレースの保存時にキャプチャされるイベントの Keyword (EventProvider 内) 要素のコレクションを表します。 | オプション (0 または 1 )。 |
CaptureStateOnDemand | ユーザーがコマンドを使用してトリガーしたときにキャプチャされるイベントの Keyword 要素 (EventProvider 内) のコレクションを wpr -capturestateondemand 表します。 |
オプション、0 または 1 個。 |
Stacks | スタックのコレクションを表します。 UMGL プロバイダーの場合。 | オプション、1 つのみ。 |
EventFilters | イベント ID フィルターのコレクションを表します。 | オプション、1 つのみ。 |
StackFilters | イベント ID でスタック フィルターのコレクションを表します。 | オプション、1 つのみ。 |
EventNameFilters | イベント名フィルターのコレクションを表します。 | オプション、1 つのみ。 |
StackEventNameFilters | イベント名でスタック フィルターのコレクションを表します。 | オプション、1 つのみ。 |
StackKeywordLevelFilter | キーワード (keyword)とレベルでスタック フィルターのコレクションを表します | オプション、1 つのみ。 |
親要素
要素 | 説明 |
---|---|
EventProviders | EventProvider 要素のコレクションを表します。 |
Profiles | コレクター、プロバイダー、およびプロファイルのコレクションを表します。 |
注釈
プロバイダー定義の順序は重要です。 定義は、.wprp ファイルの次の順序で指定する必要があります。
- Collectors
- システム プロバイダー
- イベント プロバイダー
省略可能な内部 XML タグは、有効にするキーワードを指定します。 システム プロバイダーとは異なり、イベント プロバイダーにはテキスト定数が定義されていないため、16 進形式の文字列を使用する必要があります。 ただし、構文はシステム プロバイダーの場合と同じです。 キーワードが指定されていない場合は、既定値のゼロが使用されます (ETW では文字列 0xFFFFFFFFFFFFFFFF として扱われます)。
派生イベント プロバイダーには、既定で基本プロバイダーのすべての属性が含まれます。 これらは、派生プロバイダーで明示的に指定することによってオーバーライドできます。 詳細については、「継承」を参照してください。
例
次の例では、2 つのイベント プロバイダーを定義します。
<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>