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

Adicionar monitoramento personalizado para código de aplicativo específico

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

O monitoramento de desempenho coleta rastreamentos para ajudá-lo a monitorar o desempenho do seu aplicativo. Um rastreamento é um relatório de dados de desempenho capturado entre dois pontos no tempo em seu aplicativo.

Você pode criar seus próprios rastreamentos para monitorar dados de desempenho associados a um código específico em seu aplicativo. Com um rastreamento de código personalizado , você pode medir quanto tempo seu aplicativo leva para concluir 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 rastreamento de código personalizado é sua "duração" (o tempo entre os pontos inicial e final do rastreamento), mas você também pode adicionar métricas personalizadas .

Em seu código, você define o início e o fim de um rastreamento de código personalizado usando as APIs fornecidas pelo SDK de monitoramento de desempenho.Para aplicativos Android, você também pode monitorar métodos específicos usando a anotação @AddTrace .-placeholder96 Rastreamentos de código personalizados podem ser iniciados a qualquer momento após terem sido criados e são thread-safe.

Como a métrica padrão coletada para esses rastreamentos é "duração", às vezes eles são chamados de "rastreios de duração".

Você pode visualizar os dados desses rastreamentos na subguia Custom traces da tabela traces, que está na parte inferior do painel Performance (saiba mais sobre como usar o console posteriormente nesta página).

Atributos padrão, atributos personalizados e métricas personalizadas

Para rastreamentos de código personalizados, o Monitoramento de desempenho registra automaticamente os atributos padrão (metadados comuns como versão do aplicativo, país, dispositivo etc.) para que você possa filtrar os dados do rastreamento no console do Firebase. Você também pode adicionar e monitorar atributos personalizados (como nível de jogo ou propriedades do usuário).

Você pode configurar ainda mais um rastreamento de código personalizado para registrar métricas personalizadas para eventos relacionados ao desempenho que ocorrem dentro do escopo do rastreamento. Por exemplo, você pode criar uma métrica personalizada para o número de acertos e erros de cache ou o número de vezes que a interface do usuário deixa de responder por um período de tempo perceptível.

Os atributos personalizados e as métricas personalizadas são exibidos no console do Firebase junto com os atributos padrão e a métrica padrão do rastreamento.

Adicionar rastreamentos de código personalizados

Use a API de rastreamento de monitoramento de desempenho para adicionar rastreamentos de código personalizados para monitorar código de aplicativo específico.

Observe o seguinte:

  • Um aplicativo pode ter vários rastreamentos de código personalizados.
  • Mais de um rastreamento de código personalizado pode ser executado ao mesmo tempo.
  • Os nomes para rastreamentos de código personalizados devem atender aos seguintes requisitos: nenhum espaço em branco inicial ou final, nenhum caractere de sublinhado ( _ ) inicial e o comprimento máximo é de 100 caracteres.
  • Os rastreamentos de código personalizados oferecem suporte à inclusão de métricas e atributos personalizados .

Para iniciar e parar um rastreamento de código personalizado, envolva o código que deseja rastrear com linhas de código semelhantes às seguintes (este exemplo usa um nome de rastreamento personalizado de test_trace ):

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(Opcional) Monitore métodos específicos usando @AddTrace

Os aplicativos Android também oferecem suporte à anotação @AddTrace para instrumentar rastreamentos de código personalizados. Usando esse recurso, o rastreamento começa no início do método especificado e para quando o método é concluído, incluindo qualquer coisa invocada pelo método.

Por exemplo, você pode criar um rastreamento de código personalizado chamado onCreateTrace que é executado quando o método onCreate() é chamado.

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Adicionar métricas personalizadas a rastreamentos de código personalizados

Use a API de rastreamento de monitoramento de desempenho para adicionar métricas personalizadas a rastreamentos de código personalizados.

Observe o seguinte:

  • Os nomes para métricas personalizadas devem atender aos seguintes requisitos: nenhum espaço em branco inicial ou final, nenhum caractere de sublinhado ( _ ) inicial e o comprimento máximo é de 100 caracteres.
  • Cada rastreamento de código customizado pode registrar até 32 métricas (incluindo a métrica de Duração padrão).

Para adicionar uma métrica personalizada, adicione uma linha de código semelhante à seguinte sempre que o evento ocorrer. Por exemplo, essa métrica personalizada conta eventos relacionados ao desempenho que ocorrem em seu aplicativo, como acertos e erros de cache (usando nomes de evento de exemplo de item_cache_hit e item_cache_miss e um incremento de 1 ).

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

Crie atributos personalizados para rastreamentos de código personalizados

Use a API de rastreamento de monitoramento de desempenho para adicionar atributos personalizados a rastreamentos de código personalizados.

Para usar atributos personalizados, adicione um código ao seu aplicativo que defina o atributo e o associe a um rastreamento de código personalizado específico. Você pode definir o atributo customizado a qualquer momento entre o início e o fim do rastreamento.

Observe o seguinte:

  • Os nomes dos atributos personalizados devem atender aos seguintes requisitos:

    • Nenhum espaço em branco inicial ou final, nenhum caractere de sublinhado inicial ( _ )
    • Sem espaços
    • O comprimento máximo é de 32 caracteres
    • Os caracteres permitidos para o nome são AZ , az e _ .
  • Cada rastreamento de código personalizado pode registrar até 5 atributos personalizados.

  • Certifique-se de que os atributos personalizados não contenham nenhuma informação que identifique pessoalmente um indivíduo para o Google.

    Saiba mais sobre esta diretriz

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

Rastreie, visualize e filtre dados de desempenho

Rastreie métricas específicas 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 .

Exibir rastreamentos e seus dados

Para visualizar seus traces, acesse o painel de desempenho no console do Firebase, role para baixo até a tabela de traces 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 .

Próximos passos

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

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

  • Configure alertas para alterações de código que estão degradando o desempenho do seu aplicativo. Por exemplo, você pode configurar um alerta de e-mail para sua equipe se a duração de um rastreamento de código personalizado específico exceder um limite definido por você.

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