Как локально захватить трассировку системы на 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=<path to raw trace file>

    Будет создан HTML-файл с тем же именем, что и у исходного файла трассировки. Примечание: на момент написания systrace поддерживает только Python 2.

  9. Чтобы просмотреть отчет в формате HTML, запустите браузер Google Chrome и перейдите по URL-адресу «chrome://tracing». Не открывайте HTML-отчет непосредственно в Google Chrome, так как он будет пустым.
  10. Нажмите «Загрузить» и откройте файл отчета в формате HTML во всплывающем диалоговом окне. Вуаля! Ваш отчет о трассировке теперь доступен для проверки.

Что дальше?

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *