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:26.2.0')
    
        // 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:19.0.11'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.2.0')
    
        // 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:19.0.11'
    }
    

  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.4'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.3.4'  // Performance Monitoring plugin
        }
    }
    
  3. Recompile o app.

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

O Firebase pode detectar se você adicionou o SDK ao seu app quando ele recebe informações de eventos (como interações) do app. Se você ainda estiver desenvolvendo localmente, interaja com o app a fim de gerar eventos para a detecção do SDK, bem como coleta e processamento inicial de dados.

  1. Continue desenvolvendo seu app usando um emulador ou dispositivo de teste que atenda aos seguintes requisitos:

    • um emulador do Android com uma imagem recente e o Google Play Services 15.0.0 ou versões posteriores;

    • um dispositivo de teste com o Google Play Services 15.0.0 ou versões posteriores;

  2. Gere eventos alternando o app entre o plano de fundo e o primeiro plano várias vezes, interagindo com o app ao navegar pelas telas e/ou acionando solicitações de rede.

  3. Acesse o painel Desempenho do Console do Firebase e veja se ele detectou o SDK.

    Se a mensagem "SDK detectado" não for exibida até duas horas após a adição do SDK ao seu app, veja as dicas de solução de problemas.

  4. O Monitoramento de desempenho processa dados de eventos de desempenho antes de exibi-los no painel Desempenho. Você verá seus dados iniciais em até 24 horas depois de ver a mensagem de detecção do SDK.

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

Etapa 4 (opcional): ver se há eventos de desempenho nas mensagens de registro

  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ê pode ver 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
    • Logging network request trace: URL

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, realize as seguintes ações:

    • 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.3.4.

    • 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 multiprocessuais.

A seguir