단기간 동안의 기기 활동을 기록하는 것을 시스템 추적이라고 합니다. 시스템 추적을 실행하면 시스템 보고서를 생성하는 데 사용할 수 있는 트레이스 파일이 생성됩니다. 이 보고서에서는 앱 또는 게임의 성능을 가장 효과적으로 향상하는 방법을 확인할 수 있습니다.
추적 및 프로파일링에 관한 포괄적인 소개는 Perfetto 문서의 Tracing 101 페이지를 참고하세요.
Android 플랫폼은 트레이스를 캡처하는 몇 가지 옵션을 제공합니다.
- Android 스튜디오 CPU 및 메모리 프로파일러
- Perfetto 명령줄 도구(Android 10 이상)
- 시스템 추적 유틸리티
- Systrace 명령줄 도구
Android 스튜디오 CPU 프로파일러를 사용하여 앱과 상호작용하는 동안 앱의 CPU 사용량 및 스레드 활동이 실시간으로 검사됩니다. 개발자는 기록된 메서드 트레이스, 함수 트레이스, 시스템 트레이스에서 세부정보를 검사할 수도 있습니다. 메모리 프로파일러에서는 터치 이벤트, Activity 변경사항, 가비지 컬렉션 이벤트와 관련된 메모리 사용량을 간략하게 확인할 수 있습니다.
Perfetto는 Android 10에 도입된 플랫폼 전반 추적 도구로서, Android, Linux, Chrome을 위한 정교한 오픈소스 추적 프로젝트입니다. Systrace에 비해 상위 집합의 데이터 소스를 제공하며, 개발자는 임의의 긴 트레이스를 프로토콜 버퍼 바이너리 스트림에 기록할 수 있습니다. 이러한 트레이스는 Perfetto UI에서 열 수 있습니다.
시스템 추적 유틸리티는 기기 활동을 트레이스 파일에 저장하는 Android 도구입니다. Android 10(API 수준 29) 또는 이후 버전을 실행하는 기기에서는 트레이스 파일이 Perfetto 형식으로 저장됩니다. 이 문서의 후반부에 설명됩니다. 이전 버전의 Android를 실행하는 기기에서는 트레이스 파일이 Systrace 형식으로 저장됩니다.
Systrace는 기존 플랫폼에서 제공되는 명령줄 도구로, 단기간에 걸친 기기 활동을 압축된 텍스트 파일로 기록합니다. 이 도구는 CPU 스케줄러, 디스크 활동 및 앱 스레드와 같은 Android 커널의 데이터를 결합한 보고서를 생성합니다. Systrace는 모든 Android 플랫폼 버전에서 작동하지만 Android 10 이상을 실행하는 기기에는 Perfetto를 사용하는 것이 좋습니다.
그림 1. 약 20초간의 앱 상호작용을 보여주는 샘플 Perfetto 트레이스 뷰
 
그림 2. 앱과의 5초간 상호작용을 보여주는 샘플 Systrace HTML 보고서
두 보고서 모두 일정 기간 동안 Android 지원 기기의 시스템 프로세스에 관한 전반적인 상황을 제공합니다. 또한 이 보고서는 캡처된 추적 정보를 검사하여 UI 버벅거림 또는 높은 전력 소모와 같은 관찰한 문제를 강조 표시합니다.
Perfetto와 Systrace는 상호 운용 가능합니다.
- Perfetto UI에서 Perfetto 파일과 Systrace 파일을 모두 엽니다. Perfetto UI의 기존 Systrace 뷰어로 Systrace 파일을 엽니다(Open with legacy UI 링크 클릭).
- traceconv도구를 사용하여 Perfetto 트레이스를 기존 Systrace 텍스트 형식으로 변환합니다.
시스템 추적 가이드
시스템 추적 도구에 관해 자세히 알아보려면 다음 가이드를 참고하세요.
- CPU 프로파일러를 사용하여 CPU 활동 검사
- Android 스튜디오에서 앱의 CPU 사용량 및 스레드 활동을 프로파일링하는 방법을 설명합니다.
- 기기에서 시스템 트레이스 캡처
- Android 9(API 수준 28) 이상을 실행하는 기기에서 직접 시스템 트레이스를 캡처하는 방법을 설명합니다.
- 명령줄에서 시스템 트레이스 캡처
- Systrace의 명령줄 인터페이스에 전달할 수 있는 다양한 옵션과 플래그를 정의합니다.
- adb를 사용하여 Perfetto 실행
- perfetto명령줄 도구를 실행하여 트레이스를 캡처하는 방법을 설명합니다.
- 빠른 시작: Android에서 트레이스 기록
- perfetto명령줄 도구를 빌드하고 실행하여 트레이스를 캡처하는 방법을 설명하는 외부 문서입니다.
- 빠른 시작: Android에서 트레이스 기록
- Perfetto 웹 기반 트레이스 뷰어가 Perfetto 트레이스를 열고 전체 보고서를 표시합니다. 기존 UI 옵션을 사용하여 이 뷰어에서 Systrace 트레이스를 열 수도 있습니다.
- Systrace 보고서 탐색
- 일반적인 보고서의 요소를 나열하고 보고서를 탐색하기 위한 단축키를 제공하며 성능 문제의 유형을 확인하는 방법을 설명합니다.
- 맞춤 이벤트 정의
- Systrace나 Perfetto에서 근본 원인을 보다 쉽게 분석할 수 있도록 코드의 특정 섹션에 맞춤 라벨을 적용할 수 있는 방법을 설명합니다.
