Android Pie에서 시스템 추적을 로컬로 캡처하는 방법

systrace는 Android에서 실행되는 프로세스에서 타이밍 정보를 수집하는 강력한 도구입니다. Android Pie에서 시스템 추적을 캡처하는 방법은 다음과 같습니다.

추적은 개발자가 다양한 변경 사항이 시스템에 미치는 영향을 이해하고 문제의 근본 원인을 식별하기 위한 단서를 제공할 수 있는 귀중한 도구입니다.

시스테이스 프로세스에서 타이밍 정보를 수집하는 강력한 추적 도구 중 하나입니다. Android 기기에서 실행 중입니다. 시스테이스 에 의해 광범위하게 사용되었습니다. 안드로이드 퍼포먼스팀 Google에서 Google Pixel 휴대전화의 성능을 최적화합니다. 나는 사용했다 시스테이스 예를 들어 커널 스케줄러 변경이 CPU의 작업 배치에 미치는 영향을 검사하고 버벅거림의 가능한 원인을 식별합니다. 시스테이스 CPU 스케줄링, CPU 주파수, 디스크 I/O, 그래픽, 바인더 활동 등을 포함한 다양한 데이터를 캡처할 수 있습니다. 해당 정보는 Google Chrome에서 분석할 수 있는 보고서로 결합됩니다.

Android Pie 이전에는 다음을 사용하여 추적을 캡처하는 유일한 방법이었습니다. 시스테이스 Android 기기를 컴퓨터에 연결하고 일반적으로 터미널에서 systrace를 실행하는 것이었습니다. 그러나 모든 사람이 컴퓨터에 지속적으로 액세스하거나 systrace를 실행할 수 있는 지식과 자신감을 갖고 있는 것은 아닙니다.

안드로이드 파이 출시와 함께 이런 불편함은 해소됐다. 원시 추적 데이터를 캡처하는 도구인 Traceur 패키지 안드로이드 폰에서 직접. Traceur는 설정 앱의 개발자 옵션에서 "시스템 추적" 옵션으로 사용할 수 있으며, Traceur가 장치에 캡처한 원시 추적 데이터는 나중에 다음을 통해 변환할 수 있습니다. 시스테이스 분석을 위해 HTML 보고서로 이동합니다.

새로운 "시스템 추적" 옵션을 사용하면 실제로 실행 방법을 알 필요 없이 추적을 쉽게 캡처하고 개발자와 공유할 수 있습니다. 시스테이스 컴퓨터에서. 개발자는 컴퓨터 없이 추적을 캡처하고 나중에 편리하게 분석할 수 있는 기능의 이점을 누릴 수 있습니다. "System Tracing"으로 수집된 전체 원시 추적 데이터는 "System Tracing"에서 생성된 HTML 보고서보다 크기가 훨씬 작습니다.

시스테이스, 따라서 원시 추적 데이터를 저장하고 다른 사람과 공유하는 데 더 적합하게 만듭니다.

가이드: 시스템 수집 및 시스템 추적 분석

먼저, Android Pie를 실행하는 기기와 Python 2가 설치된 컴퓨터가 있는지 확인하세요. 다음 지침은 최신 OxygenOS Android Pie 베타를 실행하는 OnePlus 6에서 수행되었습니다.

  1. 설정 앱에서 개발자 옵션을 활성화한 다음 '시스템 추적' 옵션에 액세스하세요. 개발자 옵션의 "디버깅" 섹션에 있습니다.
  2. 시스템 추적을 열면 시스템 추적을 활성화하는 토글과 추적 범주 및 추적의 버퍼 크기를 사용자 정의할 수 있는 기능이 표시됩니다. 이 데모에서는 대부분의 경우에 충분한 기본 범주가 사용됩니다. "빠른 설정 타일 표시" 토글을 사용하면 빠른 설정을 통해 추적을 시작/중지할 수 있습니다. 이 가이드에서는 이 기능을 활성화했습니다.
  3. 추적 캡처를 시작하려면 최근 추가된 "추적 기록" 빠른 설정 타일을 탭하세요.
  4. 테스트 사례 추적이 완료되면 알림 창에서 추적을 중지할 수 있습니다.
  5. 엄청난! 원시 추적을 성공적으로 캡처했습니다. 원시 추적 파일을 공유하라는 알림이 표시됩니다. 장치에 저장하고, 온라인 저장소에 업로드하고, 다른 사람에게 이메일로 보내는 등의 작업을 할 수 있어야 합니다. 또는 ADB를 사용하여 장치에서 컴퓨터로 추적을 직접 가져올 수 있습니다(adb pull /data/local/traces/). 계속해서 추적 파일을 컴퓨터에 저장하십시오.
  6. 원시 추적 파일에는 다음이 구성되어 있습니다. .ctrace 형식. 원시 형태로는 해석할 수 없습니다. 우리는 사용할 수 있습니다 시스테이스 원시 추적 파일에서 보다 유용하고 이해하기 쉬운 대화형 HTML 보고서를 생성합니다.
  7. 우리는 최신 버전을 사용할 것입니다 시스테이스 ~로부터 투석기 프로젝트 저장소. 터미널 애플리케이션에서 저장소를 복제합니다(git이 설치되어 있는지 확인).
    git clone https://github.com/catapult-project/catapult.git
  8. 다음을 사용하여 원시 추적 파일에서 HTML 보고서를 생성하려면 시스테이스, 다음 명령을 입력하십시오.
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    원시 추적 파일과 동일한 이름을 가진 HTML 파일이 생성됩니다. 참고: systrace는 작성 당시 Python 2만 지원합니다.
  9. HTML 보고서를 보려면 Google Chrome 브라우저를 실행하고 "chrome://tracing" URL에 액세스하세요. HTML 보고서는 공백으로 표시되므로 Google Chrome에서 직접 열지 마십시오.
  10. "로드"를 클릭하고 팝업 대화 상자에서 HTML 보고서 파일을 엽니다. 짜잔! 이제 추적 보고서를 검사할 수 있습니다.

무엇 향후 계획?

이제 추적을 캡처하고 시스테이스 보고서를 작성하려면 보고서에 제시된 데이터를 읽고 해석하는 방법을 이해하는 것이 중요합니다. 시작하려면 "이해 시스트레스” 그리고 시청 중 “Android 성능: 개요(Google I/O '17)" 그리고 "시스트레스 게임용" 보다 시스테이스 행동 중.

이 글은 원래 XDA 인정 개발자로도 알려진 Josh Choo가 작성한 게스트 게시물입니다. 많은. 게시물은 서식을 위해 가볍게 편집되었습니다.