CLR ETW 关键字和级别

可以按类别和级别筛选 Windows 事件跟踪 (ETW) 事件。 可以利用事件关键字CLR ETW 关键字按类别筛选事件;将为运行时提供程序和断开提供程序组合使用这些关键字。 事件级别由标记来标识。

CLR ETW 关键字

关键字是可以进行组合以生成值的标志。 实际上,在调用命令行实用工具时使用的是关键字的十六进制值,而不是关键字名称。

下表将对这些关键字进行描述:

  • CLR ETW 运行时关键字

  • CLR ETW 断开关键字

  • 用于运行时提供程序的符号解析的关键字组合

  • 用于断开提供程序的符号解析的关键字组合

CLR ETW 运行时关键字

下表列出了 CLR ETW 运行时关键字、关键字的值和关键字的用途。

运行时关键字名称

用途

GCKeyword

0x00000001

启用垃圾回收事件的收集。

LoaderKeyword

0x00000008

启用加载程序事件的收集。

JITKeyword

0x00000010

启用实时 (JIT) 事件的收集。

NGenKeyword

0x00000020

启用由本机映像生成器 (Ngen.exe) 处理的本机映像方法的事件的收集;与 StartEnumerationKeyword 和 EndEnumerationKeyword 一起使用。

StartEnumerationKeyword

0x00000040

启用运行时中所有方法的枚举;与 NGenKeyword 结合使用。

EndEnumerationKeyword

0x00000080

启用运行时中销毁的所有方法的枚举;与 JITKeyword 和 NGenKeyword 结合使用。

SecurityKeyword

0x00000400

启用安全事件的收集。

AppDomainResourceManagementKeyword

0x00000800

启用应用程序域级别的资源监视事件的收集。

JITTracingKeyword

0x00001000

启用 JIT 跟踪事件的收集。

InteropKeyword

0x00002000

启用互操作事件的收集。

ContentionKeyword

0x00004000

启用争用事件的收集。

ExceptionKeyword

0x00008000

启用异常事件的收集。

ThreadingKeyword

0x00010000

启用线程池事件的收集。

StackKeyword

0x40000000

启用 CLR 堆栈跟踪事件的收集。

返回页首

CLR ETW 断开关键字

下表列出了 CLR ETW 断开关键字、关键字的值和关键字的用途。

断开关键字名称

用途

LoaderRundownKeyword

0x00000008

当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,启用加载程序事件的收集。

JitRundownKeyword

0x00000010

当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,为 JIT 编译的方法启用方法 DCStart 和 DCEnd 事件的收集。

NGenRundownKeyword

0x00000020

当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,为 NGEN 本机映像方法启用方法 DCStart 和 DCEnd 事件的收集。

StartRundownKeyword

0x00000040

启用开始断开期间的系统状态的枚举。

EndRundownKeyword

0x00000100

启用结束断开期间的系统状态的枚举。

AppDomainResourceManagementRundownKeyword

0x00000800

当与 StartRundownKeyword 或 EndRundownKeyword 一起使用时,启用 AppDomain 级别的资源监视事件的收集。

返回页首

用于运行时提供程序的符号解析的关键字组合

关键字和标志

应用程序域、程序集、模块加载/卸载事件

方法加载/卸载事件(动态事件除外)

动态方法加载/销毁事件

LoaderKeyword

加载和卸载事件。

无。

无。

JITKeyword

(+ StartEnumerationKeyword 不添加任何内容)

无。

加载事件。

加载和卸载事件。

JITKeyword +

EndEnumerationKeyword

无。

加载和卸载事件。

加载和卸载事件。

NGenKeyword

无。

无。

不适用。

NGenKeyword +

StartEnumerationKeyword

无。

加载事件。

不适用。

NGenKeyword +

EndEnumerationKeyword

无。

卸载事件。

不适用。

返回页首

用于断开提供程序的符号解析的关键字组合

关键字和标志

应用程序域、程序集、模块 DCStart/DCEnd 事件

方法 DCStart/DCEnd 事件(包括动态方法事件)

LoaderRundownKeyword +

StartRundownKeyword

DCStart 事件。

无。

LoaderRundownKeyword +

EndRundownKeyword

DCEnd 事件。

无。

JITKeyword +

StartRundownKeyword

无。

DCStart 事件。

JITKeyword +

EndRundownKeyword

无。

DCEnd 事件。

NGenKeyword +

StartRundownKeyword

无。

DCStart 事件。

NGenKeyword +

EndRundownKeyword

无。

DCEnd 事件。

返回页首

ETW 事件级别

ETW 事件也可以按级别进行筛选。 如果级别设置为 0x5,则将引发包括 0x5 及以下级别在内的所有级别的事件,这些事件属于通过关键字启用的类别的事件。 如果级别设置为 0x2,则将只引发属于级别 0x2 及以下级别的事件。

这些级别的含义如下:

0x5 - 详细

0x4 - 信息性

0x3 - 警告

0x2 - 错误

0x1 - 严重

0x0 - 始终记录

返回页首

请参见

概念

CLR ETW 事件

其他资源

CLR ETW 提供程序

公共语言运行时中的 ETW 事件