Escolher o método de criação de perfil certo

É possível coletar perfis usando dois métodos principais: coleta manual de perfis e a API ProfilingManager.

Recomendamos usar ProfilingManager para coletar e analisar dados de muitos usuários ou para depurar problemas raros. No entanto, para problemas mais fáceis de reproduzir, a criação de perfil manual pode ser uma opção melhor.

A tabela a seguir mostra como esses dois métodos para registrar perfis são diferentes:

ProfilingManager Coleta manual de perfis
Controle de tempo do perfil Mais Menos
Origem do perfil Dispositivo local e usuários públicos Somente dispositivo local
Saída do perfil Encoberto Sem edição
Criação de perfis com base em eventos Sim Não
Personalização do perfil Menos Mais
Escalabilidade Alta Baixo

As seções a seguir descrevem brevemente as diferenças entre os métodos de gravação de perfil.

Controle de tempo do perfil

A API ProfilingManager oferece mais controle sobre quando um app inicia ou interrompe um perfil em comparação com a criação de perfil manual, em que a inicialização do perfil de tempo pode ser difícil. O ProfilingManager também facilita a criação de perfis de comportamentos inesperados, porque é possível coletar um perfil mesmo que não seja possível reproduzir o comportamento localmente.

Origem do perfil

Com o ProfilingManager, é possível coletar dados de usuários públicos para encontrar e corrigir problemas de performance. Em contraste, o perfil manual só permite reproduzir problemas no seu próprio dispositivo.

Saída do perfil

A coleta manual e o ProfilingManager produzem diferentes tipos de saída de perfil:

  • ProfilingManager produz traces redigidos. Os rastreamentos editados mostram informações sobre o processo do app, mas ocultam dados de outros apps no sistema. Como o ProfilingManager coleta e edita antes de retornar os dados, é possível coletar rastreamentos de usuários públicos e proteger a privacidade deles sem mostrar dados de outros apps.

  • A coleta manual de perfis produz rastreamentos não editados. Quando você grava um rastreamento do sistema manualmente, a saída pode incluir todos os processos em execução no sistema. Embora esses rastreamentos não editados ofereçam dados mais completos para depuração, só é possível acessá-los localmente devido a questões de privacidade.

Criação de perfis baseada em eventos

O ProfilingManager também pode coletar perfis quando eventos específicos acontecem, como um erro "O app não está respondendo" (ANR) ou a inicialização do app. ProfilingManager vai processar o início e a interrupção dos perfis para a coleta baseada em eventos.

Personalização do perfil

A criação de perfil manual oferece mais personalização, enquanto o ProfilingManager tem menos opções.

Escalabilidade

ProfilingManager é a melhor maneira de escalonar o rastreamento porque é a única opção que permite aos desenvolvedores de apps gravar perfis de usuários públicos. Com o ProfilingManager, é possível configurar a coleta e a análise de rastreamentos em grande escala. A criação de perfis manual é limitada ao uso local.