Firebase is back at Google I/O on May 10! Register now

Beginnen Sie mit der Leistungsüberwachung für Android

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Bevor Sie beginnen

Fügen Sie Ihrem Android-Projekt Firebase hinzu , falls Sie dies noch nicht getan haben .

Schritt 1 : Fügen Sie Ihrer App das Leistungsüberwachungs-SDK hinzu

Nachdem Sie das Leistungsüberwachungs-SDK hinzugefügt haben, beginnt Firebase automatisch mit dem Sammeln von Daten für die Bildschirmdarstellung Ihrer App und von Daten zum Lebenszyklus Ihrer App (z. B. App-Startzeit ). Damit Firebase Netzwerkanfragen überwachen kann, müssen Sie auch das Plug-in „Performance Monitoring Gradle“ hinzufügen (nächster Schritt).

  1. Fügen Sie in Ihrer Modul-Gradle-Datei (auf App-Ebene) (normalerweise <project>/<app-module>/build.gradle ) die Abhängigkeit für die Leistungsüberwachungs-Android-Bibliothek hinzu. Wir empfehlen die Verwendung der Firebase Android BoM zur Steuerung der Bibliotheksversionierung.

    Kotlin+KTX

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

    Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen von Firebase Android-Bibliotheken.

    (Alternative) Fügen Sie Firebase-Bibliotheksabhängigkeiten hinzu , ohne die Stückliste zu verwenden

    Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

    Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, wodurch sichergestellt wird, dass alle Versionen kompatibel sind.

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

    Java

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

    Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen von Firebase Android-Bibliotheken.

    (Alternative) Fügen Sie Firebase-Bibliotheksabhängigkeiten hinzu , ohne die Stückliste zu verwenden

    Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

    Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, wodurch sichergestellt wird, dass alle Versionen kompatibel sind.

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

  2. Kompilieren Sie Ihre App neu.

Schritt 2 : Fügen Sie Ihrer App das Performance Monitoring Gradle-Plugin hinzu

Nachdem Sie das Gradle-Plug-in zur Leistungsüberwachung hinzugefügt haben, beginnt Firebase automatisch mit der Erfassung von Daten für HTTP/S-Netzwerkanfragen . Das Plugin ermöglicht es Ihnen auch, benutzerdefinierte Code-Traces mit der Annotation @AddTrace zu instrumentieren.

  1. Fügen Sie in Ihrer Gradle-Datei auf Stammebene (Projektebene) ( <project>/build.gradle ) das Performance Monitoring Gradle-Plug-in als Buildscript-Abhängigkeit hinzu:

    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.15'
    
            // Add the dependency for the Performance Monitoring Gradle plugin
            classpath 'com.google.firebase:perf-plugin:1.4.2'
        }
    }
  2. Fügen Sie in Ihrer Modul-Gradle-Datei (auf App-Ebene) (normalerweise <project>/<app-module>/build.gradle ) das Performance Monitoring Gradle-Plugin hinzu:

    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. Kompilieren Sie Ihre App neu.

Schritt 3 : Generieren Sie Leistungsereignisse für die anfängliche Datenanzeige

Firebase beginnt mit der Verarbeitung der Ereignisse, wenn Sie das SDK erfolgreich zu Ihrer App hinzugefügt haben. Wenn Sie noch lokal entwickeln, interagieren Sie mit Ihrer App, um Ereignisse für die anfängliche Datenerfassung und -verarbeitung zu generieren.

  1. Generieren Sie Ereignisse, indem Sie Ihre App mehrmals zwischen Hintergrund und Vordergrund wechseln, mit Ihrer App interagieren, indem Sie über Bildschirme navigieren und/oder Netzwerkanfragen auslösen.

  2. Gehen Sie zum Leistungs- Dashboard der Firebase-Konsole. Sie sollten Ihre anfängliche Datenanzeige innerhalb weniger Minuten sehen.

    Wenn Ihre Anfangsdaten nicht angezeigt werden, lesen Sie die Tipps zur Fehlerbehebung .

Schritt 4 : (Optional) Zeigen Sie Protokollmeldungen für Leistungsereignisse an

  1. Aktivieren Sie die Debug-Protokollierung für die Leistungsüberwachung zur Erstellungszeit, indem Sie der AndroidManifest.xml Datei Ihrer App ein <meta-data> -Element wie folgt hinzufügen:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Überprüfen Sie Ihre Protokollmeldungen auf Fehlermeldungen.

  3. Performance Monitoring markiert seine Protokollmeldungen mit FirebasePerformance . Mithilfe der Logcat-Filterung können Sie speziell die Protokollierung der Dauerablaufverfolgung und der HTTP/S-Netzwerkanforderung anzeigen, indem Sie den folgenden Befehl ausführen:

    adb logcat -s FirebasePerformance
  4. Suchen Sie nach den folgenden Arten von Protokollen, die darauf hinweisen, dass die Leistungsüberwachung Leistungsereignisse protokolliert:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Klicken Sie auf die URL, um Ihre Daten in der Firebase-Konsole anzuzeigen. Es kann einen Moment dauern, bis die Daten im Dashboard aktualisiert werden.

Wenn Ihre App keine Leistungsereignisse protokolliert, lesen Sie die Tipps zur Fehlerbehebung .

Schritt 5 : (Optional) Fügen Sie eine benutzerdefinierte Überwachung für bestimmten Code hinzu

Um Leistungsdaten im Zusammenhang mit bestimmtem Code in Ihrer App zu überwachen, können Sie benutzerdefinierte Code-Traces instrumentieren .

Mit einem benutzerdefinierten Code-Trace können Sie messen, wie lange Ihre App benötigt, um eine bestimmte Aufgabe oder eine Reihe von Aufgaben abzuschließen, z. B. das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank. Die Standardmetrik für einen benutzerdefinierten Code-Trace ist seine Dauer, aber Sie können auch benutzerdefinierte Metriken wie Cache-Treffer und Speicherwarnungen hinzufügen.

In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Trace (und fügen alle gewünschten benutzerdefinierten Metriken hinzu), indem Sie die vom Performance Monitoring SDK bereitgestellte API verwenden. Bei Android-Apps können Sie auch die Dauer bestimmter Methoden mit der Annotation @AddTrace überwachen.

Besuchen Sie Überwachung für spezifischen Code hinzufügen, um mehr über diese Funktionen zu erfahren und wie Sie sie Ihrer App hinzufügen können.

Schritt 6 : Stellen Sie Ihre App bereit und überprüfen Sie die Ergebnisse

Nachdem Sie die Leistungsüberwachung mit einem oder mehreren Testgeräten validiert haben, können Sie die aktualisierte Version Ihrer App für Ihre Benutzer bereitstellen.

Sie können Leistungsdaten im Leistungs- Dashboard der Firebase-Konsole überwachen.

Bekannte Probleme

  • Das Performance Monitoring Gradle Plugin v1.1.0 kann eine Diskrepanz in Guava-Abhängigkeiten verursachen, was zu folgendem Fehler führt:

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

    Wenn Sie diesen Fehler sehen, können Sie entweder:

    • Aktualisieren Sie das Leistungsüberwachungs-Plugin auf v1.1.1 oder höher (das neueste ist v1.4.2).

    • Ersetzen Sie die Abhängigkeitszeile des Leistungsüberwachungs-Plugins in Ihrer Gradle-Datei auf Stammebene (Projektebene) ( build.gradle ) wie folgt:

      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'
          }
        }
      }
      
  • Die Leistungsüberwachung meldet die Gesamtnutzlastgröße für HTTP-Netzwerkanforderungen basierend auf dem im HTTP-Content-Length-Header festgelegten Wert. Dieser Wert ist möglicherweise nicht immer genau.

  • Die Leistungsüberwachung unterstützt nur den Hauptprozess in Android-Apps mit mehreren Prozessen.

Nächste Schritte