Como capturar localmente um rastreamento do sistema no Android Pie

systrace é uma ferramenta poderosa que coleta informações de tempo de processos em execução no Android. Veja como capturar um rastreamento do sistema no Android Pie.

O rastreamento é uma ferramenta inestimável que permite aos desenvolvedores compreender o impacto que diversas alterações têm em um sistema e pode fornecer pistas para identificar a causa raiz dos problemas.

sistema é uma ferramenta de rastreamento poderosa que coleta informações de tempo dos processos rodando em um dispositivo Android. sistema foi amplamente utilizado pelo Equipe de desempenho do Android no Google para otimizar o desempenho nos telefones Google Pixel. Eu tenho usado sistema para inspecionar o impacto das alterações do agendador do kernel no posicionamento de tarefas nas CPUs, por exemplo, e para identificar possíveis causas de interrupções. sistema pode capturar uma ampla variedade de dados, incluindo agendamento de CPU, frequência de CPU, E/S de disco, gráficos, atividade do Binder e muito mais. As informações são combinadas em um relatório que pode ser analisado no Google Chrome.

Antes do Android Pie, a única maneira de capturar rastros com sistema era conectar um dispositivo Android a um computador e executar o systrace a partir dele – geralmente a partir de um terminal. No entanto, nem todo mundo tem acesso constante a um computador ou conhecimento e confiança para executar o systrace.

Com o lançamento do Android Pie, esse inconveniente foi resolvido com a introdução do Pacote Traceur, que é uma ferramenta que captura dados brutos de rastreamento diretamente em um telefone Android. Traceur está disponível como a opção “Rastreamento do Sistema” nas Opções do Desenvolvedor do aplicativo Configurações, e os dados brutos de rastreamento capturados no dispositivo pelo Traceur podem ser convertidos posteriormente por sistema para um relatório HTML para análise.

A nova opção “System Tracing” permite aos usuários capturar e compartilhar facilmente rastreios com os desenvolvedores, sem a necessidade de realmente saber como executar sistema em um computador. Os desenvolvedores se beneficiam da capacidade de capturar rastros sem um computador e analisá-los posteriormente conforme sua conveniência. Os dados brutos completos de rastreamento coletados pelo “System Tracing” também são significativamente menores em tamanho do que o relatório HTML gerado pelo sistema, o que torna os dados de rastreamento brutos mais adequados para armazenamento e compartilhamento com outras pessoas.

Guia: Coletando Sistema e Analisando Rastreios do Sistema

Em primeiro lugar, certifique-se de ter um dispositivo rodando Android Pie e um computador com Python 2 instalado. As instruções a seguir foram executadas em um OnePlus 6 executando a versão beta mais recente do OxygenOS Android Pie.

  1. Habilite as opções do desenvolvedor no aplicativo Configurações e acesse a opção “Rastreamento do sistema” na seção “Depuração” das Opções do desenvolvedor.
  2. Ao abrir o Rastreamento do Sistema, será apresentado um botão para ativar o Rastreamento do Sistema e a capacidade de personalizar as categorias de rastreamento e o tamanho do buffer dos rastreamentos. Para esta demonstração são utilizadas as categorias padrão, o que é suficiente para a maioria dos casos. Uma alternância “Mostrar bloco de configurações rápidas” permite que o rastreamento seja iniciado/interrompido por meio de Configurações rápidas. Eu habilitei isso para este guia.
  3. Para começar a capturar um rastreamento, toque no bloco de configurações rápidas “Gravar rastreamento” adicionado recentemente.
  4. Quando terminar de rastrear um caso de teste, você poderá interromper o rastreamento na aba de notificações.
  5. Ótimo! Você capturou com êxito um rastreamento bruto. Uma notificação solicitará que você compartilhe o arquivo de rastreamento bruto. Você deve ser capaz de salvá-lo em seu dispositivo, carregá-lo para armazenamento online, enviá-lo por e-mail para alguém, etc. Alternativamente, você pode usar o ADB para extrair diretamente o rastreamento do seu dispositivo para o seu computador (adb pull /data/local/traces/). Vá em frente e salve o arquivo de rastreamento em seu computador.
  6. O arquivo de rastreamento bruto tem o formato Formato .ctrace. Não pode ser interpretado em sua forma bruta. Podemos usar sistema para gerar um relatório HTML interativo mais útil e compreensível a partir de nosso arquivo de rastreamento bruto.
  7. Usaremos a versão mais recente do sistema de repositório de projeto de catapulta. Em um aplicativo de terminal, clone o repositório (certifique-se de que o git esteja instalado):
    git clone https://github.com/catapult-project/catapult.git
  8. Para gerar o relatório HTML a partir do nosso arquivo de rastreamento bruto usando sistema, digite os seguintes comandos:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    Um arquivo HTML com o mesmo nome do arquivo de rastreamento bruto será gerado. Nota: o systrace suporta apenas Python 2 no momento em que este artigo foi escrito.
  9. Para visualizar o relatório HTML, inicie o navegador Google Chrome e acesse o URL “chrome://tracing”. Não abra o relatório HTML diretamente no Google Chrome porque ele aparecerá em branco.
  10. Clique em “Carregar” e abra o arquivo de relatório HTML na caixa de diálogo pop-up. Voilá! Seu relatório de rastreamento agora está disponível para inspeção.

Qual é o próximo?

Agora que você é capaz de capturar um rastreamento e gerar um sistema relatório, é importante compreender como ler e interpretar os dados apresentados no relatório. Para começar, recomendo a leitura “Entendimento Systrace”, e assistindo“Desempenho do Android: uma visão geral (Google I/O ‘17)" e "Systrace para jogos" ver sistema em ação.

Este é um post convidado originalmente escrito por Josh Choo, também conhecido como XDA Recognized Developer alegre. A postagem foi levemente editada para formatação.