Performance Monitoring nutzt Traces , um Daten über überwachte Prozesse in Ihrer App zu sammeln. Eine Ablaufverfolgung ist ein Bericht, der Daten enthält, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.
Für alle App-Typen erfasst die Leistungsüberwachung automatisch eine Ablaufverfolgung für jede von Ihrer App ausgegebene Netzwerkanforderung, einen sogenannten HTTP/S-Netzwerkanforderungs-Trace . Diese Ablaufverfolgungen erfassen Metriken für die Zeit zwischen der Ausgabe einer Anfrage Ihrer App an einen Dienstendpunkt und dem Abschluss der Antwort von diesem Endpunkt. Für jeden Endpunkt, an den Ihre App eine Anfrage stellt, erfasst die Leistungsüberwachung mehrere Metriken:
Antwortzeit – Zeit zwischen der Anfrage und dem vollständigen Empfang der Antwort
Größe der Antwortnutzlast – Bytegröße der von der App heruntergeladenen Netzwerknutzlast
Nutzlastgröße anfordern – Bytegröße der von der App hochgeladenen Netzwerknutzlast
Erfolgsquote – Prozentsatz erfolgreicher Antworten (Antwortcodes im Bereich von 100 bis 399) im Vergleich zur Gesamtzahl der Antworten
Sie können Daten aus diesen Ablaufverfolgungen auf der Unterregisterkarte „Netzwerkanforderungen“ der Ablaufverfolgungstabelle anzeigen, die sich unten im Leistungs- Dashboard befindet (weitere Informationen zur Verwendung der Konsole finden Sie weiter unten auf dieser Seite).
Die Leistungsüberwachung erfasst automatisch Metriken für Netzwerkanfragen, die die folgenden Netzwerkbibliotheken verwenden:
OkHttp3 , insbesondere HTTP-Client v3.xx
Javas URLConnection , insbesondere HttpURLConnection und HttpsURLConnection
Lesen Sie unbedingt die Informationen zum Entfernen des Apache HTTP-Clients und zur Ablehnung des Apache HTTP-Clients, wenn Sie diese Bibliothek verwenden.
Passen Sie die Aggregation von Netzwerkanforderungsdaten an
Zusätzlich zu den sofort einsatzbereiten Tools und der Datenaggregation für Netzwerkanfragen unterstützt Performance Monitoring auch die folgenden Optionen:
- Netzwerkanfrage-Traces manuell instrumentieren: Die sofort einsatzbereite Überwachung umfasst die meisten Netzwerkanfragen für Ihre App. Einige Anfragen werden jedoch möglicherweise nicht gemeldet, oder Sie verwenden möglicherweise eine andere Bibliothek, um Netzwerkanfragen zu stellen. In diesen Fällen können Sie die Performance Monitoring API verwenden, um benutzerdefinierte Netzwerkanforderungs-Traces manuell zu instrumentieren.
- Aggregieren Sie Daten unter benutzerdefinierten URL-Mustern: Wenn es bestimmte URLs gibt, die Firebase mit dem abgeleiteten automatischen URL-Musterabgleich nicht erfasst, können Sie benutzerdefinierte URL-Muster erstellen, um eine bestimmte Gruppe von URLs im Laufe der Zeit zu überwachen.
- Passen Sie an, wie die Erfolgsquote berechnet wird: Manchmal wird ein Fehlercode für bestimmte API-Endpunkte erwartet oder wird bereits in Ihrer App behandelt. In diesen Fällen können Sie konfigurieren, wie die Erfolgsquote berechnet wird, und die Erfolgsquote der Netzwerkaufrufe Ihrer App genauer überwachen.
Datenaggregation unter URL-Mustern
Firebase Performance Monitoring aggregiert automatisch Daten für ähnliche Netzwerkanfragen, um Ihnen zu helfen, Trends in der Leistung Ihrer Netzwerkanfragen zu verstehen.
Bei jeder Anfrage prüft Firebase, ob die URL der Netzwerkanfrage mit einem URL-Muster übereinstimmt. Wenn die Anfrage-URL mit einem URL-Muster übereinstimmt, aggregiert Firebase die Daten der Anfrage automatisch unter dem URL-Muster. Firebase zeigt URL-Muster und ihre aggregierten Daten auf der Registerkarte „Netzwerk“ im Leistungs- Dashboard der Firebase-Konsole an.
Was ist ein URL-Muster?
Ein URL-Muster enthält eine Domäne und ein Muster, das mit einem URL-Pfad übereinstimmen kann, zum Beispiel: example.com/*/animals/**
.
URL-Muster können die folgenden Pfadsegmente enthalten:
- Klartext – entspricht einer genauen Zeichenfolge
-
*
– entspricht einer beliebigen Zeichenfolge in einem einzelnen Pfadsegment -
**
– entspricht einem beliebigen Pfadsuffix
URL-Muster können entweder sein:
- Von Firebase abgeleitete Muster – sogenannte automatische URL-Muster
- Benutzerdefinierte Muster – sogenannte benutzerdefinierte URL-Muster
Beispiel: Jede der folgenden URL-Anfragen könnte mit dem URL-Muster example.com/*/animals/**
übereinstimmen.
-
example.com/singapore/animals
-
example.com/australia/animals/spiders
-
example.com/australia/animals/marsupials/koala.png
Die Domäne für ein URL-Muster kann auch *
als erstes Segment enthalten, zum Beispiel: *.example.com/*/fruits/**
.
Firebase ordnet jede Anfrage nur einem URL-Muster zu. Wenn Sie benutzerdefinierte URL-Muster konfiguriert haben, versucht Firebase zunächst, die Anforderungs-URLs diesen Mustern zuzuordnen. Wenn Firebase kein passendes benutzerdefiniertes URL-Muster findet, ordnet es eine Anfrage-URL dem repräsentativsten automatischen URL-Muster zu. Erfahren Sie in den folgenden Abschnitten mehr über automatische und benutzerdefinierte URL-Muster.
Automatische URL-Muster
Ohne dass Sie eine Konfiguration vornehmen müssen, versucht die Leistungsüberwachung, das aktuelle Nutzungsverhalten Ihrer App widerzuspiegeln, indem die Anfragen Ihrer App automatischen URL-Mustern zugeordnet werden.
Wie funktioniert der automatische URL-Musterabgleich?
Firebase ordnet jede Anfrage dem repräsentativsten automatischen URL-Muster zu, das es aus von Ihrer App gesendeten Anfragen abgeleitet hat. Beachten Sie jedoch, dass Firebase zunächst versucht, Anforderungs-URLs allen konfigurierten benutzerdefinierten URL-Mustern zuzuordnen.
Im Folgenden finden Sie ein einfaches Beispiel dafür, wie Firebase versucht, Anfragen dem repräsentativsten automatischen URL-Muster für Ihre App zuzuordnen.
Ihre App sendet viele Anfragen an URLs wie:
-
example.com/germany/animals/bears
-
example.com/germany/animals/birds
-
example.com/germany/cars
Firebase stellt fest, dass
example.com/germany/**
ein häufiges Anforderungsmuster für Ihre App ist, und fügt es Ihrem Projekt als automatisches URL-Muster hinzu.Für alle neuen passenden Anfragen zu diesem URL-Muster aggregiert Firebase die Daten der Anfragen unter dem automatischen URL-Muster
example.com/germany/**
.-
Nach einer Woche richten sich die meisten Anfragen Ihrer App an
example.com/germany/animals/bears
undexample.com/germany/animals/birds
. Daher leitet Firebase ein repräsentativeres URL-Muster vonexample.com/germany/animals/**
ab.Für alle neuen passenden Anfragen zu diesem neuen URL-Muster aggregiert Firebase die Daten der Anfragen nur unter dem neuen URL-Muster. Firebase aggregiert weiterhin Daten für Anfragen an
example.com/germany/cars
unterexample.com/germany/**
.Allerdings nehmen die Anfragen Ihrer App an
example.com/germany/animals/bears
undexample.com/germany/animals/birds
in den nächsten Wochen erheblich ab. Firebase stellt fest, dassexample.com/germany/animals/**
nicht repräsentativ für das aktuelle Nutzungsverhalten Ihrer App ist. Daher beginnt Firebase damit, diese beiden Anfragen wieder mitexample.com/germany/**
abzugleichen.Firebase aggregiert keine weiteren Anfragedaten unter
example.com/germany/animals/**
, da es sich nicht mehr um das repräsentativste automatische URL-Muster handelt.
Da der automatische URL-Musterabgleich dynamisch ist, beachten Sie Folgendes:
Übereinstimmungen und aggregierte Daten aus früheren Anfragen werden von neuen URL-Mustern nicht beeinflusst. Firebase aggregiert die Anforderungsdaten nicht rückwirkend neu.
Nur zukünftige Anfragen sind von neuen URL-Mustern betroffen. Firebase ordnet jede neue Anfrage dem repräsentativsten automatischen URL-Muster zu. Beachten Sie jedoch, dass Firebase zunächst versucht, Anforderungs-URLs allen konfigurierten benutzerdefinierten URL-Mustern zuzuordnen.
Sehen Sie sich automatische URL-Muster und deren Daten an
Firebase zeigt alle URL-Muster und ihre aggregierten Daten auf der Unterregisterkarte „Netzwerkanforderungen “ der Traces-Tabelle an, die sich unten im Leistungs- Dashboard der Firebase-Konsole befindet.
Möglicherweise sehen Sie URL-Muster mit der Bezeichnung „Nicht kategorisiert“ . Hierbei handelt es sich um „breite“ automatische URL-Muster, mit denen Firebase Daten für Anfragen aggregieren kann, die keinem spezifischeren URL-Muster entsprechen.
Wenn der Datenaufbewahrungszeitraum für die unter einem URL-Muster aggregierten Daten endet, löscht Firebase diese Daten aus dem URL-Muster. Wenn alle unter einem automatischen URL-Muster aggregierten Daten ablaufen, löscht Firebase dieses URL-Muster aus der Firebase-Konsole.
Benutzerdefinierte URL-Muster
Sie können benutzerdefinierte URL-Muster erstellen, um bestimmte URL-Muster zu überwachen, die Firebase mit dem abgeleiteten automatischen URL-Musterabgleich nicht erfasst. Sie können beispielsweise ein benutzerdefiniertes URL-Muster verwenden, um Fehler bei einer bestimmten URL zu beheben oder eine bestimmte Gruppe von URLs im Laufe der Zeit zu überwachen.
Weitere Informationen finden Sie unter Erstellen benutzerdefinierter URL-Muster .
Leistungsdaten verfolgen, anzeigen und filtern
Um Echtzeit-Leistungsdaten anzuzeigen, stellen Sie sicher, dass Ihre App eine Performance Monitoring SDK-Version verwendet, die mit der Echtzeit-Datenverarbeitung kompatibel ist. Erfahren Sie mehr über Echtzeit-Leistungsdaten .
Verfolgen Sie bestimmte Kennzahlen in Ihrem Dashboard
Um zu erfahren, wie Ihre wichtigsten Kennzahlen im Trend liegen, fügen Sie sie zu Ihrem Kennzahlen-Board oben im Performance- Dashboard hinzu. Sie können Regressionen schnell erkennen, indem Sie wöchentliche Änderungen sehen oder überprüfen, ob die jüngsten Änderungen in Ihrem Code die Leistung verbessern.
![ein Bild der Metriktafel im Firebase Performance Monitoring-Dashboard](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-metrics-board.png?authuser=6&hl=de)
Um eine Metrik zu Ihrem Metrik-Board hinzuzufügen, führen Sie die folgenden Schritte aus:
- Gehen Sie zum Performance- Dashboard in der Firebase-Konsole.
- Klicken Sie auf eine leere Metrikkarte und wählen Sie dann eine vorhandene Metrik aus, die Sie Ihrem Board hinzufügen möchten.
- Klicken Sie auf einer ausgefüllten Metrikkarte auf , um weitere Optionen anzuzeigen, beispielsweise zum Ersetzen oder Entfernen einer Metrik.
Das Metrik-Board zeigt gesammelte Metrikdaten im Zeitverlauf an, sowohl in grafischer Form als auch als numerische prozentuale Änderung.
Erfahren Sie mehr über die Verwendung des Dashboards .
Sehen Sie sich Traces und ihre Daten an
Um Ihre Traces anzuzeigen, gehen Sie zum Performance- Dashboard in der Firebase-Konsole, scrollen Sie nach unten zur Traces-Tabelle und klicken Sie dann auf die entsprechende Unterregisterkarte. Die Tabelle zeigt einige Top-Metriken für jede Spur an, und Sie können die Liste sogar nach der prozentualen Änderung für eine bestimmte Metrik sortieren.
Performance Monitoring bietet eine Fehlerbehebungsseite in der Firebase-Konsole, die Metrikänderungen hervorhebt, sodass Sie die Auswirkungen von Leistungsproblemen auf Ihre Apps und Benutzer schnell beheben und minimieren können. Sie können die Fehlerbehebungsseite verwenden, wenn Sie sich über potenzielle Leistungsprobleme informieren, beispielsweise in den folgenden Szenarien:
- Sie wählen relevante Kennzahlen im Dashboard aus und bemerken ein großes Delta.
- Sie sortieren die Traces-Tabelle so, dass oben die größten Deltas angezeigt werden, und Sie sehen eine deutliche prozentuale Änderung.
- Sie erhalten eine E-Mail-Benachrichtigung, die Sie über ein Leistungsproblem informiert.
Sie können auf die Fehlerbehebungsseite wie folgt zugreifen:
- Klicken Sie im Metrik-Dashboard auf die Schaltfläche „Metrikdetails anzeigen“ .
- Wählen Sie auf einer beliebigen Metrikkarte aus
- Klicken Sie in der Traces-Tabelle auf einen Trace-Namen oder einen beliebigen Metrikwert in der mit diesem Trace verknüpften Zeile.
- Klicken Sie in einer E-Mail-Benachrichtigung auf Jetzt untersuchen .
Wenn Sie in der Traces-Tabelle auf einen Trace-Namen klicken, können Sie einen Drilldown zu den interessierenden Metriken durchführen. Drücke den
![ein Bild von Firebase Performance Monitoring-Daten, die nach Attribut gefiltert werden](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-filter-by-attribute_native-1.png?authuser=6&hl=de)
- Filtern Sie nach App-Version , um Daten zu einer früheren Version oder Ihrer neuesten Version anzuzeigen
- Filtern Sie nach Gerät , um zu erfahren, wie ältere Geräte mit Ihrer App umgehen
- Filtern Sie nach Land, um sicherzustellen, dass Ihr Datenbankstandort keine Auswirkungen auf eine bestimmte Region hat
Erfahren Sie mehr über das Anzeigen von Daten für Ihre Traces .
Nächste Schritte
Erfahren Sie mehr über die Verwendung von Attributen zur Untersuchung von Leistungsdaten.
Erfahren Sie mehr darüber, wie Sie Leistungsprobleme in der Firebase-Konsole verfolgen .
Richten Sie Benachrichtigungen für Netzwerkanfragen ein , die die Leistung Ihrer App beeinträchtigen. Sie können beispielsweise eine E-Mail-Benachrichtigung für Ihr Team konfigurieren, wenn die Antwortzeit für ein bestimmtes URL-Muster einen von Ihnen festgelegten Schwellenwert überschreitet.
- Zeigen Sie detaillierte Berichte von Benutzersitzungen an, in denen Sie eine bestimmte Ablaufverfolgung im Zeitachsenkontext anderer Ablaufverfolgungen sehen können, die während derselben Sitzung erfasst wurden.