На устройствах с Android 9 (уровень API 28) или более поздней версии есть системное приложение "Трассировка системы". Это приложение похоже на утилиту командной строки systrace, но позволяет записывать трассировки непосредственно с тестового устройства, не подключая его к компьютеру через adb. Затем вы можете использовать приложение, чтобы поделиться результатами этих трассировок с командой разработчиков.
Устройства с Android 10 и более поздними версиями ОС записывают трассировки в формате Perfetto, а более ранние устройства – в формате Systrace. Для просмотра и анализа трассировок в обоих форматах рекомендуем использовать Perfetto Trace Viewer.
Это помогает записывать трассировки при устранении ошибок, связанных с производительностью приложения, таких как медленный запуск, медленные переходы или зависание пользовательского интерфейса.
Как записать трассировку системы
Приложение "Трассировка системы" позволяет записывать трассировку системы с помощью параметра быстрых настроек или меню в самом приложении. Ниже описано, как выполнить запись с помощью этих интерфейсов.
Как начать запись с помощью параметра быстрых настроек
Параметр быстрых настроек – это обычно более удобный способ выполнить трассировку системы на устройстве.
Настроить параметр
Если вы впервые используете трассировку системы на тестовом устройстве или не видите значок Трассировка системы на панели Быстрые настройки (рис. 2), выполните следующие действия:
- Включите режим разработчика.
- Откройте экран настроек Для разработчиков.
- В разделе Отладка выберите Трассировка системы. Откроется приложение "Трассировка системы" с меню.
В меню приложения включите параметр Показывать параметр быстрых настроек, как показано на рисунке 1. Параметр Трассировка системы будет добавлен на панель Быстрые настройки, как показано на рисунке 2.
Рисунок 1. Переключатель Показывать параметр быстрых настроек "Трассировка системы" в приложении "Трассировка системы".
Рисунок 2. Параметр Трассировка системы на панели Быстрые настройки. Примечание. По умолчанию параметр Трассировка системы добавляется первым на панель Быстрые настройки. Если вы хотите, чтобы элемент отображался в другом месте, переместите его в режиме редактирования панели.
Как выполнить трассировку системы
Чтобы записать трассировку системы с помощью панели Быстрые настройки, выполните следующие действия:
Нажмите на карточку Трассировка системы с надписью Записать трассировку. Параметр будет включен, и появится постоянное уведомление о том, что система записывает трассировку, как показано на рисунке 3.
Рисунок 3. Постоянное уведомление, которое появляется после запуска трассировки системы на устройстве. Выполните в приложении действия, которые вы хотите проверить.
Чтобы остановить трассировку, нажмите на значок Трассировка системы на панели Быстрые настройки или на уведомление о трассировке системы.
Появится новое уведомление с сообщением "Сохранение трассировки". Когда сохранение завершится, система закроет уведомление и покажет третье, подтверждающее, что трассировка сохранена и вы можете поделиться трассировкой системы, как показано на рисунке 4.
Рисунок 4. Постоянное уведомление, которое появляется после того, как система сохранит записанную трассировку.
Как записать видео с помощью меню приложения
В меню приложения можно задать расширенные настройки трассировки системы, а также запустить или остановить ее.
Чтобы записать трассировку системы с помощью меню приложения "Трассировка системы", выполните следующие действия:
- Включите режим разработчика.
Откройте экран настроек Для разработчиков. В разделе Отладка выберите Трассировка системы. Откроется приложение "Трассировка системы".
Если вы добавили параметр Трассировка системы, нажмите и удерживайте его, чтобы открыть приложение.
Убедитесь, что выбран параметр Трассировка приложений, доступных для отладки. Это позволит включить в трассировку системы приложения, для которых включена отладка.
При необходимости выберите Категории системных вызовов и вызовов датчиков, которые нужно отслеживать, и укажите Размер буфера на ЦП в КБ. Выберите категории, соответствующие вашему сценарию использования, например Аудио для тестирования Bluetooth или Память для тестирования памяти, выделенной для кучи.
При необходимости выберите Длинные трассировки, чтобы включить трассировки, которые непрерывно сохраняются в хранилище устройства. Для этого варианта задайте ограничения для параметров Maximum long trace size (Максимальный размер длинной трассировки) и Maximum long trace duration (Максимальная продолжительность длинной трассировки).
Включите переключатель Записать трассировку, выделенный на рисунке 5. Параметр будет включен, и появится уведомление о том, что система записывает трассировку, как показано на рисунке 3.
Рисунок 5. Переключатель Записать трассировку в настройках трассировки системы. Выполните в приложении действия, которые вы хотите проверить.
Чтобы остановить трассировку, отключите переключатель Записать трассировку.
Появится новое уведомление с сообщением "Сохранение трассировки". После этого система закроет уведомление и покажет третье, подтверждающее, что трассировка сохранена и вы можете поделиться трассировкой системы (рис. 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 на устройствах с другими версиями Android.
Создайте отчет в формате HTML на основе файла трассировки, используя веб-интерфейс или командную строку.
Веб-интерфейс
Откройте файл трассировки и создайте отчет в интерфейсе Perfetto.
Для файла Perfetto нажмите Open trace file (Открыть файл трассировки). Для файла Systrace нажмите Open with legacy UI (Открыть в устаревшем интерфейсе). Устаревший интерфейс выглядит так же, как отчет 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.
Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Тестирование производительности в непрерывной интеграции
- Как выполнить трассировку системы в командной строке