O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Primeiros passos com o Monitoramento de desempenho para Android

Antes de começar

Adicione o Firebase ao projeto para Android, caso ainda não tenha feito isso.

Etapa 1: adicionar o SDK do Monitoramento de desempenho ao seu app

Depois de adicionar o SDK do Monitoramento de desempenho, o Firebase começa a coletar dados automaticamente para a renderização de tela do app, além de coletar dados relacionados ao ciclo de vida do app, como o horário de início. Para permitir que o Firebase monitore solicitações de rede, também é preciso adicionar o plug-in do Gradle para o Monitoramento de desempenho (próxima etapa).

  1. Usando a BoM do Firebase para Android, declare a dependência da biblioteca do Monitoramento de desempenho para Android no seu arquivo do Gradle (nível do app) do módulo, que geralmente é app/build.gradle.

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.2.1')
    
        // Declare the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf'
    }
    

    Ao usar a BoM do Firebase para Android, seu app sempre usará versões compatíveis das bibliotecas do Firebase para Android.

    (Alternativa) Declare as dependências da biblioteca do Firebase sem usar a BoM.

    Se você preferir não usar a BoM do Firebase, especifique cada versão da biblioteca do Firebase na linha de dependência correspondente.

    Caso você use várias bibliotecas do Firebase no seu app, recomendamos usar a BoM para gerenciar versões de bibliotecas, o que garante a compatibilidade de todas as versões.

    dependencies {
        // Declare the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf:20.0.2'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.2.1')
    
        // Declare the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf-ktx'
    }
    

    Ao usar a BoM do Firebase para Android, seu app sempre usará versões compatíveis das bibliotecas do Firebase para Android.

    (Alternativa) Declare as dependências da biblioteca do Firebase sem usar a BoM.

    Se você preferir não usar a BoM do Firebase, especifique cada versão da biblioteca do Firebase na linha de dependência correspondente.

    Caso você use várias bibliotecas do Firebase no seu app, recomendamos usar a BoM para gerenciar versões de bibliotecas, o que garante a compatibilidade de todas as versões.

    dependencies {
        // Declare the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf-ktx:20.0.2'
    }
    

  2. Recompile o app.

Etapa 2: adicionar o plug-in do Monitoramento de desempenho ao seu app

Depois que o plug-in do Gradle para o Monitoramento de desempenho for adicionado, o Firebase começará a coletar dados automaticamente para solicitações de rede HTTP/S. Com esse plug-in, também é possível instrumentar traces de códigos personalizados usando a anotação @AddTrace.

  1. No arquivo do Gradle do módulo (nível do app) (geralmente app/build.gradle), aplique o plug-in do Monitoramento de desempenho:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    // Apply the Performance Monitoring plugin
    apply plugin: 'com.google.firebase.firebase-perf'
    
    android {
      // ...
    }
    
  2. No arquivo do Gradle no nível raiz (nível do projeto) (build.gradle), adicione as regras para incluir o plug-in do Monitoramento de desempenho.

    buildscript {
    
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // Add the Bintray repository
          jcenter()
        }
    
        dependencies {
          // ...
    
          // To benefit from the latest Performance Monitoring plugin features,
          // update your Android Gradle Plugin dependency to at least v3.4.0
          classpath 'com.android.tools.build:gradle:3.4.0'
    
          classpath 'com.google.gms:google-services:4.3.8'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.0'  // Performance Monitoring plugin
        }
    }
    
  3. Recompile o app.

Etapa 3: gerar eventos de desempenho para a exibição inicial de dados

O Firebase começa a processar os eventos quando você adiciona o SDK ao seu aplicativo. Se você ainda estiver desenvolvendo localmente, interaja com seu aplicativo para gerar eventos para coleta e processamento de dados iniciais.

  1. Gere eventos alternando o app entre o segundo plano e o primeiro plano várias vezes. Interaja com o app navegando pelas telas e/ou acionando solicitações de rede.

  2. Acesse o painel Desempenho do Console do Firebase. Você verá sua exibição de dados inicial em alguns minutos.

    Se você não vir uma exibição dos seus dados iniciais, veja as dicas de solução de problemas.

Etapa 4 (opcional): visualizar mensagens de registro para eventos de desempenho

  1. Ative a geração de registros de depuração no Monitoramento de desempenho no tempo de compilação. Para isso, basta adicionar um elemento <meta-data> ao arquivo AndroidManifest.xml do seu app:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Verifique se há mensagens de erro nas mensagens de registro.

  3. O Monitoramento de desempenho marca as mensagens de registro com FirebasePerformance. Ao usar o filtro logcat, você vê especificamente a geração de registros do trace de duração e as solicitações de rede HTTP/S. Basta executar o seguinte comando:

    adb logcat -s FirebasePerformance
  4. Verifique os seguintes tipos de registro que indicam que o Monitoramento de desempenho está registrando eventos de desempenho:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Clique no URL para ver seus dados no Console do Firebase. Pode levar alguns instantes até que os dados sejam atualizados no painel.

Se o app não estiver registrando eventos de desempenho, veja as dicas de solução de problemas.

Etapa 5 (opcional): adicionar monitoramento personalizado para código específico

Para monitorar os dados de desempenho associados a um código específico no app, instrumente traces de código personalizados.

Com um trace de código personalizado, é possível avaliar quanto tempo o app leva para concluir uma tarefa específica ou um conjunto de tarefas, como carregar um conjunto de imagens ou consultar seu banco de dados. A métrica padrão de um trace de código personalizado é a duração, mas também é possível adicionar métricas personalizadas, como ocorrências em cache e avisos de memória.

No seu código, você define o início e o fim de um trace de código personalizado (e adiciona a métrica personalizada que quiser) usando a API fornecida pelo SDK do Monitoramento de desempenho. Em apps Android, também é possível monitorar a duração de métodos específicos usando a anotação @AddTrace.

Acesse Adicionar monitoramento para códigos específicos para saber mais sobre esses recursos e como adicioná-los ao seu app.

Etapa 6: implantar seu app e analisar os resultados

Depois de validar o Monitoramento de desempenho usando um ou mais dispositivos de teste, você poderá implantar a versão atualizada do seu app para os usuários.

Você pode monitorar os dados de desempenho no painel Desempenho do Console do Firebase.

Problemas conhecidos

  • O plug-in do Gradle v1.1.0 para o Monitoramento de desempenho pode causar uma incompatibilidade nas dependências do Guava, resultando no seguinte erro:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    Se você encontrar esse erro, faça o seguinte:

    • Faça o upgrade do plug-in do Monitoramento de desempenho para a v1.1.1 ou versões posteriores. Lembre-se de que a mais recente é a v1.4.0.

    • Substitua a linha de dependência do plug-in do Monitoramento de desempenho no arquivo do Gradle no nível raiz (build.gradle) da seguinte maneira:

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath ('com.google.firebase:perf-plugin:1.1.0') {
                      exclude group: 'com.google.guava', module: 'guava-jdk5'
          }
        }
      }
      
  • O Monitoramento de desempenho informa o tamanho total do payload para solicitações de rede HTTP com base no valor definido no cabeçalho HTTP length-content. Esse valor pode não ser sempre exato.

  • O Monitoramento de desempenho só aceita o processo principal em apps Android de vários processos.

Próximas etapas