Hinweis
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls noch nicht geschehen.
Schritt 1: Performance Monitoring SDK in Ihre App einfügen
Nachdem Sie das Performance Monitoring SDK hinzugefügt haben, beginnt Firebase automatisch, Daten für das Bildschirm-Rendering Ihrer App und Daten zum Lebenszyklus Ihrer App zu erfassen, z. B. den App-Startzeitpunkt. Damit Firebase Netzwerkanfragen überwachen kann, müssen Sie auch das Performance Monitoring-Gradle-Plug-in hinzufügen (nächster Schritt).
Fügen Sie in der Gradle-Datei des Moduls (auf Anwendungsebene) (in der Regel
<project>/<app-module>/build.gradle.kts
oder<project>/<app-module>/build.gradle
) die Abhängigkeit für die Performance Monitoring-Bibliothek für Android hinzu. Wir empfehlen, Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.9.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") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Sie suchen nach einem Kotlin-spezifischen Bibliotheksmodul? Ab Oktober 2023 (Firebase BoM 32.5.0) können sowohl Kotlin- als auch Java-Entwickler das Hauptbibliotheksmodul verwenden. Weitere Informationen finden Sie in den häufig gestellten Fragen zu dieser Initiative.Alternative: Firebase-Bibliotheksabhängigkeiten ohne BoM hinzufügen
Wenn Sie die Firebase BoM nicht verwenden, müssen Sie jede Firebase-Bibliotheksversion in der entsprechenden Abhängigkeitszeile angeben.
Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir Ihnen dringend, die Bibliotheksversionen mithilfe der BoM zu verwalten. So wird sichergestellt, 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:21.0.4") }
Kompilieren Sie die App neu.
Schritt 2: Performance Monitoring-Gradle-Plug-in zur App hinzufügen
Nachdem Sie das Performance Monitoring Gradle-Plug-in hinzugefügt haben, beginnt Firebase automatisch mit der Erfassung von Daten für HTTP/S-Netzwerkanfragen. Mit dem Plug-in können Sie auch benutzerdefinierte Code-Traces mithilfe der Anmerkung@AddTrace instrumentieren.
So funktioniert das Performance Monitoring-Plug-in
Bevor Ihr Code in DEX-Dateien konvertiert wird, verwendet das Performance Monitoring-Plug-in die Transform API und das ASM-Bytecode-Instrumentierungs-Framework, um die kompilierten Klassendateien Ihrer App aufzurufen und den Code zu instrumentieren (um die Leistung zu messen). Wie lange es dauert, Ihren Code zu instrumentieren, hängt hauptsächlich von der Anzahl und Größe Ihrer Klassen ab.
Wenn die Kompilierung Ihrer App länger dauert als gewünscht, haben Sie folgende Möglichkeiten:
- Performance Monitoring-Plug-in für Ihre Debug-Builds zur Kompilierungszeit deaktivieren
- Code modularisieren, um die Build-Geschwindigkeit zu optimieren
Fügen Sie in der Gradle-Datei auf Stammebene (Projektebene) (
<project>/build.gradle.kts
oder<project>/build.gradle
) das Performance Monitoring Gradle-Plug-in hinzu: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.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "1.4.2" apply false }
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.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (in der Regel
<project>/<app-module>/build.gradle.kts
oder<project>/<app-module>/build.gradle
) das Gradle-Plug-in Performance Monitoring 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") ... }
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' ... }
Kompilieren Sie die App neu.
Schritt 3: Leistungsereignisse für die erste Datenanzeige generieren
Firebase beginnt mit der Verarbeitung der Ereignisse, sobald Sie das SDK Ihrer App hinzugefügt haben. Wenn Sie noch lokal entwickeln, interagieren Sie mit Ihrer App, um Ereignisse für die anfängliche Datenerhebung und -verarbeitung zu generieren.
Erzeugen Sie Ereignisse, indem Sie Ihre App mehrmals zwischen Hintergrund und Vordergrund wechseln, mit Ihrer App interagieren, indem Sie zwischen Bildschirmen wechseln, und/oder Netzwerkanfragen auslösen.
Rufen Sie in der Firebase-Konsole das Dashboard „Leistung“ auf. Die ersten Daten sollten innerhalb weniger Minuten angezeigt werden.
Wenn Ihre ursprünglichen Daten nicht angezeigt werden, lesen Sie die Tipps zur Fehlerbehebung.
Schritt 4: Optional: Protokollmeldungen für Leistungsereignisse ansehen
Aktivieren Sie das Debug-Logging für Performance Monitoring zum Zeitpunkt des Builds, indem Sie der
AndroidManifest.xml
-Datei Ihrer App ein<meta-data>
-Element hinzufügen. Beispiel:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Prüfen Sie die Protokollmeldungen auf Fehler.
Performance Monitoring taggt seine Protokollmeldungen mit
FirebasePerformance
. Mit der Logcat-Filterung können Sie sich speziell die Dauer der Traces und das Logging von HTTP/S-Netzwerkanfragen ansehen. Führen Sie dazu den folgenden Befehl aus:adb logcat -s FirebasePerformance
Prüfen Sie, ob die folgenden Arten von Protokollen vorhanden sind, die darauf hinweisen, dass Performance Monitoring Leistungsereignisse protokolliert:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Klicken Sie auf die URL, um Ihre Daten in der Firebase Console aufzurufen. Es kann einige Minuten dauern, bis die Daten im Dashboard aktualisiert werden.
Wenn in Ihrer App keine Leistungsereignisse protokolliert werden, lesen Sie die Tipps zur Fehlerbehebung.
Schritt 5: Optional: Benutzerdefinierte Überwachung für bestimmten Code hinzufügen
Wenn Sie Leistungsdaten im Zusammenhang mit bestimmtem Code in Ihrer App erfassen möchten, können Sie benutzerdefinierte Code-Traces instrumentieren.
Mit einem benutzerdefinierten Code-Trace können Sie messen, wie lange es dauert, bis Ihre App eine bestimmte Aufgabe oder eine Reihe von Aufgaben erledigt hat, z. B. das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank. Der Standardmesswert für einen benutzerdefinierten Code-Trace ist seine Dauer. Sie können aber auch benutzerdefinierte Messwerte wie Cachetreffer und Speicherwarnungen hinzufügen.
In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Traces und fügen mithilfe der vom Performance Monitoring SDK bereitgestellten API beliebige benutzerdefinierte Messwerte hinzu. Bei Android-Apps können Sie die Dauer bestimmter Methoden auch mithilfe der Annotation@AddTrace überwachen.
Unter Monitoring für bestimmten Code hinzufügen finden Sie weitere Informationen zu diesen Funktionen und dazu, wie Sie sie Ihrer App hinzufügen.
Schritt 6: App bereitstellen und Ergebnisse prüfen
Nachdem Sie Performance Monitoring mit einem oder mehreren Testgeräten validiert haben, können Sie die aktualisierte Version Ihrer App für Ihre Nutzer bereitstellen.
Sie können Leistungsdaten im Dashboard „Leistung“ der Firebase-Konsole beobachten.
Bekannte Probleme
Das Performance Monitoring Gradle-Plug-in v1.1.0 kann zu einer Abweichung bei den Guava-Abhängigkeiten führen, was den folgenden Fehler zur Folge hat:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
In diesem Fall haben Sie folgende Möglichkeiten:
Aktualisiere das Performance Monitoring-Plug-in auf Version 1.1.1 oder höher (die neueste Version ist v1.4.2).
Ersetzen Sie die Zeile mit der Performance Monitoring-Plug-in-Abhängigkeit in der Gradle-Datei auf Stammebene (Projektebene) (
<project>/build.gradle.kts
oder<project>/build.gradle
) durch Folgendes: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") } } }
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' } } }
Performance Monitoring gibt die Gesamtnutzlastgröße für HTTP-Netzwerkanfragen basierend auf dem im HTTP-Header „Content-Length“ festgelegten Wert an. Dieser Wert ist möglicherweise nicht immer korrekt.
Performance Monitoring unterstützt nur den Hauptprozess in Android-Apps mit mehreren Prozessen.
Nächste Schritte
Sehen Sie sich das Performance Monitoring Android-Codebeispiel auf GitHub an und führen Sie es aus.
Weitere Informationen zu den automatisch von Performance Monitoring erfassten Daten:
- Daten zum Lebenszyklus Ihrer App, z. B. Startzeit der App
- Daten für das Bildschirm-Rendering in Ihrer App
- Daten zu HTTP/S-Netzwerkanfragen, die von Ihrer App gesendet wurden
Leistungsdaten in der Firebase-Konsole ansehen, verfolgen und filtern
Sie können die Überwachung bestimmter Aufgaben oder Workflows in Ihrer App hinzufügen, indem Sie benutzerdefinierte Code-Traces instrumentieren.