Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Saiba mais sobre os dados de desempenho de renderização de tela (aplicativos Apple e Android)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O monitoramento de desempenho usa rastreamentos para coletar dados sobre processos monitorados em seu aplicativo. Um rastreamento é um relatório que contém dados capturados entre dois pontos no tempo em seu aplicativo.

Para aplicativos Apple e Android, o Monitoramento de desempenho mede automaticamente o desempenho de renderização de diferentes telas em seu aplicativo. Monitoramento de desempenho cria um rastreamento de renderização de tela para cada tela em seu aplicativo. Esses rastreamentos coletam e medem as seguintes métricas:

  • Quadros de renderização lenta — Mede a porcentagem de instâncias de tela que demoram mais de 16ms para renderizar.

  • Quadros congelados — Mede a porcentagem de instâncias de tela que demoram mais de 700ms para renderizar.

Quadros lentos ou congelados em seu aplicativo podem resultar em baixo desempenho do dispositivo, também conhecido como instabilidade ou atraso. A captura de métricas de quadros de renderização congeladas e lentas pode ajudá-lo a identificar telas com desempenho insatisfatório, permitindo melhorar o desempenho de renderização de seu aplicativo.

Você pode visualizar dados para rastreamentos de renderização de tela na guia Renderização de tela da tabela de rastreamentos. A tabela de traces está localizada na parte inferior da página Performance do Firebase console . Para obter mais informações, consulte Rastrear, visualizar e filtrar dados de desempenho .

Métricas coletadas por rastreamentos de renderização de tela

Esses rastreamentos são rastreamentos prontos para uso, portanto, você não pode adicionar métricas customizadas ou atributos customizados a eles.

Os quadros de renderização lenta e os quadros congelados são calculados com uma taxa de atualização de dispositivo assumida de 60 Hz. Se a taxa de atualização de um dispositivo for inferior a 60 Hz, cada quadro terá um tempo de renderização mais lento porque menos quadros são renderizados por segundo. Tempos de renderização mais lentos podem fazer com que mais quadros lentos ou congelados sejam relatados porque mais quadros serão renderizados mais lentamente ou congelarão. No entanto, se a taxa de atualização do dispositivo for superior a 60 Hz, cada quadro terá um tempo de renderização mais rápido. Isso pode fazer com que menos quadros lentos ou congelados sejam relatados. Esta é uma limitação atual no SDK de monitoramento de desempenho.

Quadros de renderização lenta

Essa métrica é a porcentagem de sessões do usuário que experimentaram uma quantidade perceptível de renderização lenta para uma tela específica. Especificamente, essa métrica é a porcentagem de instâncias de tela durante as quais mais de 50% dos quadros levaram mais de 16 ms para renderizar.

quadros congelados

Essa métrica é a porcentagem de sessões do usuário que experimentaram uma quantidade perceptível de quadros congelados para uma tela específica. Especificamente, essa métrica é a porcentagem de instâncias de tela durante as quais mais de 0,1% dos quadros levaram mais de 700 ms para renderizar.

Como os rastreamentos de renderização de tela são gerados?

Cada rastreamento de renderização de tela é identificado pelo nome do elemento de exibição em seu aplicativo. O cliente de monitoramento de desempenho cria rastreamentos de renderização de tela para cada atividade ou fragmento usado por seu aplicativo.

Cada rastreamento de renderização de tela executa as seguintes ações:

  • Inicia para cada atividade e classe de fragmento quando o objeto se torna visível na tela. OnActivityStarted() para atividades e OnFragmentResume() para fragmentos.

  • Pára para cada atividade e classe de fragmento quando o objeto não está visível na tela. OnActivityStopped() para atividades e OnFragmentPaused() para fragmentos.

Rastreie, visualize e filtre dados de desempenho

Para visualizar dados de desempenho em tempo real, certifique-se de que seu aplicativo use uma versão do SDK de monitoramento de desempenho compatível com o processamento de dados em tempo real. Saiba mais sobre dados de desempenho em tempo real .

Rastreie as principais métricas em seu painel

Para saber qual é a tendência de suas principais métricas, adicione-as ao quadro de métricas na parte superior do painel de desempenho . Você pode identificar rapidamente as regressões vendo as alterações semana a semana ou verificando se as alterações recentes em seu código estão melhorando o desempenho.

uma imagem do painel de métricas no painel de monitoramento de desempenho do Firebase

Para adicionar uma métrica ao seu quadro de métricas, siga estas etapas:

  1. Vá para o painel de desempenho no console do Firebase.
  2. Clique em um cartão de métrica vazio e selecione uma métrica existente para adicionar ao quadro.
  3. Clique em em um cartão de métrica preenchido para obter mais opções, por exemplo, para substituir ou remover uma métrica.

O quadro de métricas mostra os dados de métricas coletados ao longo do tempo, tanto em forma gráfica quanto como uma alteração percentual numérica.

Saiba mais sobre como usar o painel .

Veja o desempenho da tela no console

Para visualizar seus rastreamentos, vá para o painel Desempenho no console do Firebase, role para baixo até a tabela de rastreamentos e clique na subguia apropriada. A tabela exibe algumas das principais métricas para cada rastreamento e você pode até classificar a lista pela alteração percentual de uma métrica específica.

O Monitoramento de desempenho fornece uma página de solução de problemas no console do Firebase que destaca as alterações nas métricas, facilitando a resolução rápida e minimizando o impacto de problemas de desempenho em seus aplicativos e usuários. Você pode usar a página de solução de problemas quando aprender sobre possíveis problemas de desempenho, por exemplo, nos seguintes cenários:

  • Você seleciona métricas relevantes no painel e percebe um grande delta.
  • Na tabela de rastreamentos, você classifica para exibir os maiores deltas na parte superior e vê uma alteração percentual significativa.
  • Você recebe um alerta por e-mail notificando sobre um problema de desempenho.

Você pode acessar a página de solução de problemas das seguintes maneiras:

  • No painel de métricas, clique no botão Exibir detalhes da métrica .
  • Em qualquer cartão métrico, selecione => View details . A página de solução de problemas exibe informações sobre a métrica selecionada.
  • Na tabela de rastreamentos, clique em um nome de rastreamento ou em qualquer valor de métrica na linha associada a esse rastreamento.
  • Em um alerta por e-mail, clique em Investigar agora .

Ao clicar em um nome de rastreamento na tabela de rastreamentos, você pode detalhar as métricas de interesse. Clique no botão filtro para filtrar os dados por atributo, por exemplo:

uma imagem dos dados do Firebase Performance Monitoring sendo filtrados por atributo
  • Filtre por versão do aplicativo para visualizar dados sobre uma versão anterior ou sua versão mais recente
  • Filtre por dispositivo para saber como os dispositivos mais antigos lidam com seu aplicativo
  • Filtre por país para garantir que a localização do seu banco de dados não esteja afetando uma região específica

Saiba mais sobre como visualizar dados para seus rastreamentos .

Atributos do fragmento

Em aplicativos Android, você pode reutilizar fragmentos com outra atividade ou fragmento. O desempenho de um fragmento pode variar dependendo do fragmento ou atividade em que o fragmento está sendo renderizado. Use os atributos a seguir para obter informações detalhadas sobre o desempenho de um fragmento no fragmento pai, com base na atividade ou fragmento ao qual o fragmento está associado com:

uma imagem do painel de monitoramento de desempenho de métricas de fragmento
  • Hosting_activity — A atividade que hospeda o fragmento. Permite entender o desempenho do fragmento na atividade de hospedagem.
  • Parent_fragment — O fragmento pai do fragmento que você está investigando. Permite entender o desempenho do fragmento dentro do fragmento pai. Se não houver fragmentos pai, o atributo será definido como No Parent .

Próximos passos