Solução de problemas e perguntas frequentes sobre monitoramento de desempenho
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página fornece dicas de solução de problemas para começar a usar o Monitoramento de desempenho ou usar recursos e ferramentas do Monitoramento de desempenho.
Primeiras verificações para solução de problemas
As duas verificações a seguir são práticas recomendadas gerais para qualquer pessoa antes de solucionar problemas adicionais.
1. Verifique as mensagens de log para eventos de desempenho
Verifique suas mensagens de log para ter certeza de que o SDK do Monitoramento de Desempenho está capturando eventos de desempenho.
Como visualizar mensagens de log para eventos de desempenho
Habilite o registro de depuração da seguinte maneira:
Verifique o Painel de status do Firebase caso haja uma interrupção conhecida do Firebase ou do Monitoramento de desempenho.
Introdução ao monitoramento de desempenho
Se você está começando a usar o Monitoramento de desempenho ( iOS+ | Android | Web ), as dicas de solução de problemas a seguir podem ajudar com problemas que envolvem a detecção do SDK pelo Firebase ou a exibição dos primeiros dados de desempenho no console do Firebase.
Adicionado o SDK ao aplicativo, mas o console ainda diz para adicionar o SDK
O Firebase pode detectar se você adicionou o SDK do Monitoramento de desempenho ao seu aplicativo quando recebe informações de eventos (como interações do aplicativo). Normalmente, 10 minutos após iniciar o aplicativo, o painel de desempenho do console do Firebase exibe uma mensagem "SDK detectado". Então, em 30 minutos, o painel exibe os dados processados inicialmente.
Se já se passaram mais de 10 minutos desde que você adicionou a versão mais recente do SDK ao seu aplicativo e você ainda não vê nenhuma alteração, verifique suas mensagens de log para garantir que o Monitoramento de desempenho esteja registrando eventos. Tente as etapas de solução de problemas apropriadas, conforme descrito abaixo, para solucionar uma mensagem de detecção atrasada do SDK.
O aplicativo está registrando eventos: etapas de solução de problemas
Se você ainda estiver desenvolvendo localmente, tente gerar mais eventos para coleta de dados:
Continue desenvolvendo seu aplicativo usando um simulador ou dispositivo de teste.
Gere eventos alternando seu aplicativo entre segundo plano e primeiro plano várias vezes, interagindo com seu aplicativo navegando pelas telas e/ou acionando solicitações de rede.
Verifique se o arquivo de configuração do Firebase ( Google-Service-Info.plist ) foi adicionado corretamente ao seu aplicativo e se você não modificou o arquivo. Especificamente, verifique o seguinte:
O nome do arquivo de configuração não é anexado a caracteres adicionais, como (2) .
O arquivo de configuração está na raiz do seu projeto XCode e adicionado aos destinos corretos.
O Firebase Apple App ID ( GOOGLE_APP_ID ) listado no arquivo de configuração está correto para seu aplicativo. Encontre seu ID do aplicativo Firebase no cartão Seus aplicativos em suas settingsConfigurações do projeto .
Se algo parecer errado com o arquivo de configuração do seu aplicativo, tente o seguinte:
Exclua o arquivo de configuração que você possui atualmente em seu aplicativo.
Siga estas instruções para baixar um novo arquivo de configuração e adicioná-lo ao seu aplicativo Apple.
Se o SDK estiver registrando eventos e tudo parecer estar configurado corretamente, mas você ainda não estiver vendo a mensagem de detecção do SDK ou os dados processados (após duas horas), entre em contato com o Suporte do Firebase .
O aplicativo não está registrando eventos: etapas de solução de problemas
Se você adicionou o SDK com êxito e está usando o Monitoramento de desempenho em seu aplicativo, as dicas de solução de problemas a seguir podem ajudar com problemas gerais que envolvem recursos e ferramentas do Monitoramento de desempenho.
O aplicativo não está registrando eventos de desempenho
O painel de desempenho não contém dados de rastreamento de tela
Se faltarem dados para rastreamentos de renderização de tela, tente as seguintes etapas de solução de problemas:
Certifique-se de estar usando a versão mais recente do SDK das plataformas Apple (v10.23.0). Os rastreamentos de renderização de tela estão disponíveis apenas na versão 5.0.0 ou posterior.
O Monitoramento de Desempenho não cria rastreamentos de renderização de tela para controladores de exibição de contêiner (como UINavigationController e UITabBarController ). Se faltarem dados apenas para essas telas, esse será o comportamento esperado.
O painel de desempenho não contém dados de rastreamento personalizados
Você está vendo dados de desempenho para rastreamentos coletados automaticamente , mas não para rastreamentos de código personalizado ? Tente as seguintes etapas de solução de problemas:
Verifique a configuração de rastreamentos de código personalizados instrumentados por meio da API Trace , especialmente os seguintes:
Os nomes para rastreamentos de código personalizados e métricas personalizadas devem atender aos seguintes requisitos: nenhum espaço em branco à esquerda ou à direita, nenhum caractere de sublinhado ( _ ) à esquerda e o comprimento máximo é de 32 caracteres.
Todos os rastreamentos devem ser iniciados e interrompidos. Qualquer rastreamento que não for iniciado, não interrompido ou interrompido antes de ser iniciado não será registrado.
Verifique suas mensagens de log para certificar-se de que o Monitoramento de Desempenho esteja registrando os rastreamentos de código customizados esperados.
Dependendo do comportamento do seu código e das bibliotecas de rede usadas pelo seu código, o Monitoramento de Desempenho poderá relatar apenas as solicitações de rede concluídas. Isso significa que as conexões HTTP/S deixadas abertas podem não ser relatadas.
O Monitoramento de Desempenho não informa sobre solicitações de rede com cabeçalhos Content-Type inválidos. No entanto, as solicitações de rede sem os cabeçalhos Content-Type ainda serão aceitas.
Os dados de solicitação de rede não estão sendo agregados conforme o esperado
O que aconteceu com os principais problemas no cartão Desempenho na página inicial do projeto?
Substituímos os principais problemas por alertas recentes como uma continuação da nossa recente introdução de alertas, que notificam você automaticamente quando os limites definidos são ultrapassados. Os problemas agora estão obsoletos e substituídos por alertas.
O seletor de aplicativos na parte superior do cartão Desempenho filtra as entradas de alerta em Alertas recentes . Somente os três alertas mais recentes do(s) aplicativo(s) selecionado(s) são exibidos.
O que aconteceu com a capacidade de definir limites para problemas no console?
O Monitoramento de Desempenho oferece suporte a alertas para métricas que excedem os limites definidos. Para evitar confusão com esses limites configuráveis para métricas de desempenho, removemos a capacidade de configurar limites para problemas .
O que aconteceu com as informações de detalhes e métricas no console do Firebase?
Substituímos as páginas Detalhes e Métricas por uma interface de usuário (IU) centralizada e redesenhada para melhorar a forma como você soluciona problemas. Essa nova IU de solução de problemas oferece a mesma funcionalidade básica oferecida por Detalhes e Métricas. Para saber mais sobre solução de problemas, consulte Exibir mais dados para um rastreamento específico .
Por que o número de amostras não é o que eu esperava?
O Monitoramento de desempenho coleta dados de desempenho dos dispositivos dos usuários do seu aplicativo. Se seu aplicativo tiver muitos usuários ou gerar uma grande quantidade de atividade de desempenho, o Monitoramento de Desempenho poderá limitar a coleta de dados a um subconjunto de dispositivos para reduzir o número de eventos processados. Esses limites são altos o suficiente para que, mesmo com menos eventos, os valores da métrica ainda sejam representativos da experiência do usuário no aplicativo.
Para gerenciar o volume de dados que coletamos, o Monitoramento de Desempenho utiliza as seguintes opções de amostragem:
Limitação de taxa no dispositivo : para evitar que um dispositivo envie rajadas repentinas de rastreamentos, limitamos o número de rastreamentos de código e de solicitação de rede enviados de um dispositivo a 300 eventos a cada 10 minutos. Essa abordagem protege o dispositivo de instrumentações em loop que podem enviar grandes quantidades de dados de desempenho e evita que um único dispositivo distorça as medições de desempenho.
Amostragem dinâmica : o Monitoramento de desempenho coleta um limite de aproximadamente 100 milhões de eventos para rastreamentos de código e 100 milhões para rastreamentos de solicitação de rede por aplicativo diariamente em todos os usuários do aplicativo. Uma taxa de amostragem dinâmica é buscada nos dispositivos (usando o Firebase Remote Config) para determinar se um dispositivo aleatório deve capturar e enviar rastreamentos. Um dispositivo que não está selecionado para amostragem não envia nenhum evento. A taxa de amostragem dinâmica é específica do aplicativo e se ajusta para garantir que o volume geral de dados coletados permaneça abaixo do limite.
As sessões de usuário enviam dados adicionais e detalhados do dispositivo de um usuário, exigindo mais recursos para capturar e enviar os dados. Para minimizar o impacto das sessões do usuário, o Monitoramento de Desempenho também pode restringir o número de sessões.
Limitação de taxa do lado do servidor : para garantir que os aplicativos não excedam o limite de amostragem, o Monitoramento de Desempenho pode usar a amostragem do lado do servidor para descartar alguns eventos recebidos dos dispositivos. Embora este tipo de limitação não altere a eficácia das nossas métricas, pode causar pequenas mudanças de padrão, incluindo as seguintes:
O número de rastreamentos pode ser diferente do número de vezes que um trecho de código foi executado.
Os rastreamentos intimamente acoplados no código podem ter, cada um, um número diferente de amostras.
O que aconteceu com a guia Problemas no console?
Substituímos a guia Problemas pela introdução de Alertas, que notifica você automaticamente quando os limites definidos são excedidos. Você não precisa mais verificar manualmente o console do Firebase para determinar o status de um limite. Para saber mais sobre alertas, consulte Configurar alertas para problemas de desempenho .
O que aconteceu com as guias On Device e Network no console? Como posso ver os rastros que estavam nessas páginas?
Redesenhamos a seção Monitoramento de desempenho do console do Firebase para que a guia Painel exiba suas principais métricas e todos os seus rastreamentos em um único espaço. Como parte da reformulação, removemos as páginas No dispositivo e Rede .
A tabela de rastreamentos na parte inferior da guia Painel tem todas as mesmas informações exibidas nas guias No dispositivo e Rede , mas com alguns recursos adicionais, incluindo a capacidade de classificar seus rastreamentos pela alteração percentual para uma métrica específica. Para visualizar todas as métricas e dados de um rastreamento específico, clique no nome do rastreamento na tabela de rastreamentos.
Visualize seus rastreamentos nas seguintes subguias da tabela de rastreamentos:
Rastreamentos de solicitação de rede (prontos para uso e personalizados) — subguia Solicitações de rede
Rastreamentos de código personalizados — subguia Rastreamentos personalizados
Início do aplicativo, rastreamentos do aplicativo em primeiro plano e do aplicativo em segundo plano — subguia Rastreamentos personalizados
Rastreamentos de renderização de tela — subguia Renderização de tela
Rastreamentos de carregamento de página — subguia Carregamento de página
Para obter detalhes sobre a tabela de rastreamentos e visualizar métricas e dados, visite a página de visão geral do console ( iOS+ | Android | Web ).
Por que o número de quadros lentos e congelados não é o que eu esperava?
Os quadros de renderização lenta e os quadros congelados são calculados com uma taxa de atualização do 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 quadros mais lentos ou congelados sejam relatados porque mais quadros serão renderizados mais lentamente ou congelarão. No entanto, se a taxa de atualização de um 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 do Monitoramento de Desempenho.
Meus dados do Monitoramento de desempenho estão demorando mais do que o esperado para serem exportados para o BigQuery. Não é em tempo real?
Se você tiver ativado a integração do BigQuery para o Firebase Performance Monitoring, seus dados serão exportados para o BigQuery de 12 a 24 horas após o final do dia (horário do Pacífico).
Por exemplo, os dados de 19 de abril estarão disponíveis no BigQuery em 20 de abril, entre 12h e meia-noite (todas as datas e horários são no horário do Pacífico).
Quase em tempo real processamento de dados e exibição
O que significa dados de desempenho "quase em tempo real"?
Os processos de monitoramento de desempenho do FireBase coletavam dados de desempenho, o que resulta em dados de dados quase em tempo real no console do Firebase. Os dados processados são exibidos no console dentro de alguns minutos de sua coleção, daí o termo "quase em tempo real".
Como faço para obter dados de desempenho em tempo real para o meu aplicativo?
Para aproveitar o processamento de dados quase em tempo real, você só precisa garantir que seu aplicativo use uma versão SDK de monitoramento de desempenho que seja compatível com o processamento de dados em tempo real.
Estas são as versões SDK compatíveis em tempo real:
iOS - v7.3.0 ou mais tarde
TvOS - v8.9.0 ou mais tarde
Android - v19.0.10 ou posterior (ou Firebase Android Bom v26.1.0 ou mais tarde)
Web - v7.14.0 ou mais tarde
Observe que sempre recomendamos o uso da versão mais recente do SDK, mas qualquer versão listada acima permitirá que o monitoramento de desempenho processe seus dados em tempo real.
Quais versões do SDK de monitoramento de desempenho são consideradas compatíveis em tempo real?
Essas são as versões SDK compatíveis com o processamento de dados em tempo real:
iOS - v7.3.0 ou mais tarde
TvOS - v8.9.0 ou mais tarde
Android - v19.0.10 ou posterior (ou Firebase Android Bom v26.1.0 ou mais tarde)
Web - v7.14.0 ou mais tarde
Observe que sempre recomendamos o uso da versão mais recente do SDK, mas qualquer versão listada acima permitirá que o monitoramento de desempenho processe seus dados em tempo real.
E se eu não atualizar meu aplicativo para usar uma versão SDK compatível em tempo real?
Se o seu aplicativo não usar uma versão SDK compatível em tempo real, você ainda verá todos os dados de desempenho do seu aplicativo no console do Firebase. No entanto, a exibição dos dados de desempenho será atrasada em aproximadamente 36 horas a partir do momento de sua coleção.
Atualizei para uma versão SDK compatível em tempo real, mas alguns dos meus usuários ainda estão em versões antigas do meu aplicativo. Continuo vendo seus dados de desempenho no console do Firebase?
Sim! Independentemente de qual versão SDK use uma instância do aplicativo, você verá dados de desempenho de todos os seus usuários.
No entanto, se você estiver analisando dados recentes (com menos de 36 horas de idade), os dados exibidos são de usuários de instâncias de aplicativos usando uma versão SDK compatível em tempo real. Os dados não recentes , no entanto, incluem dados de desempenho de todas as versões do seu aplicativo.