이 항목에서는 USB ETW 로그에 캡처된 이벤트의 타임라인을 보는 방법에 대한 정보를 제공합니다.
Xperf는 성능 문제를 분석하기 위한 커널 이벤트 집합을 제공합니다. 이러한 이벤트를 기록하고 그래프로 표시합니다.
Xperf 및 USB ETW 이벤트 모두에 익숙한 경우 문제 시나리오의 USB ETW 로그 및 Xperf 로그를 만들고 두 로그 파일을 병합하고 함께 분석할 수 있습니다. Xperf와 Netmon을 함께 사용하면 지정된 시나리오에 대한 시스템 이벤트(Xperf)와 USB 이벤트(Netmon)를 모두 볼 수 있습니다.
관리자 권한 명령 프롬프트에서 다음 명령을 실행하여 두 추적을 병렬로 시작합니다.
Xperf –on Diag
Logman start Usbtrace -p Microsoft-Windows-USB-USBPORT -o usbtrace.etl -ets -nb 128 640 -bs 128
Logman update Usbtrace -p Microsoft-Windows-USB-USBHUB –ets
문제 시나리오에 대한 작업을 수행한 다음 관리자 권한 명령 프롬프트에서 다음 명령을 실행하여 추적을 중지합니다.
Logman stop Usbtrace -ets
Xperf –stop
다음 명령을 사용하여 두 추적 로그 파일을 단일 파일에 병합합니다(권한이 필요하지 않음).
Xperf –merge usbtrace.etl C:\kernel.etl merged.etl
이 예제에서는 merged.etl이라는 병합된 파일을 만듭니다. Xperf 성능 분석기 또는 Netmon을 사용하여 이 파일을 열 수 있습니다. Xperf에서 파일을 열려면 다음 명령을 실행합니다.
Xperf merged.etl
Xperf는 이 이미지와 같이 광범위한 커널 이벤트에 대한 특수 그래프를 보여 줍니다. Xperf 기록 옵션 및 Xperf GUI에 대한 자세한 내용은 Xperf Command-Line 참조 및 WPA(Windows 성능 분석기)를 참조하세요.
Netmon에서 병합된 추적 로그를 열려면 Netmon을 실행하고 파일 -> 열기 -> 캡처를 클릭한 다음 파일을 선택합니다. Xperf와 Netmon은 병합된 파일을 동시에 열 수 있습니다. Xperf GUI와 Netmon 간에 전환하여 특정 기간 동안 시스템과 USB 스택에서 발생한 일을 분석할 수 있습니다. 시스템 이벤트 외에도 Xperf에서 USB 이벤트를 볼 수 있지만 Netmon에서 USB 이벤트를 더 쉽게 읽을 수 있습니다.
기본적으로 Netmon은 병합된 추적 파일의 모든 이벤트를 표시합니다. USB 이벤트만 표시하려면 다음과 같은 필터를 적용합니다.
ProtocolName == "USBHub_MicrosoftWindowsUSBUSBHUB" OR ProtocolName == "USBPort_MicrosoftWindowsUSBUSBPORT"
Netmon 필터 표시 창에서 이 필터 텍스트를 입력할 수 있습니다. Netmon에서 필터를 사용하는 방법에 대한 자세한 내용은 이 사례 연구에서 "USB Netmon 필터"를 참조하세요. ETW 및 Netmon을 사용하여 알 수 없는 USB 디바이스 문제 해결
USB 이벤트의 타이밍을 분석하기 위해 Netmon에서 표시된 이벤트 간의 시간 차이를 확인할 수 있습니다.
표시된 이벤트의 시간 차이를 보려면
프레임 요약 창에서 열 제목을 마우스 오른쪽 단추로 클릭하고 열 선택을 선택합니다.
사용 안 함 열 목록에서 시간 델타를 선택하고 추가를 클릭한 다음 확인을 클릭합니다.
타이밍을 보려는 이벤트만 표시하는 필터를 작성합니다. 예를 들어 겹치지 않는 대량 전송 디스패치와 전체 이벤트 간의 지연을 보려면 다음 필터를 추가합니다.
Description == "USBPort_MicrosoftWindowsUSBUSBPORT:Dispatch URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER" OR Description == "USBPort_MicrosoftWindowsUSBUSBPORT:Complete URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER" OR Description == "USBPort_MicrosoftWindowsUSBUSBPORT:Complete URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER with Data"- 추적에 표시되는 이벤트에서 이벤트 ID(설명)를 선택할 수 있습니다.
- 필터에서 이벤트 ID를 사용하려면 프레임 요약 창에서 이벤트 설명을 마우스 오른쪽 단추로 클릭하고 표시 필터에 설명 추가를 선택합니다.