Premiers pas avec la surveillance des performances pour Android

Avant que tu commences

Si vous ne l'avez pas déjà fait, ajoutez Firebase à votre projet Android .

Étape 1 : Ajoutez le SDK de surveillance des performances à votre application

Une fois que vous avez ajouté le SDK de surveillance des performances, Firebase commence automatiquement à collecter des données pour le rendu d'écran de votre application et des données liées au cycle de vie de votre application (comme l'heure de début de l'application ). Pour permettre à Firebase de surveiller les requêtes réseau, vous devez également ajouter le plug-in Performance Monitoring Gradle (étape suivante).

  1. Dans le fichier Gradle de votre module (au niveau de l'application) (généralement <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle ), ajoutez la dépendance pour la surveillance des performances Bibliothèque Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler la gestion des versions de la bibliothèque.

    Kotlin+KTX

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

    En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

    (Alternative) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM

    Si vous choisissez de ne pas utiliser la nomenclature Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

    Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.

    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.4.1")
    }
    

    Java

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

    En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

    (Alternative) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM

    Si vous choisissez de ne pas utiliser la nomenclature Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

    Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.

    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.4.1")
    }
    

  2. Recompilez votre application.

Étape 2 : Ajoutez le plugin Performance Monitoring Gradle à votre application

Une fois que vous avez ajouté le plug-in Performance Monitoring Gradle, Firebase commence automatiquement à collecter des données pour les requêtes réseau HTTP/S . Le plug-in vous permet également d'instrumenter des traces de code personnalisées à l'aide de l'annotation @AddTrace .

  1. Dans votre fichier Gradle au niveau racine (au niveau du projet) ( <project>/build.gradle.kts ou <project>/build.gradle ), ajoutez le plugin Performance Monitoring Gradle :

    Kotlin

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id("com.android.application") version "7.2.0" apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.3.15" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "1.4.2" apply false
    }
    

    Groovy

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id 'com.android.application' version '7.2.0' apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.3.15' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '1.4.2' apply false
    }
    
  2. Dans le fichier Gradle de votre module (au niveau de l'application) (généralement <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle ), ajoutez le plug-in Performance Monitoring Gradle :

    Kotlin

    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")
        ...
    }
    

    Groovy

    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. Recompilez votre application.

Étape 3 : Générer des événements de performance pour l'affichage initial des données

Firebase commence à traiter les événements lorsque vous ajoutez avec succès le SDK à votre application. Si vous développez encore localement, interagissez avec votre application pour générer des événements pour la collecte et le traitement initiaux des données.

  1. Générez des événements en basculant plusieurs fois votre application entre l'arrière-plan et le premier plan, en interagissant avec votre application en naviguant sur les écrans et/ou en déclenchant des requêtes réseau.

  2. Accédez au tableau de bord des performances de la console Firebase. Vous devriez voir vos données initiales s'afficher dans quelques minutes.

    Si vous ne voyez pas d'affichage de vos données initiales, consultez les conseils de dépannage .

Étape 4 : (Facultatif) Afficher les messages du journal pour les événements de performance

  1. Activez la journalisation de débogage pour la surveillance des performances au moment de la compilation en ajoutant un élément <meta-data> au fichier AndroidManifest.xml de votre application, comme ceci :

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Vérifiez vos messages de journal pour tout message d'erreur.

  3. La surveillance des performances balise ses messages de journal avec FirebasePerformance . À l'aide du filtrage logcat, vous pouvez spécifiquement afficher la trace de durée et la journalisation des requêtes réseau HTTP/S en exécutant la commande suivante :

    adb logcat -s FirebasePerformance
  4. Recherchez les types de journaux suivants qui indiquent que la surveillance des performances consigne les événements de performances :

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Cliquez sur l'URL pour afficher vos données dans la console Firebase. La mise à jour des données dans le tableau de bord peut prendre quelques instants.

Si votre application n'enregistre pas les événements de performance, consultez les conseils de dépannage .

Étape 5 : (Facultatif) Ajoutez une surveillance personnalisée pour un code spécifique

Pour surveiller les données de performances associées à un code spécifique dans votre application, vous pouvez instrumenter des traces de code personnalisées .

Avec une trace de code personnalisée, vous pouvez mesurer le temps qu'il faut à votre application pour effectuer une tâche ou un ensemble de tâches spécifiques, comme le chargement d'un ensemble d'images ou l'interrogation de votre base de données. La métrique par défaut d'un suivi de code personnalisé est sa durée, mais vous pouvez également ajouter des métriques personnalisées, telles que des accès au cache et des avertissements de mémoire.

Dans votre code, vous définissez le début et la fin d'une trace de code personnalisé (et ajoutez les métriques personnalisées souhaitées) à l'aide de l'API fournie par le SDK de surveillance des performances. Pour les applications Android, vous pouvez également surveiller la durée de méthodes spécifiques à l'aide de l'annotation @AddTrace .

Visitez Ajouter une surveillance pour un code spécifique pour en savoir plus sur ces fonctionnalités et sur la façon de les ajouter à votre application.

Étape 6 : Déployez votre application, puis examinez les résultats

Après avoir validé la surveillance des performances à l'aide d'un ou plusieurs appareils de test, vous pouvez déployer la version mise à jour de votre application auprès de vos utilisateurs.

Vous pouvez surveiller les données de performances dans le tableau de bord des performances de la console Firebase.

Problèmes connus

  • Le plug-in Performance Monitoring Gradle v1.1.0 peut provoquer une incompatibilité dans les dépendances Guava, entraînant l'erreur suivante :

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

    Si vous voyez cette erreur, vous pouvez soit :

    • Mettez à niveau le plug-in de surveillance des performances vers la v1.1.1 ou une version ultérieure (la plus récente est la v1.4.2).

    • Remplacez la ligne de dépendance du plug-in de surveillance des performances dans votre fichier Gradle au niveau de la racine (au niveau du projet) ( <project>/build.gradle.kts ou <project>/build.gradle ), comme suit :

      Kotlin

      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")
          }
        }
      }
      

      Groovy

      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'
          }
        }
      }
      
  • La surveillance des performances signale la taille totale de la charge utile pour les requêtes réseau HTTP en fonction de la valeur définie dans l'en-tête HTTP content-length. Cette valeur peut ne pas toujours être exacte.

  • La surveillance des performances ne prend en charge que le processus principal dans les applications Android multi-processus.

Prochaines étapes