Winscope는 사용자가 애니메이션 및 전환 중과 전환 후에 여러 시스템 서비스의 상태를 기록, 재생, 분석할 수 있는 웹 도구입니다. Winscope는 관련된 모든 시스템 서비스 상태를 트레이스 파일에 기록합니다. 추적 파일과 함께 Winscope UI를 사용하면 전환을 재생, 단계별로 실행, 디버그하여 화면 녹화 여부와 관계없이 각 애니메이션 프레임의 이러한 서비스 상태를 검사할 수 있습니다.
지원되는 트레이스
Winscope는 다양한 트레이스 또는 시스템 서비스 상태의 시퀀스를 수집하고 시각적으로 표현하는 기능을 제공합니다. 이러한 트레이스는 오버헤드가 낮은 트레이스부터 상세 트레이스까지 특정 사용 사례에 맞게 구성할 수 있습니다. Winscope에서 지원하는 트레이스는 다음과 같습니다.
- EventLog:
EventLog
를 사용하여 시스템 진단 이벤트 레코드를 수집합니다. Winscope에서는 이 정보가 CUJ 마크를 식별하고 표시하는 데만 사용됩니다. - IME: IMS, IMMS, IME 클라이언트를 비롯한 입력 방식 편집기 (IME) 파이프라인의 이벤트를 추적합니다.
- 입력: 입력 이벤트 파이프라인의 여러 부분에서 입력 이벤트를 추적합니다.
- ProtoLog: 시스템 서비스 및 클라이언트 프로세스에서 실행되는 시스템 서비스 코드에서 ProtoLog 메시지를 수집합니다.
- 화면 녹화: 트레이스와 함께 화면 녹화를 수집합니다.
- 셸 전환: 창 및 활동 전환 시스템 세부정보를 기록합니다.
- SurfaceFlinger: 위치, 버퍼, 컴포지션과 같은 노출 영역 (레이어)에 관한 정보가 포함된 SurfaceFlinger 트레이스를 수집합니다.
- 트랜잭션: 구성을 위해
SurfaceControl
를 사용하여 SurfaceFlinger가 수신한 일련의 원자적 변경사항을 추적합니다. - ViewCapture: 시스템 UI 및 런처와 같이 ViewCapture를 지원하는 시스템 창에서 모든 뷰의 다양한 속성을 캡처합니다.
- Window Manager: 입력 및 포커스 이벤트, 화면 방향, 전환, 애니메이션, 위치 지정, 변환 등 창과 관련된 세부정보가 포함된 Window Manager 상태를 추적합니다.
지원되는 덤프
Winscope는 사용자가 정의한 특정 시점에 촬영된 기기 상태의 스냅샷인 상태 덤프를 수집하고 표시할 수 있습니다. 기기 사용 중에 연속으로 수집되고 성능에 영향을 줄 수 있는 트레이스와 달리 덤프는 이러한 사용자 정의 순간에만 찍히므로 성능과 상세도가 손상되지 않습니다. 이를 통해 특정 시점의 기기 상태를 더 집중적이고 효율적으로 분석할 수 있습니다. Winscope에서 지원하는 덤프는 다음과 같습니다.
- 창 관리자: 단일 창 관리자 상태를 덤프합니다.
- SurfaceFlinger: 단일 SurfaceFlinger 스냅샷을 덤프합니다.
- 스크린샷: 덤프와 함께 스크린샷을 수집합니다.
Winscope 빌드 및 실행에 관한 자세한 내용은 Winscope 실행을 참고하세요.
트레이스 수집에 관한 자세한 내용은 트레이스 캡처를 참고하세요.
Winscope 웹 UI를 사용하여 트레이스를 로드하는 방법은 트레이스 로드를 참고하세요.
trace 분석에 관한 자세한 내용은 trace 분석을 참고하세요.