.NET 執行時間階層式編譯事件

本文所述的事件會收集階層式編譯的相關資訊。 如需如何針對診斷目的使用這些事件的詳細資訊,請參閱 記錄和追蹤 .NET 應用程式

TieredCompilation設定 事件

下表說明關鍵字和層級。

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

下表說明事件資訊。

Event 事件識別碼 引發的時機
TieredCompilationSettings 280 提供階層式編譯設定的相關資訊。

下表說明事件資料。

欄位名稱 資料類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一識別碼。
Flags win:UInt32 指出各種設定的旗標。 可能會提供多個旗標與位 OR,而 的值 0x0 表示未提供任何旗標。

0x1 - 已啟用快速 JIT。 如果方法沒有先行編譯的程式碼,第一層會快速編譯 JIT,但優化次數較少。

0x2 - 針對包含迴圈的方法啟用快速 JIT。

0x4 - 已啟用階層式 PGO。 方法可能會在優化之前加以分析。

0x8 - 已啟用 ReadyToRun。 具有先行編譯 ReadyToRun 程式碼的方法,會針對第一層使用該方法。

TieredCompilationPause 事件

下表說明關鍵字和層級。

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

下表說明事件資訊。

Event 事件識別碼 引發的時機
TieredCompilationPause 281 階層式編譯已暫停。 階層式編譯可能會因為類似啟動的活動而暫停,例如第一次呼叫的新方法,以減少應用程式啟動期間的額外負荷,例如呼叫計數和背景 JIT 編譯。 在類似啟動的活動短暫停止之後,它會繼續執行。

下表說明事件資料。

欄位名稱 資料類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一識別碼。

TieredCompilationResume 事件

下表說明關鍵字和層級。

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

下表說明事件資訊。

Event 事件識別碼 引發的時機
TieredCompilationResume 282 階層式編譯已繼續。

下表說明事件資料。

欄位名稱 資料類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一識別碼。
NewMethodCount win:UInt32 在階層式編譯暫停時,第一次呼叫的新方法數目。

TieredCompilationBackgroundJitStart 事件

下表說明關鍵字和層級。

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

下表說明事件資訊。

Event 事件識別碼 引發的時機
TieredCompilationBackgroundJitStart 283 背景 JIT 編譯已開始。

下表說明事件資料。

欄位名稱 資料類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一識別碼。
PendingMethodCount win:UInt32 擱置背景 JIT 編譯的方法數目。

TieredCompilationBackgroundJitStop 事件

下表說明關鍵字和層級。

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

下表說明事件資訊。

Event 事件識別碼 引發的時機
TieredCompilationBackgroundJitStop 284 背景 JIT 編譯已停止。

下表說明事件資料。

欄位名稱 資料類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一識別碼。
PendingMethodCount win:UInt32 仍然擱置背景 JIT 編譯的方法數目。
JittedMethodCount win:UInt32 自上次啟動背景 JIT 編譯以來,在背景中編譯 JIT 編譯的方法數目。