.NET 執行時間爭用事件

這些運行時間事件會擷取監視鎖定競爭的相關資訊,例如 使用 Monitor.Enter 或 C# lock 關鍵字。 如需如何針對診斷用途使用這些事件的詳細資訊,請參閱 記錄和追蹤 .NET 應用程式

ContentionStart_V2事件

此事件會在監視鎖定競爭開始時發出。

引發事件的關鍵字 層級
ContentionKeyword (0x4000) 告知性 (4)

下表顯示事件資訊。

事件 事件識別碼 引發的時機
ContentionStart_V2 81 監視器鎖定競爭隨即啟動。
欄位名稱 資料類型 描述
Flags win:UInt8 0 用於 Managed; 1 適用于原生。
ClrInstanceID win:UInt16 CoreCLR 執行個體的唯一識別碼。
LockObjectID win:Pointer 鎖定物件的位址。
LockOwnerThreadID win:Pointer 擁有鎖定的執行緒位址。

ContentionStop_V1 事件

此事件會在監視鎖定競爭結束時發出。

引發事件的關鍵字 層級
ContentionKeyword (0x4000) 告知性 (4)

下表顯示事件資訊。

事件 事件識別碼 引發的時機
ContentionStop_V1 91 監視器鎖定競爭結束。
欄位名稱 資料類型 描述
Flags win:UInt8 0 用於 Managed; 1 適用于原生。
ClrInstanceID win:UInt16 CoreCLR 執行個體的唯一識別碼。
DurationNs win:Double 以奈秒為單位的爭用持續時間。