检索已注册提供商的ETW提供商清单

本文关键字:提供商 ETW 注册 检索 | 更新日期: 2023-09-27 18:13:24

我想检索提供程序"Microsoft-Windows-HttpService"的manifest xml文件。

我正在使用Microsoft.Diagnostics.Tracing库在我的。net应用程序中使用ETW事件。

这个库有一些内置的解析器,如KernelTraceEventParser, ClrTraceEventParser。但是它没有解析器Http服务。我正在尝试为此创建新的解析器。

我尝试了下面的命令来生成manifest

perfView /onlyProviders=*Microsoft-Windows-HttpService collect 

并从生成的。zip文件中,运行下面的命令生成manifest。

perfView /noGui userCommand DumpEventSourceManifests PerfViewData.etl.zip 

现在使用TraceParserGen生成CSharp代码

TraceParserGen  ManifestFileName

但是这给了我错误:读取manifest文件Microsoft-Windows-HttpService.manifest.xml错误:Error Microsoft-Windows-HttpService.manifest.xml(42): Undefined Id SrvdFrmCache

我尝试为几个事件也创建手动类,它读取事件,但无法读取有效负载。

请让我知道我如何为这个提供程序生成正确的清单并生成解析器。

检索已注册提供商的ETW提供商清单

DumpEventSOurceManifests命令应该只为任何在给定跟踪中活动的System.Diagnostics.Tracing.EventSource生成manifest.xml文件。由于HttpService不是一个事件源(它是由操作系统实现的,甚至不使用。net),这将不起作用

有一个命令

PerfView userCommand DumpRegisteredManifest Microsoft-Windows-HttpService 

这将对任何向操作系统注册自己的ETW提供程序做同样的事情(大多数操作系统提供程序都这样做,包括HttpService)。