Auf dieser Seite finden Sie Tipps zur Fehlerbehebung bei den ersten Schritten mit Performance Monitoring oder bei der Verwendung von Performance Monitoring-Funktionen und Performance Monitoring-Tools.
Erste Überprüfungen zur Fehlerbehebung
Die folgenden beiden Prüfungen sind allgemeine Best Practices, die jedem empfohlen werden: bevor Sie mit der Fehlerbehebung fortfahren.
1. Logeinträge auf Leistungsereignisse prüfen
Sehen Sie in den Logeinträgen nach, ob das Performance Monitoring SDK Daten erfasst Performance-Ereignisse.
So rufen Sie Logeinträge für Leistungsereignisse auf
Aktivieren Sie das Fehlerbehebungs-Logging für Performance Monitoring bei der Build-Erstellung, indem Sie ein
<meta-data>
hinzufügen -Element in die DateiAndroidManifest.xml
Ihrer App ein. Beispiel:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Prüfen Sie Ihre Logeinträge auf Fehlermeldungen.
Performance Monitoring kennzeichnet die Logeinträge mit
FirebasePerformance
. Logcat verwenden können Sie speziell die Trace-Dauer und das HTTP/S-Netzwerk aufrufen, fordern Sie Logging an, indem Sie den folgenden Befehl ausführen:adb logcat -s FirebasePerformance
Suchen Sie nach den folgenden Logtypen, die darauf hinweisen, dass Performance Monitoring Logging von Leistungsereignissen:
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 Zeit dauern, bis die Daten im Dashboard aktualisiert werden.
Wenn Ihre App keine Leistungsereignisse protokolliert, lesen Sie die Fehlerbehebung Tipps
2. Firebase-Status-Dashboard prüfen
Überprüfen Sie die Firebase-Status-Dashboard für den Fall Es gibt einen bekannten Ausfall bei Firebase oder Performance Monitoring.
Einführung in Performance Monitoring
Wenn Sie zum ersten Mal mit Performance Monitoring starten (iOS+ | Android | Web), die folgende Fehlerbehebung Tipps können Ihnen bei Problemen helfen, bei denen Firebase das SDK erkennt oder Ihre ersten Leistungsdaten in der Firebase-Konsole anzeigen.
Ich habe das SDK der App hinzugefügt, aber in der Console wird weiterhin angezeigt, dass ich das SDK hinzufügen soll.
Firebase kann erkennen, ob Sie Ihrer App das Performance Monitoring SDK hinzugefügt haben wenn sie Ereignisinformationen (z. B. App-Interaktionen) von Ihrer App erhält. Normalerweise wird innerhalb von 10 Minuten nach dem Start der App die Leistung Dashboard der Firebase-Konsole zeigt „SDK erkannt“ an . Innerhalb von 30 Minuten werden dann die ersten verarbeiteten Daten im Dashboard angezeigt.
Wenn seit dem Hinzufügen der neuesten SDK-Version zu mehr als 10 Minuten und Sie immer noch keine Änderung sehen, prüfen Sie Ihr Protokoll Nachrichten, um sicherzustellen, dass Performance Monitoring das Protokoll Ereignisse. Führen Sie die unten beschriebenen Schritte zur Fehlerbehebung aus, Probleme mit einer verspäteten SDK-Erkennungsmeldung beheben
Anwendung protokolliert Ereignisse: Fehlerbehebung Schritte
Achte darauf, dass du das Performance Monitoring Android SDK 19.1.0 oder höher (oder Firebase BoM 26.3.0 oder höher), finden Sie in den Versionshinweisen.
Wenn Sie noch lokal entwickeln, versuchen Sie, mehr Ereignisse für Daten zu generieren Sammlung:
- Ereignisse durch Wechseln der App zwischen Hintergrund und Vordergrund generieren durch das Wechseln zwischen Bildschirmen mit Ihrer App interagieren, und/oder Netzwerkanfragen auslösen.
Achten Sie darauf, dass Ihre Firebase-Konfiguration Datei (
google-services.json
) ist korrekt zu Ihrer App hinzugefügt und dass Sie die Datei nicht geändert haben. Überprüfen Sie insbesondere Folgendes:Der Name der Konfigurationsdatei enthält keine zusätzlichen Zeichen wie z. B.
(2)
.Die Konfigurationsdatei befindet sich im Verzeichnis Modul (App-Ebene) Ihrer App.
Die Firebase-Android-App-ID (
mobilesdk_app_id
), die in der Konfigurationsdatei aufgeführt ist für Ihre App korrekt ist. Ihre Firebase-App-ID finden Sie unter Meine Apps. Karte Ihres settings-Projekts Einstellungen
Wenn etwas mit der Konfigurationsdatei in Ihrer App nicht stimmt, versuchen Sie Folgendes:
Löschen Sie die Konfigurationsdatei, die sich derzeit in Ihrer App befindet.
Folgen Sie dieser Anleitung, um laden Sie eine neue Konfigurationsdatei herunter und fügen sie Ihrer Android-App hinzu.
Wenn das SDK Ereignisse protokolliert und alles richtig eingerichtet ist, Sie aber nach 10 Minuten immer noch keine Meldung zur SDK-Erkennung oder keine verarbeiteten Daten sehen, wenden Sie sich an den Firebase-Support.
Die Anwendung protokolliert keine Ereignisse: Schritte zur Fehlerbehebung
So prüfen Sie die Einrichtung des Gradle-Plug-ins Performance Monitoring:
Stellen Sie sicher, dass Sie haben hinzugefügt: Plug-ins korrekt. Überprüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradle
Modul (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfad-Abhängigkeit für das Plug-in angegeben.
(
) in derclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
-Datei auf Projektebene.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht durch eines der folgenden Flags deaktiviert ist:
instrumentationEnabled
in Ihrem Modul (App-Ebene)build.gradle
DateifirebasePerformanceInstrumentationEnabled
in deinemgradle.properties
Datei
Achten Sie darauf, dass das Performance Monitoring SDK nicht verwendet wird. deaktiviert über eine der folgenden Flags in Ihrer
AndroidManifest.xml
-Datei:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Achten Sie darauf, dass Performance Monitoring nicht deaktiviert ist: Laufzeit.
Wenn Sie in Ihrer App nichts finden, das deaktiviert ist, wenden Sie sich an den Firebase-Support.
In der Console wird angezeigt, dass das SDK erkannt, aber es werden keine Daten angezeigt
Performance Monitoring verarbeitet Daten zu Leistungsereignissen, bevor sie im Dashboard zur Leistungsüberwachung
Wenn mehr als 24 Stunden vergangen sind, seit das SDK erkannt wird, Nachricht angezeigt, und immer noch keine Daten angezeigt werden, überprüfen Sie Firebase-Status-Dashboard für den Fall, bekannten Ausfall. Gibt es keinen Ausfall, wenden Sie sich an den Firebase-Support.
Allgemeine Fehlerbehebung
Wenn du das SDK erfolgreich hinzugefügt hast und Performance Monitoring in deiner App verwendest, wird der können folgende Tipps zur Fehlerbehebung bei allgemeinen Problemen Performance Monitoring-Funktionen und -Tools.
Anwendung protokolliert nicht Leistungsereignisse
Wenn Sie keine Protokollmeldungen zur Leistungssteigerung sehen führen Sie die folgenden Schritte zur Fehlerbehebung aus:
So prüfen Sie die Einrichtung des Gradle-Plug-ins Performance Monitoring:
Prüfen Sie, ob Sie das Plug-in richtig hinzugefügt haben. Überprüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradle
Modul (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfad-Abhängigkeit für das Plug-in angegeben.
(
) in derclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
-Datei auf Projektebene.
- Sie haben das Plug-in (
Achten Sie darauf, dass der Plug-in wurde nicht aufgrund eines der folgenden Verfahren deaktiviert Flags:
instrumentationEnabled
in Ihrem Modul (App-Ebene)build.gradle
DateifirebasePerformanceInstrumentationEnabled
in deinemgradle.properties
Datei
Achten Sie darauf, dass das Performance Monitoring SDK nicht verwendet wird. deaktiviert über eine der folgenden Flags in Ihrer
AndroidManifest.xml
-Datei:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Achten Sie darauf, dass Performance Monitoring nicht deaktiviert ist: Laufzeit.
Wenn Sie in Ihrer App keine deaktivierten Funktionen finden, wenden Sie sich an den Firebase-Support.
Im Dashboard zur Leistungsüberwachung fehlen Bildschirm-Trace-Daten
Wenn Daten für Bildschirm-Rendering-Traces fehlen, versuchen Sie Folgendes: Schritte zur Fehlerbehebung:
Vergewissern Sie sich, dass Sie die neueste Version des Android SDK verwenden. (Version 21.0.1) Bildschirm-Rendering-Traces sind nur verfügbar mit v15.2.0 oder höher.
Stellen Sie sicher, dass Sie die Option Hardware Beschleunigung für einen Bildschirm.
Achten Sie darauf, dass Sie nicht DexGuard oder Jack verwenden. Performance Monitoring ist mit diesen Toolchains nicht kompatibel.
DexGuard deaktiviert die automatische Erfassung von App-Starts, und App-in-Hintergrund-Traces. Alle benutzerdefinierte Code-Traces sollte sich einwandfrei verhalten, wenn Ihre App DexGuard verwendet.
Jack wurde eingestellt und sollten in Ihrer App nicht verwendet werden.
Das Dashboard zur Leistungsüberwachung ist benutzerdefinierte Trace-Daten fehlen
Sehen Sie Leistungsdaten für automatisch erfasste Traces, aber nicht für benutzerdefinierte Code-Traces? Führen Sie die folgenden Schritte zur Fehlerbehebung aus:
Wenn Sie benutzerdefinierte Code-Traces über die Trace API Überprüfen Sie die Einrichtung der Traces und achten Sie insbesondere auf Folgendes:
- Namen für benutzerdefinierte Codetraces und benutzerdefinierte Messwerte müssen folgende Anforderungen erfüllen
Anforderungen: keine voran- oder nachgestellten Leerzeichen, kein führender Unterstrich
(
_
) Zeichen und die maximale Länge beträgt 32 Zeichen. - Alle Traces müssen gestartet und beendet werden. Alle Traces, die nicht gestartet wurden, angehalten oder beendet wurde, bevor sie gestartet wurden, werden nicht protokolliert.
- Namen für benutzerdefinierte Codetraces und benutzerdefinierte Messwerte müssen folgende Anforderungen erfüllen
Anforderungen: keine voran- oder nachgestellten Leerzeichen, kein führender Unterstrich
(
Wenn Sie benutzerdefinierte Code-Traces über
@AddTrace
instrumentiert haben Notation, Überprüfen Sie die Einrichtung des Performance Monitoring-Gradle-Plug-ins:Stellen Sie sicher, dass Sie haben hinzugefügt: Plug-ins korrekt. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradle
Modul (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfad-Abhängigkeit für das Plug-in angegeben.
(
) in derclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
-Datei auf Projektebene.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht durch eines der folgenden Flags deaktiviert ist:
instrumentationEnabled
in Ihrem Modul (App-Ebene)build.gradle
DateifirebasePerformanceInstrumentationEnabled
in deinemgradle.properties
Datei
Prüfen Sie die Logmeldungen, um sicherzustellen, dass Performance Monitoring die erwarteten benutzerdefinierten Code-Traces protokolliert.
Wenn Performance Monitoring Ereignisse protokolliert, aber nach 24 Stunden keine Daten angezeigt werden, gilt Folgendes: wenden Sie sich an den Firebase-Support.
Dashboard zur Leistungsüberwachung Daten zu Netzwerkanfragen fehlen
Wenn Daten zu Netzwerkanfragen fehlen, versuchen Sie Folgendes:
Für Android-Apps ermöglicht das Gradle-Plug-in Performance Monitoring die Instrumentierung, die ermöglicht die automatische Überwachung HTTP/S-Netzwerkanfragen Dann machen Sie Folgendes:
Stellen Sie sicher, dass Sie haben hinzugefügt: Plug-ins korrekt. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradle
Modul (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfad-Abhängigkeit für das Plug-in angegeben.
(
) in derclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
-Datei auf Projektebene.
- Sie haben das Plug-in (
Achten Sie darauf, dass der Plug-in wurde nicht aufgrund eines der folgenden Verfahren deaktiviert Flags:
instrumentationEnabled
in Ihrem Modul (App-Ebene)build.gradle
DateifirebasePerformanceInstrumentationEnabled
in deinemgradle.properties
Datei
Prüfen Sie, ob die Netzwerkbibliothek nicht kompatibel ist. Performance Monitoring automatisch Erfasst Messwerte für Netzwerkanfragen, die das folgende Netzwerk verwenden Bibliotheken: OkHttp 3.x.x, Javas URLConnection und Apache HttpClient.
Beachten Sie, dass Sie benutzerdefiniertes Monitoring für das Netzwerk -Anfragen.
Beachten Sie Folgendes:
Je nach Verhalten des Codes und der Netzwerkbibliotheken, die von Ihrem Code hinzugefügt, meldet Performance Monitoring möglicherweise nur Netzwerkanfragen, abgeschlossen. Das bedeutet, dass offene HTTP/S-Verbindungen möglicherweise nicht gemeldet werden.
Performance Monitoring ist nicht mit DexGuard und Jack kompatibel.
- DexGuard deaktiviert die Überwachung von HTTP/S-Netzwerkanfragen.
- Jack wurde eingestellt und sollten in Ihrer App nicht verwendet werden.
Performance Monitoring meldet keine Netzwerkanfragen mit ungültigen
Content-Type
-Header. Netzwerkanfragen ohne dieContent-Type
-Header werden jedoch weiterhin akzeptiert.
Netzwerkanfragedaten werden nicht wie erwartet aggregiert
Weitere Informationen dazu, wie Performance Monitoring Netzwerkanfragen zusammenfasst unter URL-Mustern.
Sie können auch eine benutzerdefinierte URL Muster.
FAQ
Was ist mit den häufigsten Problemen auf der Karte „Leistung“ auf der Projektstartseite passiert?
Wir haben die Kategorie Häufige Probleme durch aktuelle Warnungen ersetzt. Einführung von Alerts, mit der Sie automatisch informiert werden, von Ihnen festgelegte Grenzwerte überschritten werden. Probleme wurden verworfen und durch Benachrichtigungen ersetzt.
Mit der App-Auswahl oben auf der Karte „Leistung“ wird die Benachrichtigung gefiltert unter Aktuelle Meldungen ein. Nur die drei letzten Benachrichtigungen für die Die ausgewählten Apps werden angezeigt.
Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungen bei Leistungsproblemen einrichten
Was ist mit der Möglichkeit zum Festlegen von Schwellenwerten für Probleme in der Konsole passiert?
Performance Monitoring unterstützt Benachrichtigungen für Messwerte, die über Grenzwerten definiert. Um Verwechslungen mit diesen konfigurierbaren Grenzwerten für können Sie keine Grenzwerte für Probleme zu lösen.
Was ist mit den Details und Messwerten in der Firebase-Konsole passiert?
Die Seiten „Details“ und „Messwerte“ wurden durch eine neu gestaltete, zentralisierte Benutzeroberfläche (UI) verwenden, um die Fehlerbehebung zu verbessern. Diese neue Die Benutzeroberfläche zur Fehlerbehebung bietet dieselben Hauptfunktionen wie die Details und Messwerte werden angeboten. Weitere Informationen zur Fehlerbehebung finden Sie unter Weitere Daten für einen bestimmten Trace ansehen.
Warum entspricht die Anzahl der Stichproben nicht meinen Erwartungen?
Performance Monitoring erhebt Leistungsdaten von den Nutzergeräten deiner App. Wenn Ihre Anwendung viele Nutzer hat oder die App eine große Menge an Leistungsaktivitäten generiert, kann Performance Monitoring die Datenerhebung auf eine Teilmenge der Geräte beschränken, um die Anzahl der verarbeiteten Ereignisse zu reduzieren. Diese Limits sind hoch genug, Auch mit weniger Ereignissen sind die Messwerte repräsentativ für die User Experience der App.
Zur Verwaltung der von uns erhobenen Datenmenge verwendet Performance Monitoring Folgendes: Optionen für die Stichprobenerhebung:
Taktbeschränkung auf dem Gerät: Um zu verhindern, dass ein Gerät plötzlich viele Traces sendet, beschränken wir die Anzahl der Code- und Netzwerkanfrage-Traces, die von einem Gerät gesendet werden, auf 300 Ereignisse alle 10 Minuten. Dieser Ansatz schützt das Gerät vor Schleifeninstrumentierungen, die große Mengen an Leistungsdaten senden können, und verhindert, dass ein einzelnes Gerät die Leistungsmessungen verfälscht.
Dynamische Stichproben: Mit Performance Monitoring wird ein Limit von etwa 100 Millionen erfasst. Ereignisse für Code-Traces und 100 Millionen für Netzwerkanfrage-Traces pro App pro Tag für alle App-Nutzer. Auf den Geräten wird eine dynamische Stichprobenrate abgerufen (mit Firebase Remote Config), um zu ermitteln, ob ein zufälliges Gerät Traces erfassen und senden soll. Ein Gerät, das nicht für die Stichprobenerhebung ausgewählt ist, Ereignisse zu senden. Die dynamische Stichprobenrate ist app-spezifisch und damit das Gesamtvolumen der erfassten Daten unter dem Grenzwert bleibt.
Bei Nutzersitzungen werden zusätzliche, detaillierte Daten vom Gerät eines Nutzers gesendet. Das Erfassen und Senden der Daten erfordert mehr Ressourcen. Um die Auswirkungen der Sitzungen kann auch Performance Monitoring die Anzahl der Sitzungen einschränken.
Serverseitige Ratenbegrenzung: Damit wird sichergestellt, dass Apps die Stichprobengröße nicht überschreiten. Limit setzen, verwendet Performance Monitoring möglicherweise serverseitige Stichproben, um einige Ereignisse zu löschen die von Geräten empfangen werden. Diese Art der Begrenzung ändert zwar nicht die Effektivität unserer Messwerte, kann aber zu geringfügigen Musterverschiebungen führen, darunter:
- Die Anzahl der Traces kann sich von der Häufigkeit unterscheiden, mit der ein Stück Code ausgeführt wurde.
- Im Code eng gekoppelte Traces können jeweils eine unterschiedliche Anzahl von Proben.
Was ist mit dem Tab Probleme in der Console passiert?
Den Tab „Probleme“ haben wir durch die Einführung von Benachrichtigungen ersetzt. benachrichtigt Sie automatisch, wenn die von Ihnen festgelegten Grenzwerte überschritten werden. Du nein nicht mehr manuell in der Firebase-Konsole nachprüfen müssen, um den Status einen Grenzwert haben. Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungen für Leistungsprobleme einrichten.
Was ist mit den Tabs Auf dem Gerät und Netzwerk in der Konsole passiert? Wie kann ich mir die Spuren ansehen, die auf diesen Seiten vorhanden waren?
Wir haben den Abschnitt „Performance Monitoring“ der Firebase-Konsole neu gestaltet, Auf dem Tab Dashboard werden Ihre wichtigsten Messwerte und alle Traces an einem Ort angezeigt. Als Im Rahmen der Neugestaltung haben wir auch die Seiten Auf dem Gerät und Netzwerk entfernt.
Die Tabelle mit den Aufzeichnungen unten auf dem Tab Dashboard enthält dieselben Informationen wie die Tabs Auf dem Gerät und Netzwerk, aber mit einigen zusätzlichen Funktionen, z. B. die Möglichkeit, die Aufzeichnungen nach der prozentualen Änderung für einen bestimmten Messwert zu sortieren. Wenn Sie alle Messwerte und Daten für einen bestimmten Trace aufrufen möchten, klicken Sie in der Trace-Tabelle auf den Namen des Traces.
Sehen Sie sich Ihre Traces auf den folgenden Untertabs der Traces-Tabelle an:
- Netzwerkanfrage-Traces (sowohl vorkonfiguriert als auch benutzerdefiniert) – Untertab Netzwerkanfragen
- Benutzerdefinierte Code-Traces: Untertab Benutzerdefinierte Traces
- Traces für App-Start, im Vordergrund und im Hintergrund – Unter-Tab Benutzerdefinierte Traces
- Bildschirm-Rendering-Traces – Untertab Bildschirm-Rendering
- Seitenaufbau-Traces – Untertab Seitenaufbau
Weitere Informationen zur Tabelle mit den Traces sowie zu den Messwerten und Daten finden Sie auf der Übersichtsseite der Console (iOS und höher | Android | Web).
Warum entspricht die Anzahl der langsamen und eingefrorenen Frames nicht meinen Erwartungen?
Frames mit langsamem Rendering und eingefrorene Frames werden mit einer angenommenen Geräteaktualisierungsrate von 60 Hz berechnet. Wenn die Aktualisierungsrate des Geräts unter 60 Hz liegt, wird jeder Frame langsamere Renderingzeit, da weniger Frames pro Sekunde gerendert werden. Langsamere Rendering-Zeiten können dazu führen, dass mehr langsame oder eingefrorene Frames gemeldet werden. da mehr Frames langsamer gerendert werden oder einfrieren. Wenn die Bildwiederholrate eines Geräts jedoch über 60 Hz liegt, ist die Renderingzeit für jeden Frame kürzer. Dadurch werden möglicherweise weniger langsame oder eingefrorene Frames gemeldet. Das ist eine aktuelle Einschränkung des Performance Monitoring SDK.
Warum kann ich keine Fragment-Traces sehen?
Um die Leistung von Fragmenten zusätzlich zur App-Aktivität zu sehen, achten Sie darauf, Ihre App verwendet die Performance Monitoring Android SDK-Version 20.1.0 oder höher. Weitere Informationen finden Sie unter Leistungsüberwachung zur App hinzufügen.
Wie kann ich herausfinden, welche Traces mit Fragmenten und Aktivitäten zusammenhängen?
Jeder Fragment- und Aktivitäts-Trace basiert auf seinem Klassennamen, wie er definiert ist. in Ihrer Anwendung. Jede der Bildschirmaufzeichnungen enthält das Präfix st gefolgt vom Namen der Klasse. In der Firebase Console lautet das Präfix entfernt. Weitere Informationen zu Leistungsdaten für das Bildschirm-Rendering (Apple- und Android-Apps)
Warum sehe ich weniger Fragment-Traces als andere Traces?
Performance Monitoring führt eine Stichprobenerhebung für alle Ereignisse durch, die auf einem Gerät erfasst wurden. So können wir die Mindestanzahl an Ereignissen von Nutzergeräten erfassen, die für die Bereitstellung von Leistungsmesswerten erforderlich sind.
Wie werde ich benachrichtigt, wenn es ein Problem mit der Rendering-Leistung meiner App?
Mit Performance Monitoring können Sie Benachrichtigungen zu wichtigen Messwerten einrichten. Für generierte Bildschirm-Rendering-Traces ansehen, können Sie Benachrichtigungen einrichten, damit Sie benachrichtigt werden, Der Prozentsatz von langsamen und eingefrorenen Frames überschreitet einen von dir festgelegten Grenzwert.
Nachdem ich das Gradle-Plug-in Performance Monitoring aktiviert habe, sind meine Build-Zeiten lang. Wie Kann ich das verbessern?
Performance Monitoring für Android nutzt Bytecode-Instrumentierung, um einige und sofort einsatzbereite Funktionen wie HTTP/S-Netzwerkanfragen überwachen Im Rahmen der Kompilierung muss der Prozess durch alle Klassen iteriert werden. Ihrer App (einschließlich Abhängigkeiten) ein, um den Code zu instrumentieren, der für um die Netzwerkanfrageleistung Ihrer Anwendung zu messen.
Hier sind einige der wichtigsten Gründe für eine längere Erstellungszeit:
- Anzahl der Kurse oder Dateien
- Größe der einzelnen Klassen (Codezeilen)
- Ihre Maschinenkonfiguration
- Erster Build im Vergleich zu nachfolgenden Builds (nachfolgende Builds schneller als der ursprüngliche Build)
Zur Optimierung der Build-Dauer sollten Sie den Code zu modularisieren.
Ab der Version 1.3.3 des Performance Monitoring-Plug-ins haben wir uns darauf konzentriert, die Verarbeitung inkrementeller Builds und das Caching von Bibliotheksinputs erheblich zu verbessern. Damit Sie die neuesten Verbesserungen bei der Erstellungszeit erhalten, verwenden Sie das aktuelle Version der Plug-in (v1.4.2).
Beachten Sie, dass Sie die Funktion Performance Monitoring-Plug-in für Ihre Debug-Builds lokal ausführen, wenn Sie lange Build-Zeiten vermeiden möchten. Sie können jedoch Dieser Ansatz wird für Produktions-Builds nicht empfohlen, da dies zu Leistungsmessungen für die Netzwerkanfragen in Ihrer App verpasst haben.
Was mache ich, wenn ich Build-Fehler aufgrund inkompatibler Bibliotheken mit dem Performance Monitoring-Gradle-Plug-in erhalte?
Performance Monitoring für Android nutzt Bytecode-Instrumentierung, um einige und sofort einsatzbereite Funktionen wie HTTP/S-Netzwerkanfragen überwachen Im Rahmen der Kompilierung muss der Prozess durch alle Klassen iteriert werden. Ihrer App (einschließlich Abhängigkeiten) ein, um den Code zu instrumentieren, der für um die Netzwerkanfrageleistung Ihrer Anwendung zu messen.
Wenn nach der Integration mit dem Performance Monitoring-Plug-in Build-Fehler wie JSR/RET are not supported with
computeFrames option
oder ähnliche Fehler auftreten,
Das kann daran liegen, dass Sie auch eine Abhängigkeit von einer Bibliothek haben, die nicht kompatibel ist.
mit dem Gradle-Plug-in Performance Monitoring.
Um dies zu umgehen, können Sie die folgenden Schritte ausführen, um inkompatible Klassen/Bibliotheken von der Instrumentierung auszuschließen:
- Aktualisieren Sie das Performance Monitoring-Gradle-Plug-in auf die neueste Version (mindestens Version 1.4.0).
- Aktualisieren Sie die Version Ihres Android-Gradle-Plug-ins auf Version 7.2.0 oder höher.
- Fügen Sie der Datei
build.gradle
(auf App-Ebene) das folgende Flag hinzu, um die inkompatiblen Klassen/Bibliotheken von der Instrumentierung auszuschließen: Weitere Informationen zum Attributandroid { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
exclude
derInstrumentation
API des Android-Gradle-Plug-ins finden Sie unter Instrumentierung.
Melden Sie ein GitHub-Problem. wenn Build-Fehler aufgrund inkompatibler Bibliotheken auftreten. darf von der Instrumentierung im Performance Monitoring-Plug-in ausgeschlossen werden.
Der Export meiner Performance Monitoring-Daten nach BigQuery dauert länger als erwartet. Geschieht das nicht in Echtzeit?
Wenn Sie die BigQuery-Integration für Firebase Performance Monitoring aktiviert haben, werden Ihre Daten werden 12 bis 24 Stunden nach Ende des Tages (Pacific Time) Uhrzeit).
So sind beispielsweise die Daten für den 19. April ab dem 20. April in BigQuery verfügbar. zwischen 12:00 Uhr und Mitternacht. Alle Datums- und Uhrzeitangaben beziehen sich auf die Zeitzone Pacific Time.
Datenverarbeitung und ‑darstellung nahezu in Echtzeit
Was bedeutet „nahezu in Echtzeit“? die Leistung Ihrer Performance-Daten?
Firebase Performance Monitoring verarbeitet die erhobenen Leistungsdaten, sobald sie eingehen. werden die Daten nahezu in Echtzeit in der Firebase-Konsole angezeigt. Die verarbeiteten Daten werden innerhalb weniger Minuten nach der Erfassung in der Console angezeigt. Daher der Begriff „nahezu in Echtzeit“.
Damit Sie die Datenverarbeitung in nahezu Echtzeit nutzen können, muss in Ihrer App eine mit Echtzeit kompatible SDK-Version verwendet werden.
Wie erhalte ich Leistungsdaten für meine App nahezu in Echtzeit?
Um die Datenverarbeitung nahezu in Echtzeit zu nutzen, müssen Sie nur sicherstellen, dass deine App eine Performance Monitoring SDK-Version verwendet, die mit Echtzeit kompatibel ist Datenverarbeitung.
Dies sind die in Echtzeit kompatiblen SDK-Versionen:
- iOS – Version 7.3.0 oder höher
- tvOS – Version 8.9.0 oder höher
- Android: Version 19.0.10 oder höher (oder Firebase Android BoM Version 26.1.0 oder höher)
- Web – Version 7.14.0 oder höher
Wir empfehlen, immer die neueste SDK-Version zu verwenden. Die oben aufgeführte Version ermöglicht es Performance Monitoring, Ihre Daten nahezu in realer Umgebung zu verarbeiten. .
Welche Versionen des Performance Monitoring SDK gelten als echtzeitkompatibel?
Dies sind die SDK-Versionen, die mit der Datenverarbeitung in Echtzeit kompatibel sind:
- iOS – Version 7.3.0 oder höher
- tvOS – Version 8.9.0 oder höher
- Android: Version 19.0.10 oder höher (oder Firebase Android BoM Version 26.1.0 oder höher)
- Web – Version 7.14.0 oder höher
Wir empfehlen, immer die neueste SDK-Version zu verwenden. Die oben aufgeführte Version ermöglicht es Performance Monitoring, Ihre Daten nahezu in realer Umgebung zu verarbeiten. .
Was passiert, wenn ich meine App nicht aktualisiere, um eine Echtzeit-kompatible SDK-Version zu verwenden?
Wenn Ihre App keine Echtzeit-kompatible SDK-Version verwendet, sehen Sie in der Firebase-Konsole weiterhin alle Leistungsdaten Ihrer App. Das Display der Leistungsdaten werden ab dem Zeitpunkt der .
Ich habe auf eine SDK-Version aktualisiert, die in Echtzeit kompatibel ist, aber einige meiner Nutzer Ich nutze immer noch die alten Versionen meiner App. Kann ich ihre Leistung weiterhin sehen? Daten in der Firebase-Konsole?
Ja! Unabhängig von der SDK-Version, die eine App-Instanz verwendet, Leistungsdaten aller Ihrer Nutzer.
Wenn Sie sich jedoch aktuelle Daten ansehen, die weniger als 36 Stunden alt sind, stammen die angezeigten Daten von Nutzern von App-Instanzen mithilfe eines Echtzeit- kompatible SDK-Version. Die nicht aktuellen Daten enthalten jedoch Leistungsdaten aus allen Versionen Ihrer App.
Firebase-Support kontaktieren
Wenn Sie wenden Sie sich bitte an den Firebase-Support, Ihre Firebase-App-ID angeben. Sie finden Ihre Firebase App-ID auf der Karte Meine Apps in den settings Projekteinstellungen.