Захват трассировки системы в командной строке

Команда systrace вызывает инструмент Systrace , который позволяет собирать и проверять информацию о времени всех процессов, запущенных на вашем устройстве, на системном уровне.

В этом документе объясняется, как создавать отчеты Systrace из командной строки. На устройствах под управлением Android 9 (уровень API 28) или выше вы также можете создавать отчеты Systrace с помощью системного приложения System Tracing .

Чтобы запустить systrace , выполните следующие шаги:

  1. Из Android Studio загрузите и установите последнюю версию Android SDK Tools .
  2. Установите Python и включите его в переменную среды PATH вашей рабочей станции.
  3. Добавьте android-sdk /platform-tools/ в переменную среды PATH . Этот каталог содержит двоичный файл Android Debug Bridge (adb), который вызывается программой systrace .
  4. Подключите устройство под управлением 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 предложит вам завершить трассировку, нажав клавишу Enter в командной строке.
-b N | --buf-size= N Используйте размер буфера трассировки N килобайт. Этот параметр позволяет ограничить общий размер данных, собираемых во время трассировки.
-k functions
| --ktrace= functions
Отслеживайте активность определенных функций ядра, указанных в списке, разделенном запятыми.
-a app-name
| --app= app-name
Включите трассировку для приложений в виде списка имен процессов , разделенных запятыми. Приложения должны содержать вызовы инструментов трассировки из класса Trace . Вам следует указывать этот параметр всякий раз, когда вы профилируете свое приложение — многие библиотеки, такие как RecyclerView , включают в себя вызовы инструментов трассировки, которые предоставляют полезную информацию при включении трассировки на уровне приложения. Дополнительную информацию см. в разделе Определение пользовательских событий .

Чтобы отслеживать все приложения на устройстве под управлением Android 9 (уровень API 28) или более поздней версии, передайте подстановочный знак "*" , включая кавычки.

--from-file= file-path Создайте интерактивный отчет HTML из файла, например файла TXT, который включает необработанные данные трассировки, вместо запуска оперативной трассировки.
-e device-serial
| --serial= device-serial
Выполните трассировку конкретного подключенного устройства, идентифицированного по его серийному номеру .
categories Включите информацию трассировки для указанных вами системных процессов, например gfx для системных процессов, отображающих графику. Вы можете запустить systrace с помощью команды -l , чтобы просмотреть список служб, доступных вашему подключенному устройству.
{% дословно %} {% дословно %} {% дословно %} {% дословно %}