Как локально записать системную трассировку на Android Pie

click fraud protection

systrace — мощный инструмент, который собирает информацию о времени процессов, запущенных на Android. Вот как можно записать трассировку системы на Android Pie.

Трассировка — это бесценный инструмент, который позволяет разработчикам понять влияние различных изменений на систему и может дать подсказки для определения основной причины проблем.

Систрайс является одним из таких мощных инструментов отслеживания, который собирает информацию о времени процессов работает на устройстве Android. Систрайс широко использовался Команда производительности Android в Google для оптимизации производительности телефонов Google Pixel. я использовал Систрайс например, для проверки влияния изменений планировщика ядра на размещение задач на процессорах и выявления возможных причин зависаний. Систрайс может собирать самые разные данные, включая планирование ЦП, частоту ЦП, дисковый ввод-вывод, графику, активность Binder и многое другое. Информация объединяется в отчет, который можно проанализировать в Google Chrome.

До появления Android Pie единственный способ зафиксировать следы с помощью Систрайс заключалось в подключении устройства Android к компьютеру и запуске оттуда systrace — обычно с терминала. Однако не у всех есть постоянный доступ к компьютеру, а также знания и уверенность в использовании systrace.

С выпуском Android Pie это неудобство было устранено путем введения Пакет Traceur — инструмент, который собирает необработанные данные трассировки. прямо на телефоне Android. Traceur доступен в виде параметра «Трассировка системы» в настройках разработчика приложения «Настройки», а необработанные данные трассировки, собранные на устройстве с помощью Traceur, могут позже быть преобразованы с помощью Систрайс в HTML-отчет для анализа.

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

Руководство: сбор и анализ системных следов

Во-первых, убедитесь, что у вас есть устройство под управлением Android Pie и компьютер с установленным Python 2. Следующие инструкции были выполнены на OnePlus 6 под управлением последней бета-версии OxygenOS Android Pie.

  1. Включите параметры разработчика в приложении «Настройки», а затем получите доступ к опции «Отслеживание системы». в разделе «Отладка» параметров разработчика.
  2. При открытии трассировки системы вам будет представлен переключатель для включения трассировки системы, а также возможность настраивать категории трассировки и размер буфера трассировок. Для этой демонстрации используются категории по умолчанию, чего достаточно для большинства случаев. Переключатель «Показать плитку быстрых настроек» позволяет запускать/останавливать отслеживание с помощью быстрых настроек. Я включил это для этого руководства.
  3. Чтобы начать запись трассировки, коснитесь недавно добавленной плитки быстрых настроек «Запись трассировки».
  4. Когда вы закончите трассировку тестового примера, вы можете остановить трассировку из панели уведомлений.
  5. Большой! Вы успешно зафиксировали необработанную трассировку. Уведомление предложит вам поделиться необработанным файлом трассировки. У вас должна быть возможность сохранить его на своем устройстве, загрузить в онлайн-хранилище, отправить кому-нибудь по электронной почте и т. д. Альтернативно вы можете использовать ADB, чтобы напрямую перенести трассировку с вашего устройства на компьютер (adb pull /data/local/traces/). Сохраните файл трассировки на свой компьютер.
  6. Необработанный файл трассировки имеет исправленную формат .ctrace. Его нельзя интерпретировать в чистом виде. Мы можем использовать Систрайс для создания более полезного и понятного интерактивного HTML-отчета из нашего необработанного файла трассировки.
  7. Мы будем использовать последнюю версию Систрайс из репозиторий проекта катапульты. В терминальном приложении клонируйте репозиторий (убедитесь, что установлен git):
    git clone https://github.com/catapult-project/catapult.git
  8. Чтобы создать отчет HTML из нашего необработанного файла трассировки, используя Систрайс, введите следующие команды:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Будет создан HTML-файл с тем же именем, что и у файла необработанной трассировки. Примечание. На момент написания systrace поддерживает только Python 2.
  9. Чтобы просмотреть отчет в формате HTML, запустите браузер Google Chrome и перейдите по URL-адресу «chrome://tracing». Не открывайте отчет HTML непосредственно в Google Chrome, поскольку он будет пустым.
  10. Нажмите «Загрузить» и откройте файл отчета HTML из всплывающего диалогового окна. Вуаля! Ваш отчет о отслеживании теперь доступен для проверки.

Что дальше?

Теперь, когда вы можете захватывать трассировку и генерировать Систрайс отчете важно понимать, как читать и интерпретировать данные, представленные в отчете. Для начала рекомендую прочитать «Понимание Систраце», и смотрю «Производительность Android: обзор (Google I/O '17)" и "Систраце для игр" чтобы увидеть Систрайс В бою.

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