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

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

Извлечь трассировки

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

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

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

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

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

<code>/data/user/0/<var>\<app\></var>/files/profiling/profile_<var>\<tag\></var>_<var>\<datetime\></var>.perfetto-trace</code>

Где:

  • <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. Представление потоков : Отображает потоки, работающие в вашем процессе, и их состояния (Runnable (R), Running (R), Sleeping (S), Uninterruptible Sleep (D)), которые напрямую соответствуют состояниям процессов Linux.
  6. Срезы трассировки : В этом разделе отображаются аннотации трассировки, добавленные разработчиками приложения или фреймворком. Эти аннотации охватывают вычисления между Trace.beginSection и Trace.endSection .

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