Команда systrace вызывает инструмент Systrace, который позволяет собирать и проверять информацию о времени выполнения всех процессов, запущенных на устройстве на системном уровне.
В этом документе рассказывается, как создавать отчеты Systrace из командной строки. На устройствах с Android 9 (уровень API 28) или более поздней версии вы также можете создавать отчеты Systrace с помощью системного приложения "Трассировка системы".
Чтобы запустить systrace, выполните следующие действия:
- В Android Studio скачайте и установите последнюю версию Android SDK Tools.
- Установите Python и добавьте его в переменную среды
PATHна рабочей станции. - Добавьте
android-sdk/platform-tools/в переменную средыPATH. В этом каталоге содержится двоичный файл Android Debug Bridge (adb), который вызывается программойsystrace. - Подключите устройство с Android 4.3 (уровень API 18) или более поздней версии к системе разработки, используя отладку по USB.
Команда systrace входит в пакет Android SDK Tools и находится в каталоге android-sdk/platform-tools/systrace/.
Синтаксис
Чтобы создать HTML-отчет для приложения, запустите systrace из командной строки, используя следующий синтаксис:
python systrace.py [options] [categories]
Например, следующая команда вызывает systrace, чтобы записать действия на устройстве и создать HTML-отчет с названием mynewtrace.html. Этот список категорий подходит для большинства устройств.
$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
binder_driver hal dalvik camera input res memory
Совет. Если вы хотите видеть названия задач в трассировке, необходимо включить категорию sched в параметры команды.
Чтобы посмотреть список категорий, которые поддерживает подключенное устройство, выполните следующую команду:
$ python systrace.py --list-categories
Если вы не укажете категории или параметры, systrace создаст отчет, который будет включать все доступные категории и использовать настройки по умолчанию. Доступные категории зависят от подключенного устройства.
Общие настройки
| Общие настройки | Описание |
|---|---|
-h | --help |
Показать справочное сообщение. |
-l | --list-categories |
Показывает список категорий трассировки, доступных для подключенного устройства. |
Команды и их параметры
| Команды и параметры | Описание |
|---|---|
-o file |
Записывает отчет о трассировке HTML в указанный file. Если вы не укажете этот параметр, systrace сохранит отчет в том же каталоге, что и systrace.py, и назовет его trace.html.
|
-t N | --time=N |
Отслеживать действия на устройстве в течение N сек. Если вы не укажете этот параметр, systrace предложит вам завершить трассировку, нажав клавишу Ввод в командной строке.
|
-b N | --buf-size=N |
Использовать размер буфера трассировки, равный N КБ. Этот параметр позволяет ограничить общий размер данных, собираемых во время трассировки. |
-k functions |
Отслеживать действия определенных функций ядра, указанных в списке через запятую. |
-a app-name |
Включить трассировку для приложений, указанных в виде списка названий процессов, разделенных запятыми.
Приложения должны содержать вызовы инструментов трассировки из класса Trace. Этот параметр следует указывать при каждом профилировании приложения. Многие библиотеки, например RecyclerView, включают вызовы инструментов трассировки, которые предоставляют полезную информацию, когда вы включаете трассировку на уровне приложения. Подробнее об определении специальных событий…
Чтобы отслеживать все приложения на устройстве с Android 9 (уровень API 28) или более поздней версии, передайте подстановочный знак |
--from-file=file-path |
Создать интерактивный HTML-отчет на основе файла, например TXT-файла с необработанными данными трассировки, вместо того чтобы выполнять трассировку в реальном времени. |
-e device-serial |
Выполните трассировку на определенном подключенном устройстве, указав его серийный номер. |
categories |
Включите информацию трассировки для указанных вами системных процессов, например gfx для системных процессов, которые отрисовывают графику. Чтобы посмотреть список сервисов, доступных на подключенном устройстве, выполните команду systrace с параметром -l.
|
Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Как выполнить трассировку системы на устройстве