시스템 추적 개요

단기간 동안의 기기 활동을 기록하는 것을 시스템 추적이라고 합니다. 시스템 추적을 실행하면 시스템 보고서를 생성하는 데 사용할 수 있는 트레이스 파일이 생성됩니다. 이 보고서에서는 앱 또는 게임의 성능을 가장 효과적으로 향상하는 방법을 확인할 수 있습니다.

추적 및 프로파일링에 관한 포괄적인 소개는 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를 사용하는 것이 좋습니다.

Perfetto 트레이스 뷰의 화면 캡처

그림 1. 약 20초간의 앱 상호작용을 보여주는 샘플 Perfetto 트레이스 뷰

Systrace 보고서의 화면 캡처

그림 2. 앱과의 5초간 상호작용을 보여주는 샘플 Systrace HTML 보고서

두 보고서 모두 일정 기간 동안 Android 지원 기기의 시스템 프로세스에 관한 전반적인 상황을 제공합니다. 또한 이 보고서는 캡처된 추적 정보를 검사하여 UI 버벅거림 또는 높은 전력 소모와 같은 관찰한 문제를 강조 표시합니다.

Perfetto와 Systrace는 상호 운용 가능합니다.

시스템 추적 가이드

시스템 추적 도구에 관해 자세히 알아보려면 다음 가이드를 참고하세요.

CPU 프로파일러를 사용하여 CPU 활동 검사
Android 스튜디오에서 앱의 CPU 사용량 및 스레드 활동을 프로파일링하는 방법을 설명합니다.
기기에서 시스템 트레이스 캡처
Android 9 (API 수준 28) 이상을 실행하는 기기에서 직접 시스템 트레이스를 캡처하는 방법을 설명합니다.
명령줄에서 시스템 트레이스 캡처
Systrace의 명령줄 인터페이스에 전달할 수 있는 다양한 옵션과 플래그를 정의합니다.
adb를 사용하여 Perfetto 실행
perfetto 명령줄 도구를 실행하여 트레이스를 캡처하는 방법을 설명합니다.
빠른 시작: Android에서 트레이스 기록
perfetto 명령줄 도구를 빌드하고 실행하여 트레이스를 캡처하는 방법을 설명하는 외부 문서입니다.
빠른 시작: Android에서 트레이스 기록
Perfetto 웹 기반 트레이스 뷰어가 Perfetto 트레이스를 열고 전체 보고서를 표시합니다. 기존 UI 옵션을 사용하여 이 뷰어에서 Systrace 트레이스를 열 수도 있습니다.
Systrace 보고서 탐색
일반적인 보고서의 요소를 나열하고 보고서를 탐색하기 위한 단축키를 제공하며 성능 문제의 유형을 확인하는 방법을 설명합니다.
맞춤 이벤트 정의
Systrace나 Perfetto에서 근본 원인을 더 쉽게 분석할 수 있도록 코드의 특정 섹션에 맞춤 라벨을 적용하는 방법을 설명합니다.