Обзор системной трассировки

Запись активности устройства в течение короткого промежутка времени называется трассировкой системы . Трассировка системы создает файл трассировки, который можно использовать для создания отчета о системе. Этот отчет помогает определить, как лучше всего улучшить производительность вашего приложения или игры.

Подробное введение в трассировку и профилирование см. на странице «Трассировка 101» в документации Perfetto.

Платформа Android предоставляет несколько различных вариантов для захвата трассировок:

  • Профилировщик ЦП и памяти в Android Studio
  • Инструмент командной строки Perfetto (Android 10 и выше)
  • Утилита трассировки системы
  • Инструмент командной строки Systrace

Профилировщик ЦП в Android Studio отслеживает использование ЦП и активность потоков вашего приложения в режиме реального времени во время взаимодействия с ним. Вы также можете просмотреть подробную информацию в записанных трассировках методов, функций и системы. Профилировщик памяти предоставляет обзор использования памяти в связи с событиями касания, изменениями Activity и событиями сборки мусора.

Perfetto — это инструмент трассировки, охватывающий всю платформу, представленный в Android 10. Это сложный проект трассировки с открытым исходным кодом для Android, Linux и Chrome. Он предлагает расширенный набор источников данных по сравнению с Systrace и позволяет записывать трассировки произвольной длины в двоичном потоке протокола буферизации. Вы можете открыть эти трассировки в пользовательском интерфейсе Perfetto .

Утилита трассировки системы — это инструмент Android, который сохраняет активность устройства в файл трассировки. На устройствах под управлением Android 10 (уровень API 29) или выше файлы трассировки сохраняются в формате Perfetto, как показано далее в этом документе. На устройствах под управлением более ранней версии Android файлы трассировки сохраняются в формате Systrace.

Systrace — это устаревший инструмент командной строки, предоставляемый платформой, который записывает активность устройства за короткий период времени в сжатый текстовый файл. Инструмент создает отчет, объединяющий данные из ядра Android, такие как планировщик ЦП, активность диска и потоки приложений. Systrace работает на всех версиях платформы Android, но мы рекомендуем Perfetto для устройств под управлением Android 10 и выше.

Скриншот Perfetto трассировка экрана

Рисунок 1. Пример трассировки Perfetto, демонстрирующий примерно 20 секунд взаимодействия с приложением.

Скриншот отчета Systrace

Рисунок 2. Пример HTML-отчета Systrace, демонстрирующий пятисекундное взаимодействие с приложением.

Оба отчета дают общее представление о системных процессах устройства под управлением Android за определенный период времени. В отчете также анализируется полученная информация трассировки для выявления обнаруженных проблем, таких как зависания пользовательского интерфейса или высокое энергопотребление.

Perfetto и Systrace совместимы:

  • Откройте файлы Perfetto и Systrace в пользовательском интерфейсе Perfetto. Откройте файлы Systrace с помощью устаревшего средства просмотра Systrace в пользовательском интерфейсе Perfetto, нажав ссылку « Открыть с помощью устаревшего пользовательского интерфейса» .
  • Преобразуйте трассировку Perfetto в устаревший текстовый формат Systrace с помощью инструмента traceconv .

Руководства по трассировке системы

Чтобы узнать больше об инструментах трассировки системы, ознакомьтесь со следующими руководствами:

Проверяйте активность процессора с помощью CPU Profiler.
В этом руководстве показано, как профилировать использование ЦП и активность потоков вашего приложения в Android Studio.
Захват трассировки системы на устройстве
В этом разделе объясняется, как напрямую получить трассировку системы на любом устройстве под управлением Android 9 (уровень API 28) или более поздней версии.
Запись трассировки системы в командной строке
Определяет различные параметры и флаги, которые можно передавать в интерфейс командной строки Systrace.
Запустите Perfetto с помощью adb.
В этом разделе описывается, как запустить инструмент командной строки perfetto для захвата трассировок.
Быстрый старт: запись трассировок на Android
Внешняя документация, описывающая, как собрать и запустить инструмент командной строки perfetto для захвата трассировок.
Быстрый старт: запись трассировок на Android
Веб-просмотрщик трассировок Perfetto открывает трассировки Perfetto и отображает полный отчет. Вы также можете открывать трассировки Systrace в этом просмотрщике, используя устаревший интерфейс пользователя.
Навигация по отчету Systrace
В документе перечислены элементы типичного отчета, представлены сочетания клавиш для навигации по отчету и описано, как выявлять типы проблем с производительностью.
Определите пользовательские события
В этом разделе описывается, как можно применять пользовательские метки к определенным участкам кода, что упрощает анализ первопричин проблем в Systrace или Perfetto.