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