Recuperar e analisar dados de criação de perfil

Esta página descreve como recuperar rastreamentos e visualizá-los na interface do Perfetto.

Recuperar rastros

Depois que um perfil é gravado, os rastros são salvos no seu dispositivo. Antes de analisar esses rastreamentos, você precisa recuperá-los.

Os locais de rastreamento são fornecidos pelo ProfilingResult.getResultFilePath(). Para saber como conseguir o local do trace, consulte Como capturar um perfil. Depois de ter o local do rastreamento, faça upload dele para um servidor.

Teste local: recuperar rastreamentos usando o ADB

Usar adb para receber rastreamentos é útil para verificar a performance e depurar localmente.

Os rastreamentos editados são salvos nos arquivos do seu dispositivo. Um caminho típico para um perfil salvo é:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

Em que:

  • <app> é o nome do app.
  • <datetime> é a data e a hora em que o rastreamento foi feito.
  • <tag> é a tag fornecida pelo usuário e configurada com setTag.

Se os rastreamentos não editados estiverem ativados e salvos, use o seguinte comando adb para extraí-los do dispositivo:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Visualizar rastros

Depois de recuperar o rastreamento para o computador, é possível visualizá-lo na interface do Perfetto.

Exemplo de rastreamento editado
Figura 1: Exemplo de rastreamento editado.

Em um rastreamento editado, a seção OtherProcesses combina toda a atividade da CPU de outros processos. A combinação de processos mantém a privacidade do que esses outros processos estavam fazendo.

No entanto, essa atividade combinada da CPU ainda permite verificar se o sistema ficou sobrecarregado durante a gravação. Verificar a atividade do sistema ajuda você a descobrir se o app estava lento devido a um problema interno ou porque o sistema estava lento de maneira geral.

A imagem a seguir destaca e descreve brevemente as principais partes que você verá no rastreamento:

Seções de um rastreamento
redigido
Figura 2: Seções de um rastreamento redigido.
  1. Lista de CPUs: mostra todos os processadores disponíveis no seu dispositivo.
  2. Tarefas da CPU: mostra quais linhas de execução cada CPU estava executando.
  3. Visualização de outros processos: mostra os recursos da CPU consumidos por outros processos.
  4. Process View: mostra o processo do app.
  5. Visualização de linhas de execução: mostra as linhas de execução em execução no seu processo e os estados delas (Runnable (R), Running (R), Sleeping (S), Uninterruptible Sleep (D)), que são mapeados diretamente para os estados de processo do Linux.
  6. Intervalos de rastreamento: esta seção mostra anotações de rastreamento adicionadas por desenvolvedores de apps ou pelo framework. Essas anotações abrangem cálculos entre Trace.beginSection e Trace.endSection.

Para mais informações sobre a interface do Perfetto e a visualização de rastreamentos, consulte a documentação do Perfetto (em inglês).