기기에서 시스템 트레이스 캡처

Android 9(API 레벨 28) 이상을 실행하는 기기에는 System Tracing이라는 시스템 수준 앱이 포함되어 있습니다. 이 앱은 systrace 명령줄 유틸리티와 유사하지만 이 앱을 사용하면 기기에 전원을 연결하고 ADB를 통해 연결할 필요 없이 테스트 기기 자체에서 직접 트레이스를 기록할 수 있습니다. 그런 다음, 이 앱을 사용하여 트레이스 결과를 개발 팀과 공유할 수 있습니다.

특히 이 앱은 느린 시작, 느린 전환 또는 UI 버벅거림과 같은 앱의 성능 관련 버그를 해결할 때 트레이스를 기록하는 데 도움이 됩니다.

시스템 트레이스 기록

System Tracing 앱을 사용하면 빠른 설정 타일 또는 앱 자체 내의 메뉴를 통해 시스템 트레이스를 기록할 수 있습니다. 다음 섹션에서는 이러한 인터페이스를 사용하여 기록 프로세스를 완료하는 방법을 설명합니다.

빠른 설정 타일을 사용하여 기록

일반적으로 빠른 설정 타일은 기기의 시스템 트레이스 프로세스를 완료하는 보다 편리한 방법입니다.

타일 설정

그림 2. System Tracing 앱의 Show Quick Settings tile 스위치

테스트 기기에서 처음으로 System Tracing을 사용하거나 기기의 빠른 설정 패널(그림 1)에 System Tracing 타일이 표시되지 않는 경우 다음 설정 단계를 완료하세요.

  1. 아직 사용 설정하지 않은 경우 개발자 옵션을 사용 설정합니다.
  2. Developer Options 설정 화면을 엽니다.
  3. Debugging 섹션에서 System Tracing을 선택합니다. System Tracing 앱이 열리고 앱 메뉴가 표시됩니다.
  4. 그림 2에 표시된 것처럼 앱 메뉴에서 Show Quick Settings tile을 사용 설정합니다. 그림 1에 표시된 것처럼 시스템에서 System Tracing 타일을 빠른 설정 패널에 추가합니다.

    그림 1. 빠른 설정 패널 내의 System Tracing 타일

    참고: 기본적으로 시스템에서 System Tracing 타일을 빠른 설정 패널의 첫 번째 타일로 추가합니다. 타일을 다른 위치에 표시하려면 패널의 수정 모드를 사용하여 타일을 이동하세요.

시스템 트레이스 기록 완료

빠른 설정 패널을 사용하여 시스템 트레이스를 기록하려면 다음 단계를 완료하세요.

  1. 라벨이 'Record trace'인 System Tracing 타일을 탭합니다. 그림 3에 표시된 것처럼 타일이 사용 설정되고 시스템에서 현재 트레이스를 기록 중임을 알리는 지속적인 알림이 표시됩니다.

    'Trace is being recorded. Tap to stop tracing.' 메시지가 포함된 알림
    그림 3. 기기 시스템 트레이스를 시작한 후 표시되는 지속적인 알림
  2. 시스템에서 검사할 앱에서 작업을 수행합니다.

  3. 이러한 작업을 완료했으면 빠른 설정 패널의 System Tracing 타일 또는 System Tracing 알림을 탭하여 추적을 중지합니다.

    시스템에서 'Saving trace'라는 메시지가 포함된 새로운 알림을 표시합니다. 저장이 완료되면 시스템에서 알림을 닫고 그림 4에 표시된 것과 같이 트레이스가 저장되었으며 시스템 트레이스를 공유할 준비가 되었음을 확인하는 세 번째 알림을 표시합니다.

    'Trace saved. Tap to share your trace.' 메시지가 포함된 알림
    그림 4. 시스템에서 기록된 트레이스의 저장을 완료한 후 표시되는 지속적인 알림

앱 메뉴를 사용하여 기록

앱 메뉴에서 시스템 트레이스와 관련된 여러 고급 설정을 구성할 수 있으며 시스템 트레이스를 시작하고 중지하기 위한 스위치가 제공됩니다.

System Tracing 앱 메뉴를 사용하여 시스템 트레이스를 기록하려면 다음 단계를 완료하세요.

  1. 아직 사용 설정하지 않은 경우 개발자 옵션을 사용 설정합니다.
  2. Developer Options 설정 화면을 엽니다. Debugging 섹션에서 System Tracing을 선택합니다. System Tracing 앱이 열립니다.

    또는 System Tracing 타일을 설정한 경우 이 타일을 길게 탭하여 System Tracing 앱을 시작할 수 있습니다.

  3. 선택적으로 추적할 시스템 및 센서 호출의 Categories를 선택하고 Buffer size(KB 단위)를 선택합니다. 테스트 중인 사용 사례에 해당하는 카테고리를 선택합니다(예: 블루투스 작동을 테스트하는 경우 Audio 카테고리).

    그림 5. System Tracing 앱의 Record trace 스위치
  4. 그림 5에 강조표시된 Record trace 스위치를 사용 설정합니다. 타일이 사용 설정되고 시스템에서 현재 트레이스를 기록 중임을 알리는 지속적인 알림이 표시됩니다(그림 3).

  5. 시스템에서 검사할 앱에서 작업을 수행합니다.

  6. 이러한 작업을 완료했으면 Record trace 스위치를 꺼서 추적을 중지합니다.

    시스템에서 'Saving trace'라는 메시지가 포함된 새로운 알림을 표시합니다. 저장이 완료되면 시스템에서 알림을 닫고 그림 4에 표시된 것과 같이 트레이스가 저장되었으며 시스템 트레이스를 공유할 준비가 되었음을 확인하는 세 번째 알림을 표시합니다.

시스템 트레이스 공유

System Tracing 앱은 여러 개의 다른 워크플로의 일부로 시스템 트레이스 결과를 공유하는 데 도움이 됩니다.

메시지로 공유

System Tracing을 사용하여 수집된 트레이스를 기기의 다른 앱과 공유할 수 있습니다. 이렇게 하면 기기를 개발용 컴퓨터와 연결하지 않고도 이메일 또는 버그 추적 앱을 통해 추적을 개발 팀에 보낼 수 있습니다.

시스템 트레이스를 기록한 후 기기에 표시되는 알림을 탭합니다(그림 4 참조). 선택한 메시징 앱을 사용하여 트레이스를 공유할 수 있는 플랫폼의 인텐트 선택기가 표시됩니다.

ADB를 사용하여 보고서 다운로드

원하는 경우 ADB를 사용하여 기기에서 시스템 트레이스를 추출할 수도 있습니다. 트레이스를 기록한 기기를 개발용 컴퓨터에 연결한 후 터미널 창에서 다음 명령어를 실행하세요.

    cd /path-to-traces-on-my-dev-machine && \
      adb pull /data/local/traces/ .

HTML 보고서 만들기

메시지 또는 ADB를 통해 트레이스를 공유하는 경우 보고서 자체는 .ctrace 파일에 있습니다. 이 파일을 사용하여 트레이스의 HTML 보고서를 생성할 수 있습니다. 이렇게 하려면 터미널 창에서 다음 명령어를 실행하세요.

    cd /path-to-traces-on-my-dev-machine && \
      systrace --from-file trace-file-name.ctrace

systrace 명령줄 프로그램이 아직 없는 경우 GitHub의 Catapult 프로젝트 또는 Android 오픈소스 프로젝트에서 직접 다운로드할 수 있습니다.