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

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

Подробное введение в трассировку и профилирование см. на странице Tracing 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.