Check out what’s new from Firebase at Google I/O 2022. Learn more

Saiba mais sobre os dados de desempenho de solicitação de rede HTTP/S (qualquer aplicativo)

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 todos os tipos de aplicativo, o Monitoramento de desempenho coleta automaticamente um rastreamento para cada solicitação de rede emitida pelo seu aplicativo, chamado rastreamento de solicitação de rede HTTP/S . Esses rastreamentos coletam métricas para o tempo entre o momento em que seu aplicativo emite uma solicitação para um endpoint de serviço e quando a resposta desse endpoint é concluída. Para qualquer endpoint para o qual seu aplicativo faz uma solicitação, o Monitoramento de desempenho captura várias métricas:

  • Tempo de resposta — Tempo entre quando a solicitação é feita e quando a resposta é totalmente recebida

  • Tamanho da carga útil da resposta — Tamanho em bytes da carga útil da rede baixada pelo aplicativo

  • Tamanho da carga útil da solicitação — Tamanho em bytes da carga útil da rede carregada pelo aplicativo

  • Taxa de sucesso — Porcentagem de respostas bem-sucedidas (códigos de resposta na faixa de 100 a 399) em comparação com o total de respostas

Você pode visualizar os dados desses rastreamentos na subguia Solicitações de rede da tabela de rastreamentos, que fica na parte inferior do painel Desempenho (saiba mais sobre como usar o console posteriormente nesta página).

Personalize a agregação de dados de solicitação de rede

Além das ferramentas prontas para uso e agregação de dados para solicitações de rede, o Monitoramento de desempenho também oferece suporte às seguintes opções:

  • Instrumentar manualmente os rastreamentos de solicitação de rede: o monitoramento pronto para uso inclui a maioria das solicitações de rede para seu aplicativo. No entanto, algumas solicitações podem não ser relatadas ou você pode usar uma biblioteca diferente para fazer solicitações de rede. Nesses casos, você pode usar a API de monitoramento de desempenho para instrumentar manualmente os rastreamentos de solicitação de rede personalizados .
  • Dados agregados em padrões de URL personalizados: se houver URLs específicos que o Firebase não está capturando com a correspondência automática de padrões de URL derivada, você poderá criar padrões de URL personalizados para monitorar um conjunto específico de URLs ao longo do tempo.
  • Personalize como a taxa de sucesso é calculada: às vezes, um código de erro é esperado para determinados endpoints de API ou já é tratado em seu aplicativo. Nesses casos, você pode configurar como a taxa de sucesso é calculada e monitorar a taxa de sucesso das chamadas de rede do seu aplicativo com mais precisão.

Agregação de dados em padrões de URL

O Firebase Performance Monitoring agrega dados automaticamente para solicitações de rede semelhantes para ajudar você a entender as tendências no desempenho de suas solicitações de rede.

Para cada solicitação, o Firebase verifica se o URL da solicitação de rede corresponde a um padrão de URL. Se o URL da solicitação corresponder a um padrão de URL, o Firebase agregará automaticamente os dados da solicitação no padrão de URL. O Firebase exibe padrões de URL e seus dados agregados na guia Rede no painel Desempenho do console do Firebase.

O que é um padrão de URL?

Um padrão de URL contém um domínio mais um padrão que pode corresponder a um caminho de URL, por exemplo: example.com/*/animals/** .

  • Os padrões de URL podem conter os seguintes segmentos de caminho:

    • texto simples — corresponde a uma string exata
    • * — corresponde a qualquer string em um único segmento de caminho
    • ** — corresponde a um sufixo de caminho arbitrário
  • Os padrões de URL podem ser:

Por exemplo: qualquer uma das solicitações de URL a seguir pode corresponder ao padrão de URL example.com/*/animals/** .

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

O domínio de um padrão de URL também pode conter * como seu primeiro segmento, por exemplo: *.example.com/*/fruits/** .

O Firebase mapeia cada solicitação para apenas um padrão de URL . Se você configurou algum padrão de URL personalizado , o Firebase tenta corresponder primeiro os URLs de solicitação a esses padrões. Se o Firebase não encontrar um padrão de URL personalizado correspondente, ele corresponderá um URL de solicitação ao padrão de URL automático mais representativo . Saiba mais sobre padrões de URL automáticos e personalizados nas seções a seguir.

Padrões de URL automáticos

Sem nenhuma configuração sua, o Monitoramento de desempenho tenta refletir o comportamento de uso mais recente do seu aplicativo, correspondendo as solicitações do seu aplicativo aos padrões de URL automáticos .

Como funciona a correspondência automática de padrões de URL?

O Firebase corresponde a cada solicitação ao padrão de URL automático mais representativo derivado das solicitações enviadas pelo seu aplicativo. Observe, no entanto, que o Firebase tenta corresponder primeiro os URLs de solicitação a qualquer padrão de URL personalizado configurado.

Veja a seguir um exemplo básico de como o Firebase tenta corresponder solicitações ao padrão de URL automático mais representativo para seu aplicativo.

  1. Seu aplicativo envia muitas solicitações para URLs como:

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    O Firebase determina que example.com/germany/** é um padrão de solicitação comum para seu aplicativo e o adiciona como um padrão de URL automático em seu projeto.

    Para todas as novas solicitações correspondentes a esse padrão de URL, o Firebase agrega os dados das solicitações no padrão de URL automático example.com/germany/** .

  2. Após uma semana, a maioria das solicitações do seu aplicativo são para example.com/germany/animals/bears e example.com/germany/animals/birds . Assim, o Firebase deriva um padrão de URL mais representativo de example.com/germany/animals/** .

    Para todas as novas solicitações correspondentes a esse novo padrão de URL, o Firebase agrega os dados das solicitações somente no novo padrão de URL. O Firebase continua agregando dados de solicitações para example.com/germany/cars em example.com/germany/** .

  3. No entanto, nas próximas semanas, as solicitações do seu aplicativo para example.com/germany/animals/bears e example.com/germany/animals/birds diminuirão substancialmente. O Firebase determina que example.com/germany/animals/** não representa o comportamento de uso mais recente do seu aplicativo, então o Firebase começa a corresponder essas duas solicitações de volta a example.com/germany/** .

    O Firebase não agrega mais dados de solicitação em example.com/germany/animals/** porque não é mais o padrão de URL automático mais representativo.

Como a correspondência automática de padrões de URL é dinâmica, esteja ciente do seguinte:

  • Correspondências e dados agregados de solicitações anteriores não são afetados por novos padrões de URL. O Firebase não reagrega dados de solicitação retroativamente.

  • Somente solicitações futuras são afetadas por novos padrões de URL. O Firebase mapeia cada nova solicitação para o padrão de URL automático mais representativo. Observe, no entanto, que o Firebase tenta corresponder primeiro os URLs de solicitação a qualquer padrão de URL personalizado configurado.

Visualize padrões de URL automáticos e seus dados

O Firebase exibe todos os padrões de URL e seus dados agregados na subguia Solicitações de rede da tabela de rastreamentos, que fica na parte inferior do painel Desempenho do console do Firebase.

Você pode ver padrões de URL com um rótulo Sem categoria . Esses são padrões de URL automáticos "amplos" nos quais o Firebase pode agregar dados para solicitações que não correspondem a nenhum padrão de URL mais específico.

Quando o período de retenção de dados para os dados agregados em um padrão de URL termina, o Firebase exclui esses dados do padrão de URL. Se todos os dados agregados em um padrão de URL automático expirarem, o Firebase excluirá esse padrão de URL do console do Firebase.

Padrões de URL personalizados

Você pode criar padrões de URL personalizados para monitorar padrões de URL específicos que o Firebase não está capturando com sua correspondência automática de padrões de URL derivada . Por exemplo, você pode usar um padrão de URL personalizado para solucionar problemas de um URL específico ou monitorar um conjunto específico de URLs ao longo do tempo.

Visite Criar padrões de URL personalizados para saber mais.

Acompanhe, visualize e filtre dados de desempenho

Para visualizar dados de desempenho em tempo real, verifique se seu aplicativo usa uma versão do SDK do Monitoramento de desempenho compatível com o processamento de dados em tempo real. Saiba mais sobre dados de desempenho em tempo real .

Acompanhe métricas específicas em seu painel

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

uma imagem do quadro de métricas no painel do Firebase Performance Monitoring

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

  1. Acesse o painel Desempenho no console do Firebase
  2. Clique na guia Painel
  3. Clique em um cartão de métrica vazio e selecione uma métrica existente para adicionar ao seu quadro
  4. 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 na forma gráfica quanto como uma alteração percentual numérica.

Saiba mais sobre como usar o painel .

Visualizar rastreamentos e seus dados

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

Se você clicar em um nome de rastreamento na tabela de rastreamentos, poderá clicar em várias telas para explorar o rastreamento e detalhar as métricas de interesse. Na maioria das páginas, você pode usar o botão Filtrar (canto superior esquerdo da tela) 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 o local do banco de dados não esteja afetando uma região específica

Saiba mais sobre como visualizar dados para seus rastreamentos .

Próximos passos

  • Saiba mais sobre como usar atributos para examinar dados de desempenho.

  • Saiba mais sobre como rastrear problemas de desempenho no Firebase console.

  • Configure alertas para solicitações de rede que estão prejudicando o desempenho do seu aplicativo. Por exemplo, você pode configurar um alerta de email para sua equipe se o tempo de resposta para um padrão de URL específico exceder um limite definido por você.

  • Visualize relatórios detalhados de sessões de usuário nas quais você pode ver um rastreamento específico em um contexto de linha do tempo de outros rastreamentos coletados durante a mesma sessão.