Check out what’s new from Firebase at Google I/O 2022. Learn more

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 : Ajouter le Contrôle des performances SDK à votre application

Une fois que vous avez ajouté le SDK suivi de la performance, Firebase démarre automatiquement la collecte de données pour votre application de rendu de l'écran et les données relatives au cycle de vie de votre application (comme l' application du temps de démarrage ). Pour activer Firebase de surveiller les demandes de réseau, vous devez également ajouter le Contrôle des performances plug - in Gradle (étape suivante).

  1. Utilisation de la Firebase Android BoM , déclarer la dépendance pour la surveillance du rendement bibliothèque Android dans votre module (app-niveau) de fichier Gradle (généralement app/build.gradle ).

    Java

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

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

    (Alternative) Déclarer les dépendances de 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 la bibliothèque, ce qui garantit que toutes les versions sont compatibles.

    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.6'
    }
    

    Kotlin+KTX

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

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

    (Alternative) Déclarer les dépendances de 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 la bibliothèque, ce qui garantit que toutes les versions sont compatibles.

    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.6'
    }
    

  2. Recompiler votre application.

Étape 2 : Ajouter le plugin Contrôle des performances à votre application

Une fois que vous avez ajouté le Contrôle des performances plug - in Gradle, Firebase démarre automatiquement la collecte de données pour les requêtes réseau HTTP / s . Le plugin vous permet également de traces de code instrument personnalisé en utilisant l' annotation @AddTrace .

  1. Dans votre module (app-niveau) de fichier Gradle (généralement app/build.gradle ), appliquer le plug - in suivi de la performance:

    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. Dans votre niveau racine (niveau du projet) de fichier Gradle ( de build.gradle ), ajoutez les règles pour inclure le plug - in suivi de la performance.

    buildscript {
    
        repositories {
          // Check that you have the following lines (if not, add them):
          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:3.4.0'
    
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.1'  // Performance Monitoring plugin
        }
    }
    
  3. Recompiler votre application.

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

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

  1. Générer des événements en commutant votre application entre fond et de premier plan plusieurs fois, en interaction avec votre application en naviguant sur les écrans, et / ou le déclenchement des requêtes réseau.

  2. Accédez au tableau de bord de performance de la console Firebase. Vous devriez voir l'affichage des données initiales en quelques minutes.

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

Étape 4 : (Facultatif) Voir les messages du journal d'événements de performance

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

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

  3. Suivi des performances balises journal des messages avec FirebasePerformance . En utilisant le filtrage logcat, vous pouvez voir spécifiquement trace de la durée et la journalisation des requêtes réseau HTTP / S en exécutant la commande suivante:

    adb logcat -s FirebasePerformance
  4. Vérifiez les types suivants de journaux qui indiquent que la surveillance de la performance est des événements de performance vous connecter:

    • 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. Il peut prendre quelques instants pour les données à la mise à jour du tableau de bord.

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

Étape 5 : (Facultatif) Ajouter le suivi personnalisé pour le code spécifique

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

Avec une trace de code personnalisé, vous pouvez mesurer combien de temps il prend votre application pour effectuer une tâche ou un ensemble de tâches, telles que le chargement d'un ensemble d'images ou d'interroger la base de données. La mesure par défaut pour une trace de code personnalisé est sa durée, mais vous pouvez également ajouter des paramètres personnalisés, tels que des hits de cache et les avertissements de mémoire.

Dans votre code, vous définissez le début et la fin d'une trace de code personnalisé (et ajouter des paramètres personnalisés souhaités) en utilisant l'API fournie par le SDK suivi de la performance. Pour les applications Android, vous pouvez également contrôler la durée des méthodes spécifiques en utilisant l' annotation @AddTrace .

Visite Ajouter le suivi pour le code spécifique pour en savoir plus sur ces caractéristiques et comment les ajouter à votre application.

Étape 6 : Déployer votre application puis des résultats d'examen

Une fois que vous avez validé Contrôle des performances en utilisant un ou plusieurs dispositifs de test, vous pouvez déployer la version mise à jour de votre application à vos utilisateurs.

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

Problèmes connus

  • Le Contrôle des performances Gradle plug-in v1.1.0 peut provoquer une incohérence dans les dépendances Goyave, ce qui entraîne 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:

    • Mettre à niveau le plug-in suivi de la performance à v1.1.1 ou plus tard (le plus récent est v1.4.1).

    • Remplacez la performance du plugin ligne de dépendance surveillance dans votre niveau racine (niveau du projet) fichier Gradle ( de build.gradle ), comme suit:

      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'
          }
        }
      }
      
  • Suivi des performances indique la taille de la charge utile totale pour les requêtes HTTP réseau basées sur l'ensemble de la valeur dans l'en-tête de longueur du contenu HTTP. Cette valeur peut ne pas être toujours précis.

  • Suivi de la performance prend en charge que le processus principal dans les applications Android multi-processus.

Prochaines étapes