争用 ETW 事件
只要运行时使用的 System.Threading.Monitor 锁或本机锁出现争用情况,就会引发争用事件。 一个线程等待的锁被另一线程占有时将发生争用。
下表显示了引发争用事件的关键字以及事件的级别。 有关详细信息,请参阅 CLR ETW 关键字和级别。
引发事件的关键字 | Level |
---|---|
ContentionKeyword (0x4000) |
信息性 (4) |
下表显示事件信息:
事件 | 事件 ID | 在发生以下情况时引发 |
---|---|---|
ContentionStart_V1 |
81 | 争用开始。 此事件不包括线程等待获取锁之前的旋转时间;仅在线程等待获取锁时引发此事件。 |
ContentionStop |
91 | 争用结束。 |
下表显示事件数据:
字段名称 | 数据类型 | 说明 |
---|---|---|
Flags | win:UInt8 | 0 表示托管;1 表示本机。 |
ClrInstanceID | win:UInt16 | CLR 实例的唯一 ID。 |