Извлечение и анализ данных профилирования

На этой странице описывается, как извлекать трассировки и визуализировать их в пользовательском интерфейсе Perfetto.

Извлечь следы

После записи профиля следы сохраняются на вашем устройстве. Прежде чем анализировать эти следы, их необходимо извлечь.

Местоположение трассировки определяется методом ProfilingResult.getResultFilePath() . Чтобы узнать, как получить местоположение трассировки, см . раздел «Как захватить профиль» . Получив местоположение трассировки, вы можете загрузить её на сервер.

Локальное тестирование: получение трассировок с помощью ADB

Использование adb для получения трассировок полезно для проверки производительности и локальной отладки.

Сохранённые данные сохраняются в файлах вашего устройства. Типичный путь к сохранённому профилю:

/data/user/0/ <app> /files/profiling/profile <tag> <datetime> .perfetto-trace

Где:

  • <app> — имя приложения.
  • <datetime> — дата и время, когда была сделана трассировка.
  • <tag> — это предоставленный пользователем тег, настроенный с помощью setTag

Если неотредактированные трассировки включены и сохранены, используйте следующую команду adb , чтобы извлечь их с устройства:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Визуализировать следы

После загрузки трассировки на ваш компьютер вы можете просмотреть ее в пользовательском интерфейсе Perfetto .

Отредактированный пример трассировки
Рисунок 1. : Отредактированный пример трассировки.

В отредактированной трассировке раздел OtherProcesses объединяет всю активность ЦП других процессов. Объединение процессов позволяет сохранить конфиденциальность действий этих процессов.

Тем не менее, просмотр этой совокупной активности ЦП всё же позволяет проверить, была ли система перегружена во время записи. Проверка активности системы помогает понять, была ли медленная работа приложения вызвана внутренней проблемой или общей медленной работой системы.

На следующем рисунке выделены и кратко описаны основные части, которые вы увидите на трассировке:

Фрагменты отредактированного следа
Рисунок 2. Фрагменты отредактированного следа.
  1. Список ЦП : отображает все доступные процессоры на вашем устройстве.
  2. Задачи ЦП : показывает, какие потоки выполнял каждый ЦП.
  3. Просмотр других процессов : отображение ресурсов ЦП, потребляемых другими процессами.
  4. Просмотр процесса : отображает процесс вашего приложения.
  5. Представление потоков : отображает потоки, работающие в вашем процессе, и их состояния (Выполняемый (R), Выполняется (R), Спящий (S), Непрерываемый сон (D)), которые напрямую соответствуют состояниям процессов Linux.
  6. Срезы трассировки : в этом разделе отображаются аннотации трассировки, добавленные разработчиками приложения или фреймворком. Эти аннотации охватывают вычисления между Trace.beginSection и Trace.endSection .

Дополнительную информацию о Perfetto UI и визуализации трассировки см. в документации Perfetto .