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