应用程序域资源监视 (ARM) ETW 事件

这些事件提供有关应用程序域的状态的详细诊断信息。 可以使用这些事件或使用应用程序域资源监视 (ARM) 功能来获取相同的信息。

此类别由以下事件组成:

  • ThreadCreated 事件

  • AppDomainMemAllocated 事件

  • AppDomainMemSurvived 事件

  • ThreadAppDomainEnter 事件

  • ThreadTerminated 事件

ThreadCreated 事件

此事件还会由断开提供程序作为 ThreadDC 引发(使用 AppDomainResourceManagementRundownKeyword 关键字)。 这是断开提供程序在此类别中引发的唯一事件。

下表显示关键字和级别。 (有关更多信息,请参见 CLR ETW 关键字和级别。)

用于引发事件的关键字

级别

AppDomainResourceManagementKeyword (0x800)

信息性 (4)

ThreadingKeyword (0x10000)

信息性 (4)

下表显示事件信息。

Event

事件 ID

在以下情况下引发

ThreadCreated

85

已为应用程序域创建线程。

下表显示事件数据。

字段名

数据类型

说明

ThreadID

win:UInt64

已创建的线程的 ID。

AppDomainID

win:UInt64

正在报告其线程活动的应用程序域的标识符。

Flags

win:UInt32

线程创建标志。

ManagedThreadIndex

win:UInt32

已创建的线程的托管索引。

OSThreadID

win:UInt32

已创建的线程的操作系统 ID。

ClrInstanceID

win:UInt16

CLR 或 CoreCLR 的实例的唯一 ID。

返回页首

AppDomainMemAllocated 事件

下表显示关键字和级别。

用于引发事件的关键字

级别

AppDomainResourceManagementKeyword (0x800)

信息性 (4)

下表显示事件信息。

Event

事件 ID

在以下情况下引发

AppDomainMemAllocated

83

每当在应用程序域中分配 4 MB 的内存(大约值)时。

下表显示事件数据。

字段名

数据类型

说明

AppDomainID

win:UInt64

正在报告其资源使用状况的应用程序域的标识符。

Allocated

win:UInt64

自创建应用程序域以来,已在此应用程序域中分配的总字节数(不扣除已释放的内存量)。

ClrInstanceID

win:UInt16

CLR 或 CoreCLR 的实例的唯一 ID。

返回页首

AppDomainMemSurvived 事件

下表显示关键字和级别。

用于引发事件的关键字

级别

AppDomainResourceManagementKeyword (0x800)

信息性 (4)

下表显示事件信息。

Event

事件 ID

在以下情况下引发

AppDomainMemSurvived

84

每当结束垃圾回收时。

下表显示事件数据。

字段名

数据类型

说明

AppDomainID

win:UInt64

正在报告其资源使用状况的域的标识符。

Survived

win:UInt64

在上一次回收后已知由此应用程序域保留的字节数。 在完整的回收之后,此数字准确且完整;但在暂时的回收之后,此数字可能不完整。

ProcessSurvived

win:UInt64

上一次回收后保留的总字节数。 在完整的回收之后,此数字表示托管堆中实时保留的字节数。 在暂时的回收之后,此数字表示暂时代中实时保留的字节数。

ClrInstanceID

win:UInt16

CLR 或 CoreCLR 的实例的唯一 ID。

返回页首

ThreadAppDomainEnter 事件

下表显示关键字和级别。

用于引发事件的关键字

级别

AppDomainResourceManagementKeyword (0x800)

信息性 (4)

ThreadingKeyword (0x10000)

信息性 (4)

下表显示事件信息。

Event

事件 ID

在以下情况下引发

ThreadAppDomainEnter

87

当线程进入应用程序域时。

下表显示事件数据。

字段名

数据类型

说明

ThreadID

win:UInt64

线程标识符。

AppDomainID

win:UInt64

应用程序域标识符。

ClrInstanceID

win:UInt16

CLR 或 CoreCLR 的实例的唯一 ID。

返回页首

ThreadTerminated 事件

下表显示关键字和级别。

用于引发事件的关键字

级别

AppDomainResourceManagementKeyword (0x800)

信息性 (4)

ThreadingKeyword (0x10000)

信息性 (4)

下表显示事件信息。

Event

事件 ID

在以下情况下引发

ThreadTerminated

86

当终止线程时。

下表显示事件数据:

字段名

数据类型

说明

ThreadID

win:UInt64

线程标识符。

AppDomainID

win:UInt64

应用程序域标识符。

ClrInstanceID

win:UInt16

CLR 或 CoreCLR 的实例的唯一 ID。

返回页首

请参见

概念

CLR ETW 事件