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

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

Recomendamos o uso do 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 perfis manual pode ser uma opção melhor.

A tabela a seguir mostra como esses dois métodos de gravação de 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 Não encoberto
Criação de perfis com base em eventos Sim Não
Personalização do perfil Menos Mais
Escalonabilidade Alta Baixa

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

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 perfis 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 comportamento inesperado, 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, a criação de perfis manual só permite reproduzir problemas no seu próprio dispositivo.

Saída do perfil

O ProfilingManager e a coleta manual produzem diferentes tipos de saídas de perfil:

  • O ProfilingManager produz rastros encobertos. Os rastros encobertos mostram informações sobre o processo do app, mas ocultam dados de outros apps no sistema. Como o ProfilingManager coleta e encobre antes de retornar, é possível coletar rastros de usuários públicos, protegendo a privacidade deles ao não mostrar dados de outros apps.

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

Criação de perfis com base em eventos

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

Personalização do perfil

A criação de perfis manual oferece a maior personalização, enquanto o ProfilingManager oferece menos opções de personalização.

Escalonabilidade

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