Diese Seite enthält Tipps zur Fehlerbehebung bei den ersten Schritten mit Leistungsüberwachung oder Funktionen und Werkzeuge, mit Performance-Überwachung.
Erste Kontrollen zur Fehlerbehebung
Die beiden folgenden Prüfungen sind allgemein am besten für alle empfohlenen Verfahren vor der weiteren Fehlerbehebung.
Überprüfen Sie Protokollmeldungen für Leistungsereignisse 1.
Überprüfen Sie Ihre Log-Meldungen sicher sein, dass die Performance-SDK Überwachung der Leistung Ereignisse aufzeichnet.
Öffnen Sie Ihren Browser-Entwickler - Tools (zB Registerkarte Netzwerk für Chrome Dev -Tools oder im Netzwerkmonitor für Firefox ).
Aktualisieren Sie Ihren Web-App im Browser.
Überprüfen Sie Ihre Log-Meldungen für Fehlermeldungen.
Nach ein paar Sekunden, nach einem Netzanruf zu
firebaselogging.googleapis.com
in Ihrem Browser - Entwickler - Tools. Das Vorhandensein dieses Netzes Anruf zeigt, dass die Browser-Leistungsdaten an Firebase sendet.
Wenn Ihre App nicht Performance - Events anmelden, die überprüfen Tipps zur Fehlerbehebung .
2. die Firebase Status Dashboard prüfen
Überprüfen Sie den Status - Dashboard - Firebase , falls es einen bekannten Ausfall für Firebase ist oder für Performance Monitoring.
Erste Schritte mit Performance Monitoring
Wenn Sie die ersten Schritte mit Performance - Monitoring ( iOS + | Android | Web ) können die folgenden Tipps zur Fehlerbehebung bei Problemen helfen , die Firebase Erfassung des SDK beinhalten oder die Anzeige Ihrer ersten Spieldaten in der Konsole Firebase.
Firebase kann erkennen, ob Sie erfolgreich die Performance-Monitoring-SDK in Ihrer App hinzugefügt haben, wenn es Ereignisinformationen empfängt (wie App-Wechselwirkungen) aus Ihrer Anwendung. In der Regel innerhalb von 10 Minuten nach dem Start der App, die Performance - Dashboard der Konsole zeigt ein Firebase „SDK erkannt“ -Meldung. Dann innerhalb von 30 Minuten, die Dashboardanzeigen der ersten verarbeiteten Daten.
Wenn es mehr als 10 Minuten vergangen sind , seit Sie die neueste Version von SDK in Ihrer App hinzugefügt, und du bist immer noch keine Veränderung zu sehen, überprüfen Sie die Log - Nachrichten , um sicherzustellen , dass Performance Monitoring Ereignisse protokolliert. Versuchen Sie, die entsprechenden Schritte zur Fehlerbehebung wie unten beschrieben, eine verzögerte SDK Erkennungsnachricht zu beheben.
Wenn Sie immer noch vor Ort zu entwickeln, versucht, mehr Veranstaltungen für die Datenerfassung zu erzeugen:
Servieren Sie und Ihren Web-App in einer lokalen Umgebung anzuzeigen.
Generieren Sie Ereignisse durch das Laden subpages für Ihre Website, die Interaktion mit Ihrer App und / oder Triggernetzwerkanforderungen. Achten Sie auf den Browser-Tab geöffnet zu halten für mindestens 10 Sekunden, nachdem der Seite geladen wird.
Stellen Sie sicher , dass Ihr Firebase Konfigurationsobjekt korrekt zu Ihrer Anwendung hinzugefügt wird und dass Sie das Objekt nicht geändert haben. Insbesondere überprüfen Sie folgende Punkte:
- Die Firebase Web App - ID (
appId
) in dem Config - Objekt ist für Ihre Anwendung korrekt. Finden Sie Ihre Firebase App - ID in der Ihre Apps Karte Ihrer Projekteinstellungen .
Wenn etwas mit dem Config-Objekt in Ihrer Anwendung falsch scheint, versuchen Sie Folgendes:
Löschen Sie das Config-Objekt, das Sie derzeit in Ihrer Anwendung haben.
Befolgen Sie diese Anweisungen ein neues Config - Objekt zu erhalten , und fügen Sie Ihren Web - App.
- Die Firebase Web App - ID (
Wenn das SDK ist die Protokollierung von Ereignissen und alles scheint richtig eingerichtet werden, aber du bist immer noch nicht die SDK Erkennungsnachricht zu sehen oder verarbeiteten Daten (nach 2 Stunden), Kontakt Firebase - Support .
Stellen Sie sicher , dass die Performance - SDK Überwachung korrekt initialisiert in Ihrer Anwendung.
Stellen Sie sicher , dass die Performance - SDK Überwachung wird nicht durch das folgende Flag deaktiviert:
-
performance.instrumentationEnabled
-
Stellen Sie sicher , dass Ihr Browser - Caching deaktiviert ist , da sonst der Browser abholen könnte keine neue Instrumentierung Einstellungen.
Schließen, öffnen Sie dann die Webseite Registerkarte. Überprüfen Sie noch einmal für die Anmeldung.
Wenn Sie nur die Performance-Monitoring-SDK in Ihrer App, müssen Sie vollständig Ihre Anwendung neu starten, damit das SDK zu arbeiten.
Wenn Sie nichts finden , dass in Ihrer App deaktiviert ist Kontakt Firebase - Support .
Performance Monitoring - Prozesse Spielereignisdaten , bevor es in der Anzeige von Performance Dashboard .
Wenn es mehr als 24 Stunden her ist , seit die „SDK erkannt“ Meldung angezeigt , und Sie sind immer noch keine Daten sehen, dann überprüfen Sie die Firebase Status Dashboard , falls es ein bekannter Ausfall. Wenn es keinen Ausfall, Kontakt Firebase - Support .
Allgemeine Hinweise zur Fehlerbehebung
Wenn Sie das SDK erfolgreich und werden mit Leistungsüberwachung in Ihrer Anwendung die folgenden Tipps zur Fehlerbehebung können hinzugefügt haben sich mit allgemeinen Fragen helfen, die Performance-Monitoring-Funktionen und Werkzeuge beinhalten.
Wenn Sie nicht sehen , Log - Meldungen für Leistungsereignisse , versuchen Sie die folgenden Schritte zur Fehlerbehebung:
Stellen Sie sicher , dass die Performance - SDK Überwachung korrekt initialisiert in Ihrer Anwendung.
Stellen Sie sicher , dass die Performance - SDK Überwachung wird nicht durch das folgende Flag deaktiviert:
-
performance.instrumentationEnabled
-
Stellen Sie sicher , dass Ihr Browser - Caching deaktiviert ist , da sonst der Browser abholen könnte keine neue Instrumentierung Einstellungen.
Schließen, öffnen Sie dann die Webseite Registerkarte. Überprüfen Sie noch einmal für die Anmeldung.
Wenn Sie nur die Performance-Monitoring-SDK in Ihrer App, müssen Sie vollständig Ihre Anwendung neu starten, damit das SDK zu arbeiten.
Wenn Sie nichts finden , dass in Ihrer App deaktiviert ist Kontakt Firebase - Support .
Wenn Sie keine Daten für die sehenden erste Eingangsverzögerungsmetrik , versuchen Sie die folgenden Schritte zur Fehlerbehebung:
Beachten Sie, dass Leistung nur Überwachung erfasst die erste Eingangsverzögerung Metrik , wenn ein Benutzer klickt auf der Web - Seite innerhalb der ersten 5 Sekunden nach dem Laden der Seite.
Stellen Sie sicher, dass Sie Ihre Anwendung eingerichtet haben diese Metrik zu messen. Die erste Eingangsverzögerungs metric erfordert manuelle Einrichtung . Insbesondere müssen Sie die polyfill Bibliothek für diese Metrik hinzuzufügen. Installationsanweisungen finden Sie in der Bibliothek Dokumentation .
Beachten Sie, dass diese polyfill Bibliothek Hinzufügen nicht für Performance Monitoring erforderlich ist, andere Web-App-Metriken zu melden.
Sind Sie sehen Leistungsdaten für Spuren automatisch gesammelt , aber nicht für benutzerdefinierte Code Spuren ? Versuchen Sie die folgenden Schritte zur Fehlerbehebung:
Überprüfen Sie die Einrichtung von benutzerdefinierten Code Spuren über die instrumentierte Trace - API , insbesondere die folgenden:
- Namen für benutzerdefinierte Code Spuren und benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine führende oder nachfolgende Leerzeichen, keine führende Unterstrich (
_
) Zeichen und maximale Länge 32 Zeichen ist. - Alle Spuren müssen gestartet und gestoppt werden. Jede Spur, die nicht gestartet wird, nicht angehalten oder gestoppt, bevor begonnen wird nicht protokolliert.
Beachten Sie, dass , wenn Sie die verwenden
record()
Methode, dann müssen Sie nicht explizit müssen anfangen oder Ihre Spur zu stoppen.- Namen für benutzerdefinierte Code Spuren und benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine führende oder nachfolgende Leerzeichen, keine führende Unterstrich (
Stellen Sie sicher , dass Performance - Monitoring - Datenerfassung ist nicht gesperrt durch die folgende Flagge:
performance.dataCollectionEnabled
Dieses Flag steuert die Sammlung von Daten für die individuellen Codespuren nur (nicht alle Daten).
Überprüfen Sie Ihre Log - Meldungen , um sicherzustellen , dass Performance Monitoring erwarteten Spuren benutzerdefinierten Code protokolliert.
Wenn Performance Monitoring ist die Protokollierung von Ereignissen, aber keine Datenanzeigen nach 24 Stunden Kontakt Firebase - Support .
Wenn Sie Netzwerkanforderungsdaten fehlt, beachten Sie die folgenden Möglichkeiten:
Performance-Überwachung automatisch sammelt Metriken für Netzwerk-Anfragen durch den Browser API gemeldet. Diese Berichte enthalten keine failed Netzwerkanforderungen.
Je nach Verhalten des Codes und die Vernetzung von Ihrem Code verwendeten Bibliotheken, könnte nur Performance Monitoring auf Netzwerkanforderungen berichtet, die abgeschlossen sind. Dies bedeutet, dass HTTP / S-Verbindungen, die offen Macht gelassen wird nicht gemeldet werden.
Erfahren Sie mehr über , wie Performance - Monitoring - Aggregate Netzwerk Anforderungsdaten unter URL - Muster.
Sie können auch versuchen , benutzerdefinierte URL - Muster !
FAQ
Performance Monitoring sammelt Leistungsdaten von Ihrer App Benutzergeräten. Wenn Ihre Anwendung hat viele Benutzer oder wenn die App eine große Menge an Leistung Aktivität erzeugt, könnte Performance Monitoring Datensammlung begrenzt auf eine Teilmenge von Geräten, die Anzahl der verarbeiteten Ereignisse zu reduzieren. Diese Grenzen sind hoch genug, so dass auch bei weniger Ereignissen, die metrischen Werte sind nach wie vor repräsentativ für Ihre Benutzer-App-Erfahrung.
Um die Datenmenge zu verwalten, dass wir sammeln, nutzt Performance Monitoring folgende Probenahmemöglichkeiten:
On-Device - Rate Limiting : Um ein Gerät zu senden plötzliche Ausbrüche von Spuren zu verhindern, begrenzen wir die Anzahl der Code und Netzwerk - Anforderung Spuren von einem Gerät alle 10 Minuten bis 300 Ereignisse gesendet. Dieser Ansatz schützt das Gerät vor geschleift Instrumentierungen, die großen Mengen von Leistungsdaten senden kann, und es verhindert, dass ein einzelnes Gerät aus den Performance-Messungen verfälscht hat.
Dynamisierung: Performance - Überwachung sammelt etwa 100M Ereignisse für die Codespuren und 100M für Netzwerkanfrage Spuren pro App für alle App - Benutzer. Eine dynamische Abtastrate geholt auf Geräten (unter Verwendung von Firebase Fern Config), um zu bestimmen, ob eine Zufall Vorrichtung sollte Spuren erfassen und senden. Ein Gerät, das nicht ausgewählt wird, für die Probenahme keine Ereignisse senden. Die dynamische Abtastrate app spezifische und paßt unter der Grenze, dass die Gesamtmenge der gesammelten Daten Reste zu gewährleisten.
Benutzersitzungen senden zusätzliche, detaillierte Daten von einem Gerät des Benutzers, mehr Mittel für die Erfassung erforderlich ist und die Daten senden. Um die Auswirkungen von Benutzersitzungen, Performance Monitoring zu minimieren könnte auch die Anzahl der Sitzungen beschränken.
Serverseitige Rate Limiting : Um sicherzustellen , dass Anwendungen nicht überschreiten die Sampling - Grenze, Leistungsüberwachung verwenden könnte , serverseitige Abtasten einige Ereignisse von Geräten empfangen fallen. Obwohl diese Art die Wirksamkeit unserer Metriken nicht der Begrenzung ändern, kann es kleinere Muster Verschiebungen verursachen, einschließlich der folgenden:
- Die Anzahl der Spuren kann von der Anzahl, wie oft unterscheidet, dass ein Stück des Codes ausgeführt wurde.
- Spuren, die eng gekoppelt sind, in Codes eine unterschiedliche Anzahl von Proben, die jeweils aufweisen.
Wir ersetzten die Registerkarte Issues mit der Einführung von Alerts, die benachrichtigt Sie automatisch, wenn die Schwellenwerte Sie überschritten eingestellt. Sie müssen nicht mehr manuell die Firebase Konsole den Status eines Schwellen zu bestimmen. Um zu erfahren , über Warnungen finden Richten Sie Benachrichtigungen über Performance - Probleme .
Wir haben den Performance - Überwachung Abschnitt der Konsole neu gestaltete Firebase so dass der Registerkarte Dashboard zeigt Ihre wichtigsten Kennzahlen und alle Ihre Spuren in einem Raum. Im Rahmen der Neugestaltung, entfernten wir das auf Gerät und Netzwerk - Seiten.
Die Spuren Tabelle am unteren Rand der Registerkarte Dashboard hat alle die gleichen Informationen , dass die On - Gerät und Netzwerk - Registerkarten angezeigt, aber mit einigen zusätzlichen Features, einschließlich der Fähigkeit , Ihre Spuren für eine bestimmte Metrik um die prozentuale Änderung zu sortieren. Um alle Messwerte und Daten für eine bestimmte Spur zu sehen, klicken Sie auf die Spur Namen in den Spuren Tabelle.
Sehen Sie Ihre Spuren in den folgenden Unterreiter der Spuren Tabelle:
- Netzwerkanforderung Spuren (beide out-of-the-box und benutzerdefinierte) - Netzwerk fordert Subreiter
- Benutzerdefinierte Code Spuren - Individuelle Spuren Subreiter
- App starten, app-in-Vordergrund, app-in-Hintergrund Spuren - Spuren Individuelle Subreiter
- Screen Rendering - Spuren - Screen Rendering Subreiter
- Seitenladespuren - Seite Last Subreiter
Weitere Einzelheiten zu den Spuren Tabelle und Anzeigen von Metriken und Daten finden Sie auf der Konsole Übersichtsseite ( iOS + | Android | Web ).
Performance Monitoring unterstützen Warnungen für Metriken , die festgelegten Schwellenwerte überschreiten. Um Verwechslungen mit diesen konfigurierbaren Schwellenwerte für Performance - Metriken zu vermeiden, entfernten wir die Fähigkeit zu konfigurieren Schwellenwerte für Probleme .
Wenn Performance Monitoring der einzige Firebase Produkt in Ihrer Anwendung ist, können Sie das Standalone-Performance-Monitoring-SDK verwenden (und die empfohlene Kopf Skript unten), wenn Sie interessiert sind:
- unter Verwendung einer Bibliothek Namespace
- Reduzieren Sie Ihre SDK Paketgröße
- Verzögerung der Initialisierung des SDK erst nach Ihrer Seite geladen
So schließen Sie die Standalone-Performance-Monitoring-SDK in Ihrer App und verzögern seine Initialisierung nach Ihrer Seite geladen wird:
- Fügen Sie das folgende Skript in den Kopf Ihrer Indexdatei.
- Stellen Sie sicher , dass Ihre App hinzufügen Firebase Projekt Konfigurationsobjekt .
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
wo,
- performance_standalone ist
'https://www.gstatic.com/firebasejs/9.8.1/firebase-performance-standalone.js'
- firebaseConfig ist Ihre App - Objekt Firebase Config
Das obige Skript lädt asynchron das eigenständige SDK initialisiert dann Firebase nach dem Fenster onload
Ereignis ausgelöst wird . Diese Taktik reduziert die Auswirkungen , die das SDK auf haben könnte Seite Last - Metriken , da der Browser bereits seine Lade Metriken berichtet hat , wenn Sie das SDK initialisieren.
In der Nähe von Echtzeit-Datenverarbeitung und Anzeige
Firebase Performance-Monitoring-Prozesse Leistungsdaten gesammelt, wie es kommt, die Ergebnisse nahezu in Echtzeitdatenanzeige in der Feuerbasis Konsole. Verarbeiteten Daten werden in der Konsole innerhalb von wenigen Minuten von seiner Sammlung, daher der Begriff „nahezu in Echtzeit“.
Um die Vorteile der nahezu in Echtzeit - Datenverarbeitung zu nehmen, stellen Sie sicher , dass Ihre App eine nutzt Echtzeit - kompatiblen SDK - Version .
Um die Vorteile der nahezu in Echtzeit-Datenverarbeitung zu nehmen, brauchen Sie nur, um sicherzustellen, dass Ihre Anwendung eine Leistungsüberwachung SDK-Version verwendet, die mit Echtzeit-Datenverarbeitung kompatibel ist.
Dies sind die Echtzeit-kompatibel SDK-Versionen:
- iOS - v7.3.0 oder höher
- tvOS - v8.9.0 oder höher
- Android - v19.0.10 oder höher (oder Firebase Android BoM v26.1.0 oder höher)
- Web - v7.14.0 oder höher
Beachten Sie, dass wir mit der neuesten Version von SDK immer empfehlen, aber jede Version oben aufgeführten ermöglicht Performance-Monitoring-Daten nahezu in Echtzeit zu verarbeiten.
Dies sind die SDK-Versionen kompatibel mit Echtzeit-Datenverarbeitung:
- iOS - v7.3.0 oder höher
- tvOS - v8.9.0 oder höher
- Android - v19.0.10 oder höher (oder Firebase Android BoM v26.1.0 oder höher)
- Web - v7.14.0 oder höher
Beachten Sie, dass wir mit der neuesten Version von SDK immer empfehlen, aber jede Version oben aufgeführten ermöglicht Performance-Monitoring-Daten nahezu in Echtzeit zu verarbeiten.
Wenn Ihre App verwendet keine Echtzeit-kompatiblen SDK-Version, werden Sie noch in der Konsole Firebase zeige alle Spieldaten des App. Allerdings wird die Anzeige von Leistungsdaten von rund 36 Stunden ab dem Zeitpunkt seiner Sammlung verzögert werden.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .