Auf dieser Seite finden Sie Tipps zur Fehlerbehebung für die ersten Schritte mit Performance Monitoring oder die Verwendung von Performance Monitoring-Funktionen und -Tools.
Erste Schritte zur Fehlerbehebung
Die folgenden beiden Prüfungen sind allgemeine Best Practices, die vor der weiteren Fehlerbehebung empfohlen werden.
1. Logeinträge auf Leistungsereignisse prüfen
Prüfen Sie Ihre Logeinträge, um sicherzustellen, dass das Performance Monitoring SDK Leistungsereignisse erfasst.
Logeinträge für Leistungsereignisse aufrufen
Aktivieren Sie das Debugging-Logging für Performance Monitoring beim Erstellen, indem Sie der Datei
AndroidManifest.xmlIhrer Anwendung ein<meta-data>-Element hinzufügen:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>Prüfen Sie Ihre Logeinträge auf Fehlermeldungen.
Performance Monitoring kennzeichnet seine Logeinträge mit
FirebasePerformance. Mit der Logcat-Filterung können Sie sich die Wiedergabedauer-Trace- und HTTP/S-Netzwerkanfrage-Logs gezielt ansehen. Führen Sie dazu den folgenden Befehl aus:adb logcat -s FirebasePerformance
Suchen Sie nach den folgenden Logtypen, die darauf hinweisen, dass Performance Monitoring Leistungsereignisse protokolliert:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging 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 Ihre App keine Leistungsereignisse protokolliert, lesen Sie die Tipps zur Fehlerbehebung.
2. Firebase-Status-Dashboard prüfen
Prüfen Sie das Firebase-Status-Dashboard auf bekannte Ausfälle von Firebase oder Performance Monitoring.
Erste Schritte mit Performance Monitoring
Wenn Sie gerade erst mit Performance Monitoring (iOS+ | Android | Web) beginnen, können Ihnen die folgenden Tipps zur Fehlerbehebung bei Problemen helfen, bei denen Firebase das SDK nicht erkennt oder Ihre ersten Leistungsdaten nicht in der Firebase-Konsole anzeigt.
SDK wurde der App hinzugefügt, aber in der Console wird weiterhin angezeigt, dass das SDK hinzugefügt werden muss
Firebase kann erkennen, ob Sie das Performance Monitoring SDK erfolgreich Ihrer App hinzugefügt haben, wenn es Ereignisinformationen (z. B. App-Interaktionen) von Ihrer App empfängt. Normalerweise wird innerhalb von 10 Minuten nach dem Start Ihrer App im Leistungs-Dashboard der Firebase-Konsole die Meldung „SDK erkannt“ angezeigt. Innerhalb von 30 Minuten werden dann die ersten verarbeiteten Daten im Dashboard angezeigt.
Wenn Sie die aktuelle Version des SDK vor mehr als 10 Minuten zu Ihrer App hinzugefügt haben und immer noch keine Änderung sehen, prüfen Sie Ihre Logeinträge, um sicherzustellen, dass Performance Monitoring Ereignisse protokolliert. Führen Sie die entsprechenden Schritte zur Fehlerbehebung aus, wie unten beschrieben, um eine Meldung zur verzögerten SDK-Erkennung zu beheben.
App protokolliert Ereignisse: Schritte zur Fehlerbehebung
Sie benötigen das Performance Monitoring Android SDK 19.1.0 oder höher (oder Firebase BoM 26.3.0 oder höher). Weitere Informationen finden Sie in den Versionshinweisen.
Wenn Sie noch lokal entwickeln, versuchen Sie, mehr Ereignisse für die Datenerhebung zu generieren:
- Generieren Sie Ereignisse, indem Sie Ihre App mehrmals zwischen Hintergrund und Vordergrund wechseln, mit Ihrer App interagieren, indem Sie zwischen Bildschirmen navigieren, und/oder Netzwerkanfragen auslösen.
Prüfen Sie, ob die Firebase-Konfigurationsdatei (
google-services.json) korrekt in Ihre App eingefügt wurde und Sie die Datei nicht geändert haben. Prüfen Sie insbesondere Folgendes:Der Name der Konfigurationsdatei enthält keine zusätzlichen Zeichen wie z. B.
(2).Die Konfigurationsdatei befindet sich im Modulverzeichnis (auf App-Ebene) Ihrer App.
Die in der Konfigurationsdatei aufgeführte Firebase-Android-App-ID (
mobilesdk_app_id) ist für Ihre App korrekt. Sie finden Ihre Firebase-App-ID auf der Karte Meine Apps in den settings Projekteinstellungen.
Wenn mit der Konfigurationsdatei in Ihrer App etwas nicht stimmt, versuchen Sie Folgendes:
Löschen Sie die Konfigurationsdatei, die sich derzeit in Ihrer App befindet.
Folgen Sie dieser Anleitung, um eine neue Konfigurationsdatei herunterzuladen und Ihrer Android-App hinzuzufügen.
Wenn das SDK Ereignisse protokolliert und alles richtig eingerichtet zu sein scheint, Sie aber nach 10 Minuten immer noch keine SDK-Erkennungsmeldung oder verarbeiteten Daten sehen, wenden Sie sich an den Firebase-Support.
Die App protokolliert keine Ereignisse: Schritte zur Fehlerbehebung
Prüfen Sie die Einrichtung des Performance Monitoring-Gradle-Plug-ins so:
Achten Sie darauf, dass Sie das Plug-in richtig hinzugefügt haben. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradledes Moduls (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfadabhängigkeit für das Plug-in (
) in dieclasspath 'com.google.firebase:perf-plugin:2.0.2' build.gradle-Datei auf Projektebene eingefügt.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht deaktiviert ist, indem Sie eines der folgenden Flags verwenden:
instrumentationEnabledin der Dateibuild.gradleIhres Moduls (auf App-Ebene)firebasePerformanceInstrumentationEnabledin Ihrergradle.properties-Datei
Prüfen Sie, ob das Performance Monitoring SDK nicht deaktiviert ist. Verwenden Sie dazu eines der folgenden Flags in Ihrer
AndroidManifest.xml-Datei:firebase_performance_collection_enabledfirebase_performance_collection_deactivated
Achten Sie darauf, dass Performance Monitoring zur Laufzeit nicht deaktiviert ist.
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 wurde, aber es werden keine Daten angezeigt
Performance Monitoring verarbeitet Leistungsereignisdaten, bevor sie im Leistungs-Dashboard angezeigt werden.
Wenn seit der Meldung „SDK erkannt“ mehr als 24 Stunden vergangen sind und Sie immer noch keine Daten sehen, prüfen Sie im Firebase-Status-Dashboard, ob ein bekannter Ausfall vorliegt. Wenn kein Ausfall vorliegt, wenden Sie sich an den Firebase-Support.
Allgemeine Fehlerbehebung
Wenn Sie das SDK erfolgreich hinzugefügt haben und Performance Monitoring in Ihrer App verwenden, können die folgenden Tipps zur Fehlerbehebung bei allgemeinen Problemen mit Performance Monitoring-Funktionen und ‑Tools helfen.
Die App protokolliert keine Leistungsereignisse
Wenn Sie keine Logeinträge für Leistungsereignisse sehen, versuchen Sie es mit den folgenden Schritten zur Fehlerbehebung:
Prüfen Sie die Einrichtung des Performance Monitoring-Gradle-Plug-ins so:
Achten Sie darauf, dass Sie das Plug-in richtig hinzugefügt haben. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradledes Moduls (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfadabhängigkeit für das Plug-in (
) in dieclasspath 'com.google.firebase:perf-plugin:2.0.2' build.gradle-Datei auf Projektebene eingefügt.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht deaktiviert ist, indem Sie eines der folgenden Flags verwenden:
instrumentationEnabledin der Dateibuild.gradleIhres Moduls (auf App-Ebene)firebasePerformanceInstrumentationEnabledin Ihrergradle.properties-Datei
Prüfen Sie, ob das Performance Monitoring SDK nicht deaktiviert ist. Verwenden Sie dazu eines der folgenden Flags in Ihrer
AndroidManifest.xml-Datei:firebase_performance_collection_enabledfirebase_performance_collection_deactivated
Achten Sie darauf, dass Performance Monitoring zur Laufzeit nicht deaktiviert ist.
Wenn Sie in Ihrer App nichts finden, das deaktiviert ist, wenden Sie sich an den Firebase-Support.
Im Dashboard zur Leistungsüberwachung fehlen Daten zum Bildschirm-Trace
Wenn Daten für Traces zum Bildschirm-Rendering fehlen, versuchen Sie Folgendes:
Achten Sie darauf, dass Sie die aktuelle Version des Android SDK (Version 23.0.1) verwenden. Traces für das Bildschirm-Rendering sind nur ab Version 15.2.0 verfügbar.
Achten Sie darauf, dass Sie die Hardwarebeschleunigung für einen Bildschirm nicht manuell deaktiviert haben.
Achten Sie darauf, dass Sie nicht DexGuard oder Jack verwenden. Performance Monitoring ist mit diesen Toolchains nicht kompatibel.
DexGuard deaktiviert die automatische Erfassung von Traces für App-Starts, Apps im Vordergrund und Apps im Hintergrund. Benutzerdefinierte Code-Traces sollten sich jedoch normal verhalten, wenn Ihre Anwendung DexGuard verwendet.
Jack wurde eingestellt und sollte in der Regel nicht in Ihrer App verwendet werden.
Im Dashboard zur Leistungsüberwachung fehlen benutzerdefinierte Trace-Daten
Werden Leistungsdaten für automatisch erfasste Traces angezeigt, aber nicht für benutzerdefinierte Code-Traces? Führe die folgenden Schritte zur Fehlerbehebung aus:
Wenn Sie benutzerdefinierte Code-Traces über die Trace API instrumentiert haben, prüfen Sie die Einrichtung der Traces, insbesondere Folgendes:
- Namen für benutzerdefinierte Code-Traces und benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine führenden oder nachgestellten Leerzeichen, kein führender Unterstrich (
_) und maximal 32 Zeichen. - Alle Traces müssen gestartet und beendet werden. Traces, die nicht gestartet, nicht beendet oder vor dem Start beendet wurden, werden nicht protokolliert.
- Namen für benutzerdefinierte Code-Traces und benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine führenden oder nachgestellten Leerzeichen, kein führender Unterstrich (
Wenn Sie benutzerdefinierte Code-Traces über die
@AddTrace-Notation instrumentiert haben, prüfen Sie die Einrichtung des Performance Monitoring-Gradle-Plug-ins:Achten Sie darauf, dass Sie das Plug-in richtig hinzugefügt haben. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradledes Moduls (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfadabhängigkeit für das Plug-in (
) in dieclasspath 'com.google.firebase:perf-plugin:2.0.2' build.gradle-Datei auf Projektebene eingefügt.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht deaktiviert ist, indem Sie eines der folgenden Flags verwenden:
instrumentationEnabledin der Dateibuild.gradleIhres Moduls (auf App-Ebene)firebasePerformanceInstrumentationEnabledin Ihrergradle.properties-Datei
Prüfen Sie Ihre Logeinträge, um sicherzustellen, dass Performance Monitoring die erwarteten benutzerdefinierten Code-Traces protokolliert.
Wenn Performance Monitoring Ereignisse protokolliert, aber nach 24 Stunden keine Daten angezeigt werden, wenden Sie sich an den Firebase-Support.
Im Dashboard zur Leistungsüberwachung fehlen Daten zu Netzwerkanfragen
Wenn Daten zu Netzwerkanfragen fehlen, versuchen Sie Folgendes:
Bei Android-Apps ermöglicht das Gradle-Plug-in Performance Monitoring eine Instrumentierung, die ein automatisches Monitoring von HTTP/S-Netzwerkanfragen ermöglicht. Dann machen Sie Folgendes:
Achten Sie darauf, dass Sie das Plug-in richtig hinzugefügt haben. Prüfen Sie insbesondere Folgendes:
- Sie haben das Plug-in (
) in der Dateiapply plugin: 'com.google.firebase.firebase-perf' build.gradledes Moduls (auf App-Ebene) hinzugefügt. - Sie haben die Klassenpfadabhängigkeit für das Plug-in (
) in dieclasspath 'com.google.firebase:perf-plugin:2.0.2' build.gradle-Datei auf Projektebene eingefügt.
- Sie haben das Plug-in (
Achten Sie darauf, dass das Plug-in nicht deaktiviert ist, indem Sie eines der folgenden Flags verwenden:
instrumentationEnabledin der Dateibuild.gradleIhres Moduls (auf App-Ebene)firebasePerformanceInstrumentationEnabledin Ihrergradle.properties-Datei
Prüfen Sie, ob die Netzwerkbibliothek inkompatibel ist. Performance Monitoring erfasst automatisch Messwerte für Netzwerkanfragen, die die folgenden Netzwerkbibliotheken verwenden: OkHttp 3.x.x, URLConnection von Java und Apache HttpClient.
Sie können benutzerdefiniertes Monitoring für Netzwerkanfragen hinzufügen.
Beachten Sie Folgendes:
Je nach Verhalten Ihres Codes und der von Ihrem Code verwendeten Netzwerkbibliotheken meldet Performance Monitoring möglicherweise nur abgeschlossene Netzwerkanfragen. Das bedeutet, dass HTTP/S-Verbindungen, die offen bleiben, möglicherweise nicht gemeldet werden.
Performance Monitoring ist nicht mit DexGuard und Jack kompatibel.
- DexGuard deaktiviert das Monitoring von HTTP/S-Netzwerkanfragen.
- Jack wurde eingestellt und sollte in der Regel nicht in Ihrer App verwendet werden.
Performance Monitoring meldet keine Netzwerkanfragen mit ungültigen
Content-Type-Headern. Netzwerkanfragen ohne dieContent-Type-Header werden jedoch weiterhin akzeptiert.
Daten zu Netzwerkanfragen werden nicht wie erwartet zusammengefasst
Weitere Informationen dazu, wie Performance Monitoring Netzwerkanfrage daten unter URL-Mustern aggregiert, finden Sie hier.
Sie können auch benutzerdefinierte URL-Muster ausprobieren.
FAQ
Was ist mit „Wichtigste Probleme“ auf der Karte „Leistung“ auf der Projektstartseite passiert?
Wir haben Wichtigste Probleme durch Aktuelle Benachrichtigungen ersetzt, nachdem wir vor Kurzem Benachrichtigungen eingeführt haben, die Sie automatisch informieren, wenn die von Ihnen festgelegten Grenzwerte überschritten werden. Probleme wurden eingestellt und durch Benachrichtigungen ersetzt.
Mit der App-Auswahl oben auf der Karte „Leistung“ werden die Benachrichtigungseinträge unter Letzte Benachrichtigungen gefiltert. Es werden nur die drei neuesten Benachrichtigungen für die ausgewählten Apps angezeigt.
Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungen für Leistungsprobleme einrichten.
Was ist mit der Möglichkeit passiert, Grenzwerte für Probleme in der Console festzulegen?
Performance Monitoring unterstützt Benachrichtigungen für Messwerte, die definierte Grenzwerte überschreiten. Um Verwechslungen mit diesen konfigurierbaren Grenzwerten für Leistungsmesswerte zu vermeiden, haben wir die Möglichkeit entfernt, Grenzwerte für Probleme zu konfigurieren.
Was ist mit den Informationen zu Details und Messwerten in der Firebase-Konsole passiert?
Wir haben die Seiten „Details“ und „Messwerte“ durch eine neu gestaltete, zentrale Benutzeroberfläche ersetzt, über die Sie Probleme noch besser beheben können. Diese neue Benutzeroberfläche zur Fehlerbehebung bietet dieselben Hauptfunktionen wie „Details“ und „Messwerte“. 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 Geräten der Nutzer Ihrer 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 von Geräten beschränken, um die Anzahl der verarbeiteten Ereignisse zu reduzieren. Diese Grenzwerte sind hoch genug, sodass die Messwerte auch bei weniger Ereignissen noch repräsentativ für die Nutzerfreundlichkeit Ihrer App sind.
Um die Menge der von uns erfassten Daten zu verwalten, verwendet Performance Monitoring die folgenden Stichprobenoptionen:
Ratenbegrenzung auf dem Gerät: Damit ein Gerät nicht plötzlich eine große Anzahl von Traces sendet, begrenzen wir die Anzahl der von einem Gerät gesendeten Code- und Netzwerkanfrage-Traces auf 300 Ereignisse alle 10 Minuten. Dieser Ansatz schützt das Gerät vor Instrumentierungen in Schleifen, die große Mengen an Leistungsdaten senden können, und verhindert, dass ein einzelnes Gerät die Leistungsmessungen verzerrt.
Dynamische Stichprobenerhebung: Performance Monitoring erfasst täglich eine begrenzte Anzahl von Code-Traces und Netzwerkanfrage-Traces pro App für alle App-Nutzer. Auf Geräten wird eine dynamische Abtastrate (mit Firebase Remote Config) abgerufen, um zu bestimmen, ob ein zufälliges Gerät Traces erfassen und senden soll. Ein Gerät, das nicht für die Stichprobenerhebung ausgewählt wurde, sendet keine Ereignisse. Die dynamische Abtastrate ist app-spezifisch und wird so angepasst, dass das Gesamtvolumen der erfassten Daten unter dem Limit bleibt.
Projekte, für die die BigQuery-Integration aktiviert ist, erhalten ein höheres Limit für die Anzahl der Netzwerkanfrage-Traces.
Bei Nutzersitzungen werden zusätzliche, detaillierte Daten vom Gerät eines Nutzers gesendet. Zum Erfassen und Senden der Daten sind mehr Ressourcen erforderlich. Um die Auswirkungen von Nutzersitzungen zu minimieren, kann Performance Monitoring auch die Anzahl der Sitzungen einschränken.
Serverseitige Ratenbegrenzung: Damit Apps das Stichprobenlimit nicht überschreiten, kann Performance Monitoring serverseitige Stichproben verwenden, um einige von Geräten empfangene Ereignisse zu verwerfen. Diese Art der Einschränkung hat zwar keinen Einfluss auf die Effektivität unserer Messwerte, kann aber zu geringfügigen Musterverschiebungen führen, darunter:
- Die Anzahl der Traces kann sich von der Anzahl der Ausführungen eines Codeabschnitts unterscheiden.
- Traces, die im Code eng gekoppelt sind, können jeweils eine unterschiedliche Anzahl von Stichproben haben.
Was ist mit dem Tab Probleme in der Console passiert?
Wir haben den Tab „Probleme“ durch die Einführung von Benachrichtigungen ersetzt. Sie werden automatisch benachrichtigt, wenn die von Ihnen festgelegten Grenzwerte überschritten werden. Sie müssen die Firebase-Konsole nicht mehr manuell prüfen, um den Status eines Grenzwerts zu ermitteln. Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungen zu Leistungsproblemen einrichten.
Was ist mit den Tabs Auf dem Gerät und Netzwerk in der Console passiert? Wie kann ich die Traces auf diesen Seiten aufrufen?
Wir haben den Bereich Performance Monitoring der Firebase Console neu gestaltet, sodass auf dem Tab Dashboard Ihre wichtigsten Messwerte und alle Traces an einem Ort angezeigt werden. Im Rahmen der Neugestaltung haben wir die Seiten Auf dem Gerät und Netzwerk entfernt.
Die Tabelle mit den Traces unten auf dem Tab Dashboard enthält dieselben Informationen wie die Tabs Auf dem Gerät und Netzwerk, bietet aber zusätzliche Funktionen. Sie können Ihre Traces beispielsweise nach der prozentualen Änderung eines bestimmten Messwerts sortieren. Wenn Sie alle Messwerte und Daten für einen bestimmten Trace aufrufen möchten, klicken Sie in der Trace-Tabelle auf den Trace-Namen.
Sie können sich Ihre Traces auf den folgenden Unterreitern der Trace-Tabelle ansehen:
- Netzwerkanfrage-Traces (vordefiniert und benutzerdefiniert) – Untertab Netzwerkanfragen
- Benutzerdefinierte Code-Traces – Untertab Benutzerdefinierte Traces
- Traces für App-Start, App im Vordergrund und App im Hintergrund – Untertab Benutzerdefinierte Traces
- Bildschirm-Rendering-Traces – Untertab Bildschirm-Rendering
- Seitenaufbau-Traces – Untertab Seitenaufbau
Weitere Informationen zur Tabelle mit Traces und zum Aufrufen von Messwerten und Daten finden Sie auf der Übersichtsseite der Console (iOS+ | Android | Web).
Warum entspricht die Anzahl der langsamen und eingefrorenen Frames nicht meinen Erwartungen?
Langsam gerenderte und eingefrorene Frames werden mit einer angenommenen Geräteaktualisierungsrate von 60 Hz berechnet. Wenn die Aktualisierungsrate eines Geräts unter 60 Hz liegt, ist die Renderingzeit für jeden Frame länger, da pro Sekunde weniger Frames gerendert werden. Längere Renderingzeiten können dazu führen, dass mehr langsame oder eingefrorene Frames gemeldet werden, da mehr Frames langsamer gerendert werden oder einfrieren. Wenn die Aktualisierungsrate eines Geräts jedoch höher als 60 Hz ist, ist die Renderingzeit pro Frame kürzer. Dies kann dazu führen, dass weniger langsame oder eingefrorene Frames gemeldet werden. Dies ist eine aktuelle Einschränkung im Performance Monitoring SDK.
Warum kann ich keine Fragment-Traces sehen?
Wenn Sie neben der App-Aktivität auch die Leistung von Fragmenten sehen möchten, muss Ihre App die Performance Monitoring Android SDK-Version 20.1.0 oder höher verwenden. Weitere Informationen finden Sie unter Performance Monitoring zu Ihrer App hinzufügen.
Wie kann ich herausfinden, welche Traces mit Fragmenten und Aktivitäten zusammenhängen?
Die einzelnen Fragment- und Aktivitäts-Traces basieren auf dem Klassennamen, der in Ihrer Anwendung definiert ist. Jeder Bildschirm-Trace enthält das Präfix st, gefolgt vom Namen der Klasse. In der Firebase Console wird das Präfix entfernt. Weitere Informationen finden Sie unter Leistungsdaten für das Bildschirm-Rendering (Apple- und Android-Apps) .
Warum sehe ich weniger Fragment-Traces als andere Traces?
Performance Monitoring führt eine Ereignisstichprobe für alle auf einem Gerät erfassten Ereignisse durch. 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 Anwendung gibt?
Mit Performance Monitoring können Sie Benachrichtigungen für die Messwerte einrichten, die für Sie wichtig sind. Für generierte Traces für das Bildschirm-Rendering können Sie Benachrichtigungen einrichten, um benachrichtigt zu werden, wenn der Prozentsatz der langsamen und eingefrorenen Frames einen von Ihnen festgelegten Grenzwert überschreitet.
Meine Build-Zeiten sind hoch, nachdem ich das Gradle-Plug-in Performance Monitoring aktiviert habe. Wie kann ich das verbessern?
Performance Monitoring für Android verwendet Bytecode-Instrumentierung, um einige vordefinierte Funktionen wie das Monitoring von HTTP/S-Netzwerkanfragen bereitzustellen. Im Rahmen der Kompilierung müssen alle Klassen Ihrer App (einschließlich Abhängigkeiten) durchlaufen werden, um den Code zu instrumentieren, der für die Messung der Leistung von Netzwerkanfragen Ihrer Anwendung entscheidend ist.
Hier sind einige wichtige Faktoren, die zu einer längeren Build-Dauer beitragen:
- Anzahl der Klassen oder Dateien
- Größe jeder dieser Klassen (Codezeilen)
- Ihre Maschinenkonfiguration
- Erster Build im Vergleich zu einem nachfolgenden Build (nachfolgende Builds sind in der Regel schneller als der erste Build)
Wenn Sie die Build-Dauer optimieren möchten, sollten Sie Ihren Code modularisieren.
Ab v1.3.3 des Performance Monitoring-Plug-ins haben wir uns darauf konzentriert, erhebliche Verbesserungen bei der inkrementellen Build-Verarbeitung und beim Caching von Bibliothekseingaben vorzunehmen. Wenn Sie die neuesten Verbesserungen der Build-Zeit nutzen möchten, verwenden Sie die aktuelle Version des Plug-ins (v2.0.2).
Sie können das Performance Monitoring-Plug-in für Ihre Debug-Builds lokal deaktivieren, um lange Build-Zeiten zu vermeiden. Dieser Ansatz wird jedoch nicht für Produktions-Builds empfohlen, da er dazu führen kann, dass Leistungsmessungen für die Netzwerkanfragen in Ihrer App nicht durchgeführt werden.
Was kann ich tun, wenn ich Build-Fehler aufgrund von inkompatiblen Bibliotheken mit dem Performance Monitoring-Gradle-Plug-in erhalte?
Performance Monitoring für Android verwendet Bytecode-Instrumentierung, um einige vordefinierte Funktionen wie das Monitoring von HTTP/S-Netzwerkanfragen bereitzustellen. Im Rahmen der Kompilierung müssen alle Klassen Ihrer App (einschließlich Abhängigkeiten) durchlaufen werden, um den Code zu instrumentieren, der für die Messung der Leistung von Netzwerkanfragen Ihrer Anwendung entscheidend ist.
Wenn nach der Einbindung des Performance Monitoring-Plug-ins Build-Fehler wie JSR/RET are not supported with
computeFrames option oder ähnliche Fehler auftreten, kann das daran liegen, dass Sie auch eine Abhängigkeit von einer Bibliothek haben, die mit dem Performance Monitoring-Gradle-Plug-in nicht kompatibel ist.
Um dieses Problem zu umgehen, können Sie inkompatible Klassen/Bibliotheken von der Instrumentierung ausschließen. Gehen Sie dazu so vor:
- Aktualisieren Sie das Performance Monitoring-Gradle-Plug-in auf die aktuelle Version (mindestens v1.4.0).
- Aktualisieren Sie Ihr Android-Gradle-Plug-in auf Version 7.2.0 oder höher.
- Fügen Sie der Datei
build.gradleIhres Moduls (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") }) } }
excludederInstrumentation-API des Android-Gradle-Plug-ins finden Sie unter Instrumentation.
Wenn Sie Build-Fehler aufgrund inkompatibler Bibliotheken feststellen, melden Sie bitte ein GitHub-Problem, damit diese Bibliotheken auch von der Instrumentierung im Performance Monitoring-Plug-in ausgeschlossen werden können.
Der Export meiner Performance Monitoring-Daten nach BigQuery dauert länger als erwartet. Ist es nicht in Echtzeit?
Wenn Sie die BigQuery-Integration für Firebase Performance Monitoring aktiviert haben, werden Ihre Daten 12 bis 24 Stunden nach Ende des Tages (Pacific Time) nach BigQuery exportiert.
Beispiel: Die Daten für den 19. April sind am 20. April zwischen 12:00 Uhr und Mitternacht in BigQuery verfügbar (alle Datums- und Zeitangaben beziehen sich auf die Pacific Time).
Wie viele benutzerdefinierte URL-Muster kann ich erstellen?
Sie können insgesamt bis zu 400 benutzerdefinierte URL-Muster pro App und bis zu 100 benutzerdefinierte URL-Muster pro Domain für diese App erstellen.
Datenverarbeitung und -anzeige nahezu in Echtzeit
Was bedeutet „Leistungsdaten nahezu in Echtzeit“?
Firebase Performance Monitoring verarbeitet erfasste Leistungsdaten, sobald sie eingehen. Dadurch werden die Daten in der Firebase-Konsole nahezu in Echtzeit angezeigt. Verarbeitete Daten werden innerhalb weniger Minuten nach der Erfassung in der Console angezeigt, daher der Begriff „nahezu in Echtzeit“.
Damit Sie die Datenverarbeitung nahezu in Echtzeit nutzen können, muss Ihre App eine echtzeitkompatible SDK-Version verwenden.
Wie erhalte ich Leistungsdaten für meine App nahezu in Echtzeit?
Wenn Sie die Datenverarbeitung nahezu in Echtzeit nutzen möchten, müssen Sie nur darauf achten, dass Ihre App eine Performance Monitoring SDK-Version verwendet, die mit der Datenverarbeitung in Echtzeit kompatibel ist.
Dies sind die mit Echtzeit kompatiblen SDK-Versionen:
- iOS: Version 7.3.0 oder höher
- tvOS: v8.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: v7.14.0 oder höher
Wir empfehlen, immer die aktuelle SDK-Version zu verwenden. Mit allen oben aufgeführten Versionen kann Performance Monitoring Ihre Daten jedoch nahezu in Echtzeit verarbeiten.
Welche Versionen des Performance Monitoring SDK gelten als echtzeitkompatibel?
Diese SDK-Versionen sind mit der Echtzeit-Datenverarbeitung kompatibel:
- iOS: Version 7.3.0 oder höher
- tvOS: v8.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: v7.14.0 oder höher
Wir empfehlen, immer die aktuelle SDK-Version zu verwenden. Mit allen oben aufgeführten Versionen kann Performance Monitoring Ihre Daten jedoch nahezu in Echtzeit verarbeiten.
Was passiert, wenn ich meine App nicht auf eine SDK-Version aktualisiere, die mit Echtzeit-Updates kompatibel ist?
Wenn Ihre App keine echtzeitkompatible SDK-Version verwendet, werden Ihnen trotzdem alle Leistungsdaten Ihrer App in der Firebase Console angezeigt. Die Anzeige der Leistungsdaten wird jedoch um etwa 36 Stunden ab dem Zeitpunkt der Erhebung verzögert.
Ich habe auf eine SDK-Version aktualisiert, die mit Echtzeit kompatibel ist, aber einige meiner Nutzer verwenden noch alte Versionen meiner App. Sehe ich ihre Leistungsdaten weiterhin in der Firebase-Konsole?
Sehr gut. Unabhängig davon, welche SDK-Version eine App-Instanz verwendet, werden Leistungsdaten von allen Nutzern angezeigt.
Wenn Sie sich jedoch aktuelle Daten ansehen (weniger als etwa 36 Stunden alt), stammen die angezeigten Daten von Nutzern von App-Instanzen, die eine echtzeitkompatible SDK-Version verwenden. Die nicht aktuellen Daten enthalten jedoch Leistungsdaten aus allen Versionen Ihrer App.
Warum werden die Leistungsdaten nicht in Echtzeit angezeigt?
Wenn Sie Leistungsdaten in Echtzeit sehen möchten, muss Ihre App eine Performance Monitoring-SDK-Version verwenden, die mit der Echtzeit-Datenverarbeitung kompatibel ist.
- iOS: Version 7.3.0 oder höher
- tvOS: v8.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: v7.14.0 oder höher
Wir empfehlen, immer die aktuelle SDK-Version zu verwenden. Mit allen oben aufgeführten Versionen kann Performance Monitoring Ihre Daten jedoch nahezu in Echtzeit verarbeiten.
Firebase-Support kontaktieren
Wenn Sie sich an den Firebase-Support wenden, geben Sie immer Ihre Firebase-App-ID an. Sie finden Ihre Firebase-App-ID auf der Karte Meine Apps in den settings Projekteinstellungen.