.NET 中已知的事件提供者
.NET 執行階段和程式庫可透過許多不同的事件提供者寫入診斷事件。 您可以根據自己的診斷需求,選擇要啟用的適當提供者。 本文描述 .NET 執行階段和程式庫中最常用的一些事件提供者。
CoreCLR
"Microsoft-Windows-DotNETRuntime" 提供者
此提供者會從 .NET 執行階段發出各種事件,包括 GC、載入器、JIT、例外狀況和其他事件。 若要深入了解此提供者的每個事件,請參閱執行階段提供者事件清單。
"Microsoft-DotNETCore-SampleProfiler" 提供者
此提供者是受控呼叫堆疊的 CPU 取樣所使用的 .NET 執行階段事件提供者。 啟用時,會每毫秒為每個執行緒的受控呼叫堆疊擷取一次快照集。 若要啟用此擷取,必須指定 Informational
或更高的 EventLevel。
Framework 程式庫
"Microsoft-Extensions-DependencyInjection" 提供者
此提供者會記錄來自 DependencyInjection 的資訊。 下表顯示 Microsoft-Extensions-DependencyInjection
提供者所記錄的事件:
事件名稱 | 關鍵字 | 層級 | 描述 |
---|---|---|---|
CallSiteBuilt |
詳細資訊 (5) | 已建置呼叫站台。 | |
ServiceResolved |
詳細資訊 (5) | 服務已修復。 | |
ExpressionTreeGenerated |
詳細資訊 (5) | 已產生運算式樹狀架構。 | |
DynamicMethodBuilt |
詳細資訊 (5) | 已建置 DynamicMethod。 | |
ScopeDisposed |
詳細資訊 (5) | 已處置範圍。 | |
ServiceRealizationFailed |
詳細資訊 (5) | 服務實現失敗。 | |
ServiceProviderBuilt |
ServiceProviderInitialized(0x1) |
詳細資訊 (5) | 已建置 ServiceProvider。 |
ServiceProviderDescriptors |
ServiceProviderInitialized(0x1) |
詳細資訊 (5) | 在 ServiceProvider 建置期間已使用的 ServiceDescriptor 清單。 |
"System.Buffers.ArrayPoolEventSource" 提供者
此提供者會記錄來自 ArrayPool 的資訊。 下表顯示 ArrayPoolEventSource
所記錄的事件:
事件名稱 | 層級 | 描述 |
---|---|---|
BufferRented |
詳細資訊 (5) | 已成功租用緩衝區。 |
BufferAllocated |
告知性 (4) | 集區已配置緩衝區。 |
BufferReturned |
詳細資訊 (5) | 緩衝區已傳回至集區。 |
BufferTrimmed |
告知性 (4) | 因記憶體壓力或閒置而嘗試釋放緩衝區。 |
BufferTrimPoll |
告知性 (4) | 正在進行檢查以修剪緩衝區。 |
BufferDropped |
告知性 (4) | 返回集區時,會卸除緩衝區。 |
"System.Net.Http" 提供者
此提供者會記錄來自 HTTP 堆疊的資訊。 下表顯示 System.Net.Http
提供者所記錄的事件:
事件名稱 | 層級 | 描述 |
---|---|---|
RequestStart | 告知性 (4) | HTTP 要求已啟動。 |
RequestStop | 告知性 (4) | HTTP 要求已完成。 |
RequestFailed | 錯誤 (2) | HTTP 要求失敗。 |
ConnectionEstablished | 告知性 (4) | HTTP 連線已建立。 |
ConnectionClosed | 告知性 (4) | HTTP 連線已關閉。 |
RequestLeftQueue | 告知性 (4) | HTTP 要求已退出要求佇列。 |
RequestHeadersStart | 告知性 (4) | 標頭的 HTTP 要求已啟動。 |
RequestHeaderStop | 告知性 (4) | 標頭的 HTTP 要求已完成。 |
RequestContentStart | 告知性 (4) | 內容的 HTTP 要求已啟動。 |
RequestContentStop | 告知性 (4) | 內容的 HTTP 要求已完成。 |
ResponseHeadersStart | 告知性 (4) | 標頭的 HTTP 回應已啟動。 |
ResponseHeaderStop | 告知性 (4) | 標頭的 HTTP 回應已完成。 |
ResponseContentStart | 告知性 (4) | 內容的 HTTP 回應已啟動。 |
ResponseContentStop | 告知性 (4) | 內容的 HTTP 回應已完成。 |
"System.Net.NameResolution" 提供者
此提供者會記錄網域名稱解析的相關資訊。 下表顯示 System.Net.NameResolution
所記錄的事件:
事件名稱 | 層級 | 描述 |
---|---|---|
ResolutionStart |
告知性 (4) | 網域名稱解析已啟動。 |
ResolutionStop |
告知性 (4) | 網域名稱解析已完成。 |
ResolutionFailed |
告知性 (4) | 網域名稱解析失敗。 |
"System.Net.Sockets" 提供者
此提供者會記錄來自 Socket 的資訊。 下表顯示 System.Net.Sockets
提供者所記錄的事件:
事件名稱 | 層級 | 描述 |
---|---|---|
ConnectStart |
告知性 (4) | 嘗試開始通訊端連線已啟動。 |
ConnectStop |
告知性 (4) | 嘗試開始通訊端連線已完成。 |
ConnectFailed |
告知性 (4) | 嘗試開始通訊端連線失敗。 |
AcceptStart |
告知性 (4) | 嘗試接受通訊端連線已啟動。 |
AcceptStop |
告知性 (4) | 嘗試接受通訊端連線已完成。 |
AcceptFailed |
告知性 (4) | 嘗試接受通訊端連線失敗。 |
"System.Threading.Tasks.TplEventSource" 提供者
此提供者會記錄工作平行程式庫的資訊,例如工作排程器事件。 下表顯示 TplEventSource
所記錄的事件:
事件名稱 | 關鍵字 | 層級 | 描述 |
---|---|---|---|
TaskScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
告知性 (4) | Task 已排入工作排程器的佇列中。 |
TaskStarted |
Tasks (0x2 ) |
告知性 (4) | Task 已開始執行。 |
TaskCompleted |
TaskStops (0x40 ) |
告知性 (4) | Task 已執行完成。 |
TaskWaitBegin |
TaskTransfer (0x1 )TaskWait (0x2 ) |
告知性 (4) | 在開始隱含或明確等候 Task 完成時引發。 |
TaskWaitEnd |
Tasks (0x2 ) |
詳細資訊 (5) | 在等候 Task 完成傳回時引發。 |
TaskWaitContinuationStarted |
Tasks (0x2 ) |
詳細資訊 (5) | 在與 TaskWaitEnd 相關聯的工作 (方法) 啟動時引發。 |
TaskWaitContinuationCompleted |
TaskStops (0x40 ) |
詳細資訊 (5) | 在與 TaskWaitEnd 相關聯的工作 (方法) 完成時引發。 |
AwaitTaskContinuationScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
告知性 (4) | 在排程了 Task 的非同步接續時引發。 |
ASP.NET Core
ASP.NET Core 也提供了數個事件協助您診斷 ASP.NET Core 堆疊中的問題。
若要深入了解 ASP.NET Core 中的事件及其取用方式,請參閱 .NET Core 和 ASP.NET Core 中的記錄。
Entity Framework core
EF Core 也提供相關事件協助您診斷 EF Core 中的問題。
若要深入了解 EF Core 中的事件及其取用方式,請參閱 EF Core 中的 .NET 事件。