.NET의 잘 알려진 이벤트 공급자

.NET 런타임 및 라이브러리에서는 다양한 이벤트 공급자를 통해 진단 이벤트를 기록합니다. 진단 요구 사항에 따라 사용할 적절한 공급자를 선택할 수 있습니다. 이 문서에서는 .NET 런타임 및 라이브러리에서 일반적으로 사용되는 이벤트 공급자 중 일부를 설명합니다.

CoreCLR

“Microsoft-Windows-DotNETRuntime” 공급자

이 공급자는 .NET 런타임에서 GC, 로더, JIT, 예외, 기타 이벤트를 비롯한 다양한 이벤트를 내보냅니다. 이 공급자의 각 이벤트에 대한 자세한 내용은 Runtime Provider Events List(런타임 공급자 이벤트 목록)를 참조하세요.

“Microsoft-DotNETCore-SampleProfiler” 공급자

이 공급자는 관리형 호출 스택의 CPU 샘플링에 사용되는 .NET 런타임 이벤트 공급자입니다. 사용하도록 설정하면 밀리초마다 각 스레드의 관리형 호출 스택 스냅샷을 캡처합니다. 이 캡처를 사용하도록 설정하려면 Informational 이상의 EventLevel을 지정해야 합니다.

프레임워크 라이브러리

“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 이벤트를 참조하세요.