추적 기록 이벤트 기록 및 보기
많은 도구를 사용하여 TraceLogging ETW 이벤트를 수집하고 디코딩할 수 있습니다.
- 추적 세션을 제어하려면 WPR, 추적 로그 또는 traceview와 같은 도구를 사용합니다.
- 세션에서 이벤트를 디코딩하려면 WPA, tracefmt 또는 traceview와 같은 도구를 사용합니다.
이 예제에서는 WPR(Windows 성능 레코더)을 사용하여 TraceLogging 이벤트를 기록하고 WPA(Windows Performance Analyzer)를 사용하여 보는 방법을 보여 줍니다.
사전 요구 사항
- Windows 10
- Windows ADK(Windows Assessment and Deployment Kit)의 일부인 Windows 10 버전의 WPR(Windows Performance Recorder) 및 Windows 10 버전의 WPA(Windows® Performance Analyzer)입니다.
중요
TraceLogging으로 캡처된 추적은 Windows 10 버전의 Windows 성능 레코더로 캡처하고 Windows 10 버전의 Windows Performance Analyzer로 확인해야 합니다. 이벤트를 캡처하거나 디코딩할 수 없는 경우 Windows 10 버전의 도구를 사용하고 있는지 확인합니다.
1. WPR을 사용하여 추적 데이터 캡처
Windows Phone에서 추적을 캡처하려면 아래 Windows Phone에서 추적 로깅 이벤트 캡처를 참조하세요.
WPR을 사용하여 추적 로깅 이벤트를 캡처할 수 있도록 Windows 성능 레코더 프로필(.wprp)을 만듭니다.
를 만듭니다. WPRP 파일
TraceLogging C/C++ 빠른 시작의 네이티브 코드 예제 또는 추적 로깅 관리 빠른 시작의 관리되는 예제와 함께 다음 WPRP 예제를 사용합니다. 사용자 고유의 공급자에서 이벤트를 로깅하는 경우 섹션을
TODO공급자에 대한 적절한 값으로 바꿉니다.중요
TraceLogging C/C++ 빠른 시작을 사용하는 경우 요소의 특성에
Name공급자 GUID를<EventProvider>지정합니다. 예:<EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="0205c616-cf97-5c11-9756-56a2cee02ca7" />관리되는 TraceLogging 빠른 시작을 사용하는 경우 요소의<EventProvider />특성 앞에 있는 공급자 이름을*Name지정합니다. 예:<EventProvider Name="*SimpleTraceLoggingProvider" />.샘플 WPRP 파일:
<?xml version="1.0" encoding="utf-8"?> <!-- TODO: 1. Find and replace "SimpleTraceLoggingProvider" with the name of your provider. 2. See TODO below to update GUID for your event provider --> <WindowsPerformanceRecorder Version="1.0" Author="Microsoft Corporation" Copyright="Microsoft Corporation" Company="Microsoft Corporation"> <Profiles> <EventCollector Id="EventCollector_SimpleTraceLoggingProvider" Name="SimpleTraceLoggingProvider"> <BufferSize Value="64" /> <Buffers Value="4" /> </EventCollector> <!-- TODO: 1. Update Name attribute in EventProvider xml element with your provider GUID, eg: Name="0205c616-cf97-5c11-9756-56a2cee02ca7". Or if you specify an EventSource C# provider or call TraceLoggingRegister(...) without a GUID, use star (*) before your provider name, eg: Name="*MyEventSourceProvider" which will enable your provider appropriately. 2. This sample lists one EventProvider xml element and references it in a Profile with EventProviderId xml element. For your component wprp, enable the required number of providers and fix the Profile xml element appropriately --> <EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="*SimpleTraceLoggingProvider" /> <Profile Id="SimpleTraceLoggingProvider.Verbose.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" LoggingMode="File" DetailLevel="Verbose"> <Collectors> <EventCollectorId Value="EventCollector_SimpleTraceLoggingProvider"> <EventProviders> <!-- TODO: 1. Fix your EventProviderId with Value same as the Id attribute on EventProvider xml element above --> <EventProviderId Value="EventProvider_SimpleTraceLoggingProvider" /> </EventProviders> </EventCollectorId> </Collectors> </Profile> <Profile Id="SimpleTraceLoggingProvider.Light.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="File" DetailLevel="Light" /> <Profile Id="SimpleTraceLoggingProvider.Verbose.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Verbose" /> <Profile Id="SimpleTraceLoggingProvider.Light.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Light" /> </Profiles> </WindowsPerformanceRecorder>파일을 .으로 저장합니다. WPRP 파일 이름 확장명.
관리자 권한(관리자 권한으로 실행) 명령 프롬프트 창에서 WPR을 사용하여 캡처를 시작합니다.
<wpr> 경로\wpr.exe -start GeneralProfile -start TraceLoggingProvider.wprp
팁
일반적인 프로파일링을 위해 wpr.exe 명령줄에 -start GeneralProfile 을 추가하여 공급자의 이벤트와 함께 시스템 이벤트를 캡처할 수도 있습니다. 이벤트만 수집하려면 -start GeneralProfile을 생략합니다.
이벤트를 포함하는 애플리케이션을 실행합니다.
추적 캡처를 중지합니다.
<wpr> 경로\wpr.exe -stop TraceCaptureFile.etl description
팁
시스템 이벤트를 수집하기 위해 -start GeneralProfile을 추가한 경우 위의 wpr.exe 명령줄에 -stop GeneralProfile을 추가합니다.
2. Windows Phone에서 추적 로깅 이벤트 캡처
추적 로그를 시작하여 공급자의 이벤트를 캡처합니다.
cmdd tracelog -start test -f c:\test.etl -guid #providerguid
테스트 시나리오를 실행하여 이벤트를 기록합니다.
추적 캡처를 중지합니다.
cmdd tracelog -stop 테스트
시스템 추적 결과를 추적 결과와 병합합니다.
cmdd xperf -merge c:\test.etl c:\testmerged.etl
병합된 로그 파일을 검색합니다.
getd c:\testmerged.etl
3. Windows Performance Analyzer를 사용하여 추적 데이터 보기
WPA는 현재 TraceLogging 추적(.etl) 파일을 보는 데 사용할 수 있는 유일한 뷰어입니다.
WPA를 시작합니다.
<wpr>\wpa.exe traceLoggingResults.etl에 대한 경로
위의 wpa.exe 명령에서 지정한 추적(.etl) 파일(예: traceLoggingResults.etl)을 로드합니다.
공급자 이벤트를 봅니다. WPA 그래프 탐색기에서 시스템 작업을 확장합니다.
제네릭 이벤트 창을 두 번 클릭하여 분석 창에서 이벤트를 봅니다.

분석 창에서 공급자에서 이벤트를 찾아 TraceLogging이 작동하는지 확인합니다.
제네릭 이벤트 테이블의 공급자 이름 열에서 공급자 이름을 가진 행을 찾아 선택합니다.
정렬할 공급자가 여러 명 있는 경우 열 머리글을 클릭하여 열 이름을 기준으로 정렬하면 공급자를 더 쉽게 찾을 수 있습니다.
공급자를 찾으면 이름을 마우스 오른쪽 단추로 클릭하고 [선택 영역으로 필터링]을 선택합니다.

SimpleTraceLoggingProvider 및 해당 값에 대한 이벤트는 분석 창의 아래쪽 창에 표시됩니다. 공급자 이름을 확장하여 이벤트를 확인합니다.

WPA 사용에 대한 자세한 내용은 Windows Performance Analyzer를 참조하세요.
요약 및 다음 단계
WPR 및 WPA를 사용하여 ETW 이벤트를 기록하고 보는 프로세스는 TraceLogging 이벤트에 동일하게 적용됩니다.
추가 TraceLogging 예제는 C/C++ 추적 로깅 예제 를 참조하세요.