ETW(Windows용 이벤트 추적)를 사용하여 CLR(공용 언어 런타임) 이벤트를 기록할 수 있습니다. 다음 도구를 사용하여 추적을 만들고 볼 수 있습니다.
Windows 성능 도구 키트의 Xperf 도구입니다. Xperf에 대한 자세한 내용은 Windows 성능 블로그를 참조하세요.
CLR 이벤트 정보를 캡처하려면 CLR 공급자를 컴퓨터에 설치해야 합니다. 공급자가 설치되어 있는지 확인하려면 명령 프롬프트를 입력 logman query providers
합니다. 공급자 목록이 표시됩니다. 이 목록에는 다음과 같이 CLR 공급자에 대한 항목이 포함되어야 합니다.
Provider GUID
-------------------------------------------------------------------------------
.NET Common Language Runtime {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}.
CLR 공급자가 나열되지 않은 경우 Windows Wevtutil 명령줄 도구를 사용하여 Windows Vista 이상 운영 체제에 설치할 수 있습니다. 관리자 권한으로 명령 프롬프트 창을 엽니다. 프롬프트 디렉터리를 .NET Framework 4 폴더(%WINDIR%\Microsoft.NET\Framework[64]\v4로< 변경합니다. NET version>\ ). 이 폴더에는 CLR-ETW.man 파일이 포함되어 있습니다. 명령 프롬프트에서 다음 명령을 입력하여 CLR 공급자를 설치합니다.
wevtutil im CLR-ETW.man
CLR ETW 이벤트 캡처
Logman 및 Xperf 명령줄 도구를 사용하여 ETW 이벤트를 캡처하고 Tracerpt 및 Xperf 도구를 사용하여 추적 이벤트를 디코딩할 수 있습니다.
로깅을 설정하려면 사용자가 다음 세 가지를 지정해야 합니다.
통신 대상으로 지정된 공급자입니다.
키워드 집합을 나타내는 64비트 숫자입니다. 각 키워드는 공급자가 설정할 수 있는 이벤트 집합을 나타냅니다. 이 숫자는 설정할 키워드의 결합된 집합을 나타냅니다.
기록할 수준(세부 정보 표시)을 나타내는 작은 숫자입니다. 수준 1은 자세한 정보 표시가 가장 적고 수준 5는 가장 자세한 정보입니다. 수준 0은 공급자별 의미를 갖는 기본값입니다.
Logman을 사용하여 CLR ETW 이벤트를 캡처하려면
명령 프롬프트에서 다음을 입력합니다.
logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf
위치:
매개 변수는
-p
공급자 GUID를 식별합니다.0x1CCBD
는 발생할 이벤트의 범주를 지정합니다.0x5
로깅 수준을 설정합니다(이 경우 자세한 정보 표시(5)).이 매개 변수는
-ets
이벤트 추적 세션에 명령을 보내도록 Logman에 지시합니다.매개 변수는
-ct perf
함수를QueryPerformanceCounter
사용하여 각 이벤트에 대한 타임스탬프를 기록하도록 지정합니다.
이벤트 로깅을 중지하려면 다음을 입력합니다.
logman stop clrevents -ets
이 명령은 clrevents.etl이라는 이진 추적 파일을 만듭니다.
Xperf를 사용하여 CLR ETW 이벤트를 캡처하려면
명령 프롬프트에서 다음을 입력합니다.
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl
여기서 GUID는 CLR ETW 공급자 GUID이며
0x1CCBD:5
는 수준 5 이하의 모든 항목을 추적합니다(상세 로그).추적을 중지하려면 다음을 입력합니다.
Xperf -stop clr
이 명령은 clrevents.etl이라는 추적 파일을 만듭니다.
CLR ETW 이벤트 보기
아래에 나열된 명령을 사용하여 CLR ETW 이벤트를 봅니다. 이벤트에 대한 설명은 CLR ETW 이벤트를 참조하세요.
Tracerpt를 사용하여 CLR ETW 이벤트를 보려면
명령 프롬프트에서 다음을 입력합니다.
tracerpt clrevents.etl
이 명령은 dumpfile.xml 및 summary.txt두 개의 파일을 만듭니다. dumpfile.xml 파일은 모든 이벤트를 나열하고 summary.txt 이벤트의 요약을 제공합니다.
Xperf를 사용하여 CLR ETW 이벤트를 보려면
명령 프롬프트에서 다음을 입력합니다.
xperf clrevents.etl
이 명령은 Xperf ETL 파일 뷰어를 엽니다. 이 뷰어에서 CLR 이벤트는 제네릭 이벤트 보기에 표시됩니다. 형식별로 분류된 이벤트의 데이터 그리드를 표시하려면 이 보기에서 시간 영역을 선택한 다음 마우스 오른쪽 단추를 클릭하고 요약을 선택합니다.
.etl 파일을 쉼표로 구분된 값 파일로 변환하려면
명령 프롬프트에서 다음을 입력합니다.
xperf -i clrevents.etl -f clrevents.csv
이 명령을 사용하면 XPerf에서 이벤트를 볼 수 있는 CSV(쉼표로 구분된 값) 파일로 덤프합니다. 다른 이벤트에는 필드가 다르므로 이 CSV 파일에는 데이터 앞에 두 개 이상의 헤더 줄이 포함됩니다. 모든 줄의 첫 번째 필드는 나머지 필드를 결정하는 데 사용해야 하는 헤더를 나타내는 이벤트 유형입니다.
참고하십시오
.NET