.NET 런타임 스레드 풀 이벤트
이 문서에 설명된 이벤트는 스레드 풀의 작업자 및 I/O 스레드에 대한 정보를 수집합니다. 진단 목적으로 이 이벤트를 사용하는 방법에 관한 자세한 내용은 .NET 애플리케이션 로그 및 추적을 참조하세요.
IOThreadCreate_V1 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
발생 시기 |
IOThreadCreate_V1 |
44 |
스레드 풀에서 I/O 스레드가 생성됩니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Count |
win:UInt64 |
새로 생성된 스레드를 포함한 I/O 스레드의 수입니다. |
NumRetired |
win:UInt64 |
만료된 작업자 스레드의 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
IOThreadTerminate_V1 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
발생 시기 |
IOThreadTerminate |
45 |
I/O 스레드는 스레드 풀에서 종료됩니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Count |
win:UInt64 |
스레드 풀에 남아 있는 I/O 스레드의 수입니다. |
NumRetired |
win:UInt64 |
만료된 I/O 스레드의 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
IOThreadRetire_V1 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
발생 시기 |
IOThreadRetire_V1 |
46 |
I/O 스레드가 만료 후보가 됩니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Count |
win:UInt64 |
스레드 풀에 남아 있는 I/O 스레드의 수입니다. |
NumRetired |
win:UInt64 |
만료된 I/O 스레드의 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
IOThreadUnretire_V1 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
발생 시기 |
IOThreadUnretire_V1 |
47 |
스레드가 만료 후보가 된 후 대기 기간 내에 도착하는 I/O 때문에 I/O 스레드가 만료 취소됩니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Count |
win:UInt64 |
이 스레드를 포함하여 스레드 풀에 있는 I/O 스레드의 수입니다. |
NumRetired |
win:UInt64 |
만료된 I/O 스레드의 수입니다. |
ClrInstanceID |
Win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadStart 이벤트
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadStart |
50 |
작업자 스레드가 생성됩니다. |
필드 이름 |
데이터 형식 |
설명 |
ActiveWorkerThreadCount |
win:UInt32 |
이미 작업을 처리하고 있는 작업자 스레드를 포함하여 작업을 처리할 수 있는 작업자 스레드의 개수입니다. |
RetiredWorkerThreadCount |
win:UInt32 |
작업을 처리할 수 없지만, 나중에 더 많은 스레드가 필요할 때를 대비하여 유지하고 있는 작업자 스레드의 개수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadStop 이벤트
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadStop |
51 |
작업자 스레드가 중지됩니다. |
필드 이름 |
데이터 형식 |
설명 |
ActiveWorkerThreadCount |
win:UInt32 |
이미 작업을 처리하고 있는 작업자 스레드를 포함하여 작업을 처리할 수 있는 작업자 스레드의 개수입니다. |
RetiredWorkerThreadCount |
win:UInt32 |
작업을 처리할 수 없지만, 나중에 더 많은 스레드가 필요할 때를 대비하여 유지하고 있는 작업자 스레드의 개수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadWait 이벤트
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadWait |
57 |
작업자 스레드가 작업 대기를 시작합니다. |
필드 이름 |
데이터 형식 |
설명 |
ActiveWorkerThreadCount |
win:UInt32 |
이미 작업을 처리하고 있는 작업자 스레드를 포함하여 작업을 처리할 수 있는 작업자 스레드의 개수입니다. |
RetiredWorkerThreadCount |
win:UInt32 |
작업을 처리할 수 없지만, 나중에 더 많은 스레드가 필요할 때를 대비하여 유지하고 있는 작업자 스레드의 개수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadRetirementStart 이벤트
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadRetirementStart |
52 |
작업자 스레드가 만료됩니다. |
필드 이름 |
데이터 형식 |
설명 |
ActiveWorkerThreadCount |
win:UInt32 |
이미 작업을 처리하고 있는 작업자 스레드를 포함하여 작업을 처리할 수 있는 작업자 스레드의 개수입니다. |
RetiredWorkerThreadCount |
win:UInt32 |
작업을 처리할 수 없지만, 나중에 더 많은 스레드가 필요할 때를 대비하여 유지하고 있는 작업자 스레드의 개수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadRetirementStop 이벤트
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadRetirementStop |
53 |
만료된 작업자 스레드가 다시 활성 상태가 됩니다. |
필드 이름 |
데이터 형식 |
설명 |
ActiveWorkerThreadCount |
win:UInt32 |
이미 작업을 처리하고 있는 작업자 스레드를 포함하여 작업을 처리할 수 있는 작업자 스레드의 개수입니다. |
RetiredWorkerThreadCount |
win:UInt32 |
작업을 처리할 수 없지만, 나중에 더 많은 스레드가 필요할 때를 대비하여 유지하고 있는 작업자 스레드의 개수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadAdjustmentSample 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadAdjustmentSample |
54 |
한 샘플의 정보 컬렉션을 나타냅니다. 즉, 특정 시점에 특정 동시성 수준으로 처리량을 측정한 것입니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Throughput |
win:Double |
시간 단위당 완료 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadAdjustmentAdjustment 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadAdjustmentAdjustment |
55 |
스레드 삽입(언덕 오르기) 알고리즘이 동시성 수준에서 변화를 감지할 때 제어의 변경을 기록합니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
AverageThroughput |
win:Double |
측정 샘플의 평균 처리량입니다. |
NewWorkerThreadCount |
win:UInt32 |
새로운 활성 작업자 스레드의 수입니다. |
Reason |
win:UInt32 |
조정의 원인입니다.
0x0 - 준비입니다.
0x1 - 초기화입니다.
0x2 - 임의 이동입니다.
0x3 - 오르기 이동입니다.
0x4 - 변경 지점입니다.
0x5 - 안정화입니다.
0x6 - 고갈입니다.
0x7 - 스레드 시간 제한입니다.
0x8 - 협조적 차단. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolWorkerThreadAdjustmentStats 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolWorkerThreadAdjustmentStats |
56 |
스레드 풀의 데이터를 수집합니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
Duration |
win:Double |
이러한 통계가 수집된 시간(초)입니다. |
Throughput |
win:Double |
이 간격 동안의 초당 평균 완료 수입니다. |
ThreadWave |
win:Double |
내부용으로 예약되어 있습니다. |
ThroughputWave |
win:Double |
내부용으로 예약되어 있습니다. |
ThroughputErrorEstimate |
win:Double |
내부용으로 예약되어 있습니다. |
AverageThroughputErrorEstimate |
win:Double |
내부용으로 예약되어 있습니다. |
ThroughputRatio |
win:Double |
이 간격 동안 활성 작업자 스레드 수의 변화로 인해 발생한 처리량의 상대적인 증가량입니다. |
Confidence |
win:Double |
ThroughputRatio 필드의 유효성 측정값입니다. |
NewcontrolSetting |
win:Double |
활성 스레드 개수에서 미래의 변동에 대한 기준으로 사용될 활성 작업자 스레드 수입니다. |
NewThreadWaveMagnitude |
win:UInt16 |
활성 스레드 개수에서 미래 변동의 크기입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스에 대한 고유 ID입니다. |
ThreadPoolEnqueue 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolEnqueue |
61 |
작업 항목을 스레드 풀 큐의 큐에 넣었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
WorkID |
win:Pointer |
작업 요청에 대한 포인터입니다. |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadPoolDequeue 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolDequeue |
62 |
작업 항목이 스레드 풀 큐의 큐에서 제거되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
WorkID |
win:Pointer |
작업 요청에 대한 포인터입니다. |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadPoolIOEnqueue 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolIOEnqueue |
63 |
스레드는 비동기 IO 완료가 발생한 후 IO 완료 알림을 큐에 넣습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
NativeOverlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
Overlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
MultiDequeues |
win:Boolean |
내부용으로 예약되어 있습니다. |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadPoolIODequeue 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolIODequeue |
64 |
스레드는 IO 완료 알림을 큐에서 제거합니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
NativeOverlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
Overlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
MultiDequeues |
win:Boolean |
내부용으로 예약되어 있습니다. |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadPoolIOPack 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
자세한 정보 표시(5) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadPoolIOPack |
65 |
ThreadPool 겹친 IO 팩이 호출됩니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
NativeOverlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
Overlapped |
win:Pointer |
내부용으로 예약되어 있습니다. |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadCreating 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadCreating |
70 |
스레드가 생성되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
ID |
win:Pointer |
스레드 ID |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |
ThreadRunning 이벤트
다음 표에서는 키워드와 수준을 보여 줍니다.
이벤트를 발생시키기 위한 키워드 |
Level |
ThreadingKeyword (0x10000) |
정보(4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
이벤트 |
이벤트 ID |
설명 |
ThreadRunning |
71 |
스레드 실행이 시작되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
ID |
win:Pointer |
스레드 ID |
ClrInstanceID |
win:UInt16 |
CoreCLR 인스턴스의 고유 ID입니다. |