Захват системной трассировки на устройстве

Устройства под управлением Android 9 (уровень API 28) или выше включают приложение системного уровня под названием System Tracing. Это приложение похоже на утилиту командной строки systrace , но позволяет записывать трассировки непосредственно с самого тестового устройства, без необходимости подключать устройство и подключаться к нему через adb . Затем вы можете использовать приложение, чтобы поделиться результатами этих трассировок со своей командой разработчиков.

Устройства под управлением Android 10 и более поздних версий записывают трассировки в формате Perfetto, тогда как более ранние устройства записывают их в формате Systrace. Мы рекомендуем использовать программу просмотра трассировок Perfetto , чтобы открыть оба формата и затем проанализировать трассировки.

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

Запись трассировки системы

Приложение «Трассировка системы» позволяет записывать трассировку системы с помощью плитки «Быстрые настройки» или меню в самом приложении. В следующих разделах описывается, как завершить процесс записи с помощью этих интерфейсов.

Запись с использованием плитки быстрых настроек

Плитка «Быстрые настройки» обычно является более удобным способом завершения процесса трассировки системы на устройстве.

Установить плитку

Если вы впервые используете «Трассировку системы» на тестовом устройстве или не видите плитку «Трассировка системы» на панели быстрых настроек вашего устройства, как показано на рис. 2, выполните следующие шаги настройки:

  1. Включите параметры разработчика .
  2. Откройте экран настроек параметров разработчика .
  3. В разделе «Отладка» выберите «Трассировка системы» . Откроется приложение «Трассировка системы» с меню приложения.
  4. В меню приложения включите «Показать плитку быстрых настроек» , как показано на рис. 1. Система добавит плитку «Трассировка системы» на панель быстрых настроек , как показано на рис. 2:

    Рис. 1. Переключатель плитки «Показать быстрые настройки» в приложении «Трассировка системы».
    Рисунок 2. Плитка «Трассировка системы» на панели быстрых настроек .

    Примечание. По умолчанию система добавляет плитку «Трассировка системы» в качестве первой плитки на панели быстрых настроек . Если вы хотите, чтобы плитка отображалась в другом положении, используйте режим редактирования панели, чтобы переместить плитку.

Завершить запись трассировки системы

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

  1. Коснитесь плитки «Трассировка системы» с меткой «Трассировка записи» . Плитка станет активной, и появится постоянное уведомление о том, что система записывает трассировку, как показано на рисунке 3:

    Уведомление с сообщением «Идет запись трассировки. Нажмите, чтобы остановить   отслеживание.
    Рисунок 3. Постоянное уведомление, которое появляется после запуска трассировки системы на устройстве.
  2. Выполните в приложении действия, которые вы хотите, чтобы система проверяла.

  3. Остановите отслеживание, коснувшись плитки «Трассировка системы» на панели быстрых настроек или уведомления «Трассировка системы».

    Система отображает новое уведомление, содержащее сообщение «Сохранение трассы». Когда сохранение завершено, система отклоняет уведомление и отображает третье уведомление, подтверждающее, что ваша трассировка сохранена и вы готовы поделиться системной трассировкой , как показано на рисунке 4:

    Уведомление с сообщением «След сохранен. Нажмите, чтобы поделиться своим   след.'
    Рисунок 4. Постоянное уведомление, появляющееся после того, как система завершит сохранение записанной трассы.

Запись с помощью меню приложения

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

Чтобы записать трассировку системы с помощью меню приложения «Трассировка системы», выполните следующие действия:

  1. Включите параметры разработчика .
  2. Откройте экран настроек параметров разработчика . В разделе «Отладка» выберите «Трассировка системы» . Откроется приложение «Трассировка системы».

    Альтернативно, если вы настроили плитку «Трассировка системы» , вы можете нажать и удерживать плитку, чтобы войти в приложение «Трассировка системы».

  3. Убедитесь, что выбран параметр «Отслеживать отлаживаемые приложения» , чтобы включить в системную трассировку приложения, для которых включена отладка.

  4. При необходимости выберите Категории системных и сенсорных вызовов для отслеживания и выберите размер буфера для каждого процессора в КБ. Выберите категории, соответствующие тестируемому варианту использования, например категорию «Аудио» для тестирования операций Bluetooth или категорию «Память» для распределения кучи.

  5. При необходимости выберите «Длинные трассировки» , чтобы включить непрерывное сохранение трассировок в хранилище устройства. Для этого параметра установите ограничения для Максимального размера длинной трассировки и Максимальной длительности длинной трассировки .

  6. Включите переключатель «Запись трассировки» , выделенный на рис. 5. Плитка станет активной, и появится постоянное уведомление, уведомляющее вас о том, что система записывает трассировку, как показано на рис. 3 .

    Рисунок 5. Переключатель «Трассировка записи» в настройках «Трассировка системы».
  7. Выполните в приложении действия, которые вы хотите, чтобы система проверяла.

  8. Остановите трассировку, отключив переключатель трассировки записи .

    Система отображает новое уведомление, содержащее сообщение «Сохранение трассы». Когда сохранение завершено, система отклоняет уведомление и отображает третье уведомление, подтверждающее, что ваша трассировка сохранена и вы готовы поделиться ею , как показано на рисунке 4 .

Поделитесь трассировкой системы

Приложение «Трассировка системы» помогает вам обмениваться результатами трассировки системы в рамках нескольких различных рабочих процессов. На устройстве под управлением Android 10 (уровень API 29) или выше файлы трассировки сохраняются с расширением имени файла .perfetto-trace и могут быть открыты в пользовательском интерфейсе Perfetto . На устройстве под управлением более ранней версии Android файлы трассировки сохраняются с расширением имени файла .ctrace , которое обозначает формат Systrace.

Поделиться как сообщение

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

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

Поделиться из приложения «Файлы»

На устройствах под управлением Android 10 (уровень API 29) или выше следы отображаются в приложении «Файлы». Вы можете поделиться следом из этого приложения.

Скачать отчет с помощью ADB

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

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

Преобразование между форматами трассировки

Файлы трассировки Perfetto можно преобразовать в формат Systrace. Дополнительные сведения см. в разделе Преобразование между форматами трассировки .

Создать HTML-отчет

При совместном использовании трассировки сам отчет сохраняется в файле .perfetto-trace на устройствах под управлением Android 10 или более поздней версии или в файле .ctrace для всех остальных версий.

Создайте отчет HTML из файла трассировки с помощью веб-интерфейса или командной строки .

Веб-интерфейс

Используйте пользовательский интерфейс Perfetto , чтобы открыть файл трассировки и создать отчет.

Для файла Perfetto нажмите «Открыть файл трассировки» . Для файла Systrace нажмите «Открыть в устаревшем пользовательском интерфейсе» . Устаревший пользовательский интерфейс имеет тот же внешний вид, что и отчет Systrace .

Командная строка

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

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

Если у вас еще нет программы командной строки systrace , вы можете загрузить ее из проекта Catapult на GitHub или напрямую из Android Open Source Project .

{% дословно %} {% дословно %} {% дословно %} {% дословно %}