O comando systrace
invoca a ferramenta Systrace, que permite coletar e inspecionar informações de tempo em todos os processos em execução no dispositivo no nível do sistema.
Este documento explica como gerar relatórios do Systrace a partir da linha de comando. Em dispositivos com o Android 9 (API de nível 28) ou versões mais recentes, você também pode gerar relatórios do Systrace usando o app Rastreamento do sistema.
Para executar o systrace
, realize as seguintes etapas:
- No Android Studio, faça o download da versão mais recente do Android SDK Tools e instale-a.
- Instale o Python e inclua-o na variável de ambiente
PATH
da sua estação de trabalho. - Adicione
android-sdk/platform-tools/
à sua variável de ambientePATH
. Esse diretório contém o binário Android Debug Bridge (adb), que é chamado pelo programasystrace
. - Conecte um dispositivo com o Android 4.3 (API de nível 18) ou versão mais recente ao sistema de desenvolvimento usando uma conexão de depuração USB.
O comando systrace
é fornecido no pacote Ferramentas do SDK do Android e está localizado em android-sdk/platform-tools/systrace/
.
Sintaxe
Para gerar o relatório HTML para o app, é necessário executar o systrace
na linha de comando usando a seguinte sintaxe:
python systrace.py [options] [categories]
Por exemplo, o comando a seguir chama systrace
para registrar a atividade do dispositivo e gerar um relatório HTML chamado mynewtrace.html
. Essa lista de categorias é uma lista padrão razoável para a maioria dos dispositivos.
$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
binder_driver hal dalvik camera input res
Dica: caso queira ver os nomes das tarefas no resultado do rastreamento, você precisa incluir a categoria sched
nos parâmetros de comando.
Para ver a lista de categorias compatíveis com o dispositivo conectado, execute o seguinte comando:
$ python systrace.py --list-categories
Se nenhuma categoria ou opção for especificada, o systrace
gerará um relatório com todas as categorias disponíveis e usará as configurações padrão. As categorias disponíveis dependem do dispositivo conectado em uso.
Opções globais
Opções globais | Descrição |
---|---|
-h | --help |
Mostra a mensagem de ajuda. |
-l | --list-categories |
Lista as categorias de rastreamento disponíveis para o dispositivo conectado. |
Comandos e opções de comando
Comandos e opções | Descrição |
---|---|
-o file |
Escrever o relatório de rastreamento HTML no arquivo especificado. Se essa opção não for especificada, o systrace salvará seu relatório no mesmo diretório que systrace.py e o chamará de trace.html .
|
-t N | --time=N |
Rastrear a atividade do dispositivo por N segundos. Se essa opção não for especificada, o systrace solicitará que você encerre o rastreamento pressionando a tecla Enter na linha de comando.
|
-b N | --buf-size=N |
Usar um tamanho de buffer de rastreamento de N kilobytes. Essa opção permite limitar o tamanho total dos dados coletados durante um rastreamento. |
-k functions |
Rastrear a atividade de funções específicas do kernel, indicadas em uma lista separada por vírgulas. |
-a app-name |
Ativar o rastreamento de apps, especificados como uma lista separada por vírgulas de nomes de processos.
Os apps precisam incluir chamadas de instrumentação de rastreamento da classe Trace . É necessário especificar essa opção sempre que você criar um perfil para seu app. Muitas bibliotecas, como RecyclerView , incluem chamadas de instrumentação de rastreamento que apresentam informações úteis quando o rastreamento no nível do app é ativado. Para ver mais informações, consulte Definir eventos personalizados.
Para rastrear todos os apps em um dispositivo com o Android 9 (API de nível 28) ou versões mais recentes, passe o caractere curinga |
--from-file=file-path |
Criar um relatório HTML interativo a partir de um arquivo, como arquivos TXT que incluem dados de rastreamento brutos, em vez de executar um rastreamento simultâneo. |
-e device-serial |
Realizar o rastreamento em um dispositivo conectado específico, identificado pelo número de série do dispositivo. |
categories |
Incluir informações de rastreamento para os processos do sistema especificados, como gfx para processos do sistema que renderizam gráficos. Você pode executar systrace com o comando -l para ver uma lista de serviços disponíveis para o dispositivo conectado.
|