共用方式為


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

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

TieredCompilationSettings 事件

下表顯示 關鍵詞和層級。

引發事件的關鍵詞 水準
CompilationKeyword (0x1000000000) 資訊 (4)

下表顯示事件資訊。

事件 事件標識碼 引發時機
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)

下表顯示事件資訊。

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

下表顯示事件數據。

功能變數名稱 數據類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一標識符。

TieredCompilationResume 事件

下表顯示 關鍵詞和層級。

引發事件的關鍵詞 水準
CompilationKeyword (0x1000000000) 資訊 (4)

下表顯示事件資訊。

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

下表顯示事件數據。

功能變數名稱 數據類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一標識符。
NewMethodCount win:UInt32 在階層式編譯暫停時,第一次呼叫的新方法數目。

TieredCompilationBackgroundJitStart 事件

下表顯示 關鍵詞和層級。

引發事件的關鍵詞 水準
CompilationKeyword (0x1000000000) 資訊 (4)

下表顯示事件資訊。

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

下表顯示事件數據。

功能變數名稱 數據類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一標識符。
PendingMethodCount win:UInt32 擱置背景 JIT 編譯的方法數目。

TieredCompilationBackgroundJitStop 事件

下表顯示 關鍵詞和層級。

引發事件的關鍵詞 水準
CompilationKeyword (0x1000000000) 資訊 (4)

下表顯示事件資訊。

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

下表顯示事件數據。

功能變數名稱 數據類型 描述
ClrInstanceID win:UInt16 CoreCLR 實例的唯一標識符。
PendingMethodCount win:UInt32 仍然擱置背景 JIT 編譯的方法數目。
JittedMethodCount win:UInt32 自上次啟動背景 JIT 編譯以來,在背景中編譯 JIT 編譯的方法數目。