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

Comece a usar o Monitoramento de desempenho para Android

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

Antes de você começar

Se ainda não o fez, adicione o Firebase ao seu projeto Android .

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

Depois de adicionar o SDK do Monitoramento de desempenho, o Firebase começa a coletar automaticamente dados para a renderização da tela do seu aplicativo e dados relacionados ao ciclo de vida do seu aplicativo (como hora de início do aplicativo ). Para permitir que o Firebase monitore solicitações de rede, você também deve adicionar o plug-in Performance Monitoring Gradle (próxima etapa).

  1. No arquivo Gradle do módulo (nível do aplicativo) (geralmente <project>/<app-module>/build.gradle ), adicione a dependência da biblioteca Android do Monitoramento de desempenho. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:31.1.0')
    
        // Add 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 o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.

    (Alternativa) Adicionar dependências da biblioteca do Firebase sem usar o BoM

    Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca do Firebase em sua linha de dependência.

    Observe que, se você usa várias bibliotecas do Firebase em seu aplicativo, é altamente recomendável usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.

    dependencies {
        // Add 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.3.0'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:31.1.0')
    
        // Add 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 o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.

    (Alternativa) Adicionar dependências da biblioteca do Firebase sem usar o BoM

    Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca do Firebase em sua linha de dependência.

    Observe que, se você usa várias bibliotecas do Firebase em seu aplicativo, é altamente recomendável usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.

    dependencies {
        // Add 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.3.0'
    }
    

  2. Recompile seu aplicativo.

Etapa 2 : adicione o plug-in do Gradle de monitoramento de desempenho ao seu aplicativo

Depois de adicionar o plug-in do Gradle de monitoramento de desempenho, o Firebase começa automaticamente a coletar dados para solicitações de rede HTTP/S . O plug-in também permite instrumentar rastreamentos de código personalizados usando a anotação @AddTrace .

  1. Em seu arquivo Gradle de nível raiz (nível de projeto) ( <project>/build.gradle ), adicione o plug-in do Gradle de monitoramento de desempenho como uma dependência de buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        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:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Performance Monitoring Gradle plugin
            classpath 'com.google.firebase:perf-plugin:1.4.2'
        }
    }
  2. No arquivo Gradle do módulo (nível do aplicativo) (geralmente <project>/<app-module>/build.gradle ), adicione o plug-in do Gradle do Monitoramento de desempenho:

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf'
        ...
    }
  3. Recompile seu aplicativo.

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

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 seu aplicativo entre segundo plano e primeiro plano várias vezes, interagindo com seu aplicativo navegando pelas telas e/ou acionando solicitações de rede.

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

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

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

  1. Ative o registro de depuração para o Monitoramento de desempenho no momento da compilação adicionando um elemento <meta-data> ao arquivo AndroidManifest.xml do seu aplicativo, assim:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Verifique suas mensagens de log para quaisquer mensagens de erro.

  3. O Monitoramento de desempenho marca suas mensagens de registro com FirebasePerformance . Usando a filtragem do logcat, você pode visualizar especificamente o rastreamento de duração e o registro de solicitação de rede HTTP/S executando o seguinte comando:

    adb logcat -s FirebasePerformance
  4. Verifique os seguintes tipos de logs 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 visualizar seus dados no console do Firebase. Pode levar alguns instantes para que os dados sejam atualizados no painel.

Se seu aplicativo não estiver registrando eventos de desempenho, consulte as dicas de solução de problemas .

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

Para monitorar dados de desempenho associados a um código específico em seu aplicativo, você pode instrumentar rastreamentos de código personalizados .

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, como 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, mas você também pode adicionar métricas personalizadas, como acertos de cache e avisos de memória.

Em seu código, você define o início e o fim de um rastreamento de código personalizado (e adiciona as métricas personalizadas desejadas) usando a API fornecida pelo SDK do Monitoramento de desempenho. Para aplicativos Android, você também pode monitorar a duração de métodos específicos usando a anotação @AddTrace .

Visite Adicionar monitoramento para código específico para saber mais sobre esses recursos e como adicioná-los ao seu aplicativo.

Etapa 6 : implante seu aplicativo e analise os resultados

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

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

Problemas conhecidos

  • O plug-in do Gradle de monitoramento de desempenho v1.1.0 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ê vir esse erro, você pode:

    • Atualize o plug-in Monitoramento de desempenho para v1.1.1 ou posterior (o mais recente é v1.4.2).

    • Substitua a linha de dependência do plug-in do Monitoramento de desempenho em seu arquivo Gradle de nível raiz (nível de projeto) ( 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 relata o tamanho total da carga útil para solicitações de rede HTTP com base no valor definido no cabeçalho HTTP content-length. Esse valor pode nem sempre ser preciso.

  • O Monitoramento de desempenho é compatível apenas com o processo principal em aplicativos Android de vários processos.

Próximos passos