Adicionar monitoramento personalizado para códigos específicos de aplicativo

Crie traces personalizados para monitorar dados de desempenho associados a algum código no app. Os traces personalizados permitem avaliar quanto tempo leva para que seu aplicativo conclua uma tarefa específica ou um conjunto de tarefas, por exemplo, carregar um conjunto de imagens ou consultar seu banco de dados. A métrica padrão para um trace personalizado é a duração, mas também é possível adicionar métricas personalizadas.

No seu código, você define o início e o fim de um trace personalizado usando as APIs do SDK de Monitoramento de desempenho.

Os traces também podem ser iniciados depois de serem criados e são thread-safe.

Observações:

  • Um aplicativo pode ter vários traces personalizados.
  • Um ou mais traces personalizados podem ser executados ao mesmo tempo.
  • Os nomes para os traces e métricas personalizados precisam cumprir os seguintes requisitos: nenhum espaço em branco à esquerda ou à direita, nenhum caractere sublinhado (_) à esquerda, e comprimento máximo de 100 caracteres.

Atributos padrão e atributos e métricas personalizados

O Monitoramento de desempenho registra automaticamente os atributos padrão recolhidos de traces personalizados (metadados aplicáveis como a versão do aplicativo, país, dispositivo, navegador etc) de modo que você possa filtrar os dados no Console do Firebase. Também é possível adicionar e monitorar atributos personalizados em traces personalizados (como níveis de jogo ou propriedades de usuário).

É possível configurar um trace personalizado para registrar métricas personalizadas para eventos relacionados ao desempenho que ocorrem no escopo. Por exemplo, pode-se criar uma métrica personalizada para o número de ocorrências e falhas em cache, ou o número de vezes que a IU não responde durante um período considerável. Os dados dessas métricas personalizadas são exibidos no Console do Firebase junto com as métricas padrão do trace. Cada trace personalizado pode registrar até 32 métricas, incluindo a métrica de duração padrão e quaisquer outras métricas personalizadas.

Como adicionar traces e métricas personalizados

Use a API Trace (Swift | Obj-C) para adicionar traces e métricas personalizadas para monitorar códigos específicos do aplicativo.

  1. Adicione o módulo do Monitoramento de desempenho ao cabeçalho:

    Swift

    import FirebasePerformance
    

    Objective-C

    @import FirebasePerformance;
    
  2. Para iniciar e interromper um trace personalizado, una o código que você quer rastrear com linhas de código semelhantes às seguintes:

    Swift

    let trace = Performance.startTrace(name: "customTraceName")
    
    // code that you want to trace
    
    trace.stop()
    

    Saiba mais sobre a API de traces personalizados.

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"customTraceName"];
    
    // code that you want to trace
    
    [trace stop];
    

    Saiba mais sobre a API de traces personalizados.

  3. Para incluir uma métrica personalizada, adicione uma linha de código semelhante às seguintes toda vez que o evento ocorrer. Por exemplo, essa métrica personalizada conta eventos relacionados ao desempenho que ocorrem no seu aplicativo, como ocorrências em cache ou novas tentativas.

    Swift

    let trace = Performance.startTrace(name: "customTraceName")
    
    trace.incrementMetric(named:"eventName", by: 1)
    // code that you want to trace (and log custom metrics)
    
    trace.stop()
    

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"customTraceName"];
    
    [trace incrementMetric:@"eventName" by:1];
    // code that you want to trace (and log custom metrics)
    
    [trace stop];
    

Como monitorar traces e métricas personalizados no console

  1. No Console do Firebase, acesse o painel de Desempenho.

  2. Clique na guia No dispositivo, em seguida, é possível:

    • ver um relatório rápido dos dados coletados para todos os traces;

    • clicar em um trace específico para analisar os dados dele com mais detalhes;

    • usar o botão Filtro no canto superior esquerdo do painel para realizar a filtragem básica dos dados por atributo.

  3. Se você clicar em um trace específico, o console exibirá uma visão geral dos dados coletados em cartões de métricas, incluindo a métrica padrão Duração e quaisquer outras personalizadas que você configurou para o trace personalizado.

    • Use as opções no canto superior direito do painel para visualizar os dados de duração como agregados, ao longo do tempo ou para cada versão do aplicativo.

    • Usar o botão Filtro no canto superior esquerdo do painel para realizar a filtragem básica dos dados por atributo.

  4. Para qualquer métrica, clique em Visualizar mais para ler informações mais detalhadas sobre os dados coletados e usar recursos de análise mais avançados. Por exemplo, é possível filtrar e segmentar os dados por atributo e visualizar os dados no contexto de uma sessão de uso de app.

    A seção a seguir descreve os recursos disponíveis do relatório de trace detalhado.

Ver mais detalhes sobre amostras de trace

Saiba mais sobre segmentos de traces específicos ou solicitações de rede no Console do Firebase. Uma amostragem aleatória de sessões gravadas exibe as seguintes informações:

Uma imagem da página de sessões do Monitoramento de desempenho do Firebase

  • CPU: quanto tempo do usuário e do sistema seu app consome.

  • Memória: quanta memória heap seu app usa. Essa é a memória usada para alocações dinâmicas, incluindo objetos criados, desalocados e que o app usa ativamente.

  • Informações individuais: dados detalhados sobre uma única instância de uma solicitação de trace ou rede, incluindo horário de início e término, duração, tamanho da solicitação e tamanho da resposta.

  • Instâncias simultâneas: informações sobre traces ou solicitações de rede que ocorreram ao mesmo tempo.

  • Atributos do dispositivo: informações sobre o dispositivo, incluindo versão do app, modelo, versão do sistema operacional, rádio e atributos personalizados.

Para ver essas amostras detalhadas no Console do Firebase, você pode:

  • abrir um dos traces ou solicitações de rede do seu app e clicar em Ver sessões;

  • clicar no link referente às sessões do atributo específico.

Uma imagem do trace do Monitoramento de desempenho do Firebase com um link para as sessões

Filtrar sessões por percentil

As sessões que o Monitoramento de desempenho coleta são distribuídas em percentis para cada métrica. As sessões em percentis menores têm métricas com valores mais baixos do que aquelas em percentis maiores.

Para filtrar as sessões disponíveis por percentil, use a lista suspensa acima dos detalhes das sessões.

Uma imagem da página de sessões do Monitoramento de desempenho do Firebase

A seguir