JIT 追蹤 ETW 事件
這些事件會收集 just-in-time (JIT) 內嵌和 JIT tail 呼叫成功或失敗的相關資訊。
JIT 內嵌事件
MethodJitInliningFailed 事件
下表說明關鍵字和層級。 (如需詳細資訊,請參閱 CLR ETW Keywords and Levels)。
引發事件的關鍵字 | 層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表說明事件資訊。
事件 | 事件識別碼 | 引發的時機 |
---|---|---|
MethodJitInliningFailed |
186 | JIT 內嵌失敗。 |
下表說明事件資料。
欄位名稱 | 資料類型 | 描述 |
---|---|---|
MethodBeingCompiledNamespace | win:UnicodeString | 正在編譯之方法的命名空間。 |
MethodBeingCompiledName | win:UnicodeString | 正在編譯之方法的名稱。 |
MethodBeingCompiledNameSignature | win:UnicodeString | 正在編譯之方法的簽章。 |
InlinerNamespace | win:UnicodeString | JIT 編譯器正在嘗試產生其程式碼之方法的命名空間。 |
InlinerName | win:UnicodeString | 編譯器正在嘗試產生其程式碼之方法的名稱。 如果編譯器嘗試內嵌程式碼到 MethodBeingCompiledName ,而非產生 MethodBeingCompiledName 的呼叫,則這可能與 InlinerName 不同。 |
InlinerNameSignature | win:UnicodeString | 內嵌者的簽章。 |
InlineeNamespace | win:UnicodeString | 被內嵌者的命名空間。 |
InlineeName | win:UnicodeString | 編譯器嘗試要內嵌的方法 (而非產生呼叫)。 |
InlineeNameSignature | win:UnicodeString | 被內嵌者的簽章。 |
FailAlways | win:Boolean | 對 JIT 編譯器的提示,對於被內嵌者的內嵌一律將會失敗。 |
FailReason | win:UnicodeString | INLINE_NEVER 表示先前的內嵌嘗試決定了內嵌因為某些原因永遠不會成功,否則則為自由形式文字。 |
ClrInstanceID | win:UnicodeString | CLR 或 CoreCLR 執行個體的唯一 ID。 |
MethodJitInliningSucceeded 事件
下表說明關鍵字和層級。
引發事件的關鍵字 | 層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表說明事件資訊。
事件 | 事件識別碼 | 引發的時機 |
---|---|---|
MethodJitInliningSucceeded |
185 | 方法內嵌已成功。 |
下表說明事件資料。
欄位名稱 | 資料類型 | 描述 |
---|---|---|
MethodBeingCompiledNamespace | win:UnicodeString | 正在編譯之方法的命名空間。 |
MethodBeingCompiledName | win:UnicodeString | 正在編譯之方法的名稱。 |
MethodBeingCompiledNameSignature | win:UnicodeString | 正在編譯之方法的簽章。 |
InlinerNamespace | win:UnicodeString | JIT 編譯器正在嘗試產生其程式碼之方法的命名空間。 |
InlinerName | win:UnicodeString | 編譯器正在嘗試產生其程式碼之方法的名稱。 如果編譯器嘗試內嵌程式碼到 MethodBeingCompiledName ,而非產生 MethodBeingCompiledName 的呼叫,則這可能與 InlinerName 不同。 |
InlinerNameSignature | win:UnicodeString | 內嵌者的簽章。 |
InlineeNamespace | win:UnicodeString | 被內嵌者的命名空間。 |
InlineeName | win:UnicodeString | 編譯器嘗試要內嵌的方法 (而非產生呼叫)。 |
InlineeNameSignature | win:UnicodeString | 被內嵌者的簽章。 |
ClrInstanceID | win:UInt16 | CLR 或 CoreCLR 執行個體的唯一 ID。 |
JIT Tail 呼叫事件
MethodJITTailCallFailed 事件
下表說明關鍵字和層級。
引發事件的關鍵字 | 層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表說明事件資訊。
事件 | 事件識別碼 | 引發的時機 |
---|---|---|
MethodJitTailCallFailed |
189 | 方法 tail 呼叫失敗。 |
下表說明事件資料。
欄位名稱 | 資料類型 | 描述 |
---|---|---|
MethodBeingCompiledNamespace | win:UnicodeString | 正在編譯之方法的命名空間。 |
MethodBeingCompiledName | win:UnicodeString | 正在編譯之方法的名稱。 |
MethodBeingCompiledNameSignature | win:UnicodeString | 正在編譯之方法的簽章。 |
CallerNamespace | win:UnicodeString | JIT 編譯器正在嘗試產生其程式碼之方法的命名空間。 |
CallerName | win:UnicodeString | 編譯器正在嘗試產生其程式碼之方法的名稱。 |
CallerNameSignature | win:UnicodeString | 呼叫者的簽章。 |
CalleeNamespace | win:UnicodeString | 被呼叫者的命名空間。 |
CalleeName | win:UnicodeString | 編譯器嘗試要 tail 呼叫的方法 (而非產生呼叫)。 |
CalleeNameSignature | win:UnicodeString | 被呼叫者的簽章。 |
TailPrefix | win:Boolean | Tail 呼叫的前置詞 |
FailReason | win:UnicodeString | Tail 呼叫失敗的原因。 |
ClrInstanceID | win:UInt16 | CLR 或 CoreCLR 執行個體的唯一 ID。 |
MethodJITTailCallSucceeded 事件
下表說明關鍵字和層級。
引發事件的關鍵字 | 層級 |
---|---|
JITTracingKeyword (0x10) |
詳細資訊 (5) |
下表說明事件資訊。
事件 | 事件識別碼 | 引發的時機 |
---|---|---|
MethodJitTailCallSucceeded |
188 | 方法 tail 呼叫成功。 |
下表說明事件資料。
欄位名稱 | 資料類型 | 描述 |
---|---|---|
MethodBeingCompiledNamespace | win:UnicodeString | 正在編譯之方法的命名空間。 |
MethodBeingCompiledName | win:UnicodeString | 正在編譯之方法的名稱。 |
MethodBeingCompiledNameSignature | win:UnicodeString | 正在編譯之方法的簽章。 |
CallerNamespace | win:UnicodeString | JIT 編譯器正在嘗試產生其程式碼之方法的命名空間。 |
CallerName | win:UnicodeString | 編譯器正在嘗試產生其程式碼之方法的名稱。 |
CallerNameSignature | win:UnicodeString | 呼叫者的簽章。 |
CalleeNamespace | win:UnicodeString | 被呼叫者的命名空間。 |
CalleeName | win:UnicodeString | 編譯器嘗試要 tail 呼叫的方法 (而非產生呼叫)。 |
CalleeNameSignature | win:UnicodeString | 被呼叫者的簽章。 |
TailPrefix | win:Boolean | Tail 呼叫的前置詞。 |
TailCallType | win:UnicodeString | Tail 呼叫的類型。 |
ClrInstanceID | win:UInt16 | CLR 或 CoreCLR 執行個體的唯一 ID。 |