Команда systrace
вызывает инструмент Systrace , который позволяет собирать и проверять информацию о времени всех процессов, запущенных на вашем устройстве, на системном уровне.
В этом документе объясняется, как создавать отчеты Systrace из командной строки. На устройствах под управлением Android 9 (уровень API 28) или выше вы также можете создавать отчеты Systrace с помощью системного приложения System Tracing .
Чтобы запустить 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 предложит вам завершить трассировку, нажав клавишу Enter в командной строке. |
-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 отключен.
- Захват системной трассировки на устройстве