Performance Monitoring erfasst Traces, mit denen Sie die Leistung Ihrer App überwachen können. Ein Trace ist ein Bericht mit Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.
Sie können eigene Traces erstellen, um Leistungsdaten zu überwachen, die mit bestimmtem Code in Ihrer App verknüpft sind. Mit einem Trace für benutzerdefinierten Code können Sie messen, wie lange Ihre App für eine bestimmte Aufgabe oder eine Reihe von Aufgaben benötigt, z. B. für das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank.
Der Standardmesswert für einen benutzerdefinierten Code-Trace ist die „Dauer“ (die Zeit zwischen dem Start- und dem Endpunkt des Trace). Sie können aber auch benutzerdefinierte Messwerte hinzufügen.
In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Trace mithilfe der APIs, die vom Performance Monitoring SDK bereitgestellt werden.
Bei Android-Apps können Sie auch bestimmte Methoden mit der Annotation @AddTrace überwachen.
Benutzerdefinierte Code-Traces können jederzeit nach ihrer Erstellung gestartet werden und sind threadsicher.
Da der Standardmesswert für diese Traces „Dauer“ ist, werden sie manchmal als „Dauer-Traces“ bezeichnet.
Sie können Daten aus diesen Traces auf dem Untertab Benutzerdefinierte Traces der Trace-Tabelle unten im Dashboard Leistung aufrufen. Weitere Informationen zur Verwendung der Console finden Sie weiter unten auf dieser Seite.
Standardattribute, benutzerdefinierte Attribute und benutzerdefinierte Messwerte
Bei benutzerdefinierten Code-Traces protokolliert Performance Monitoring automatisch Standardattribute (allgemeine Metadaten wie App-Version, Land, Gerät usw.), sodass Sie die Daten für den Trace in der Firebase-Konsole filtern können. Sie können auch benutzerdefinierte Attribute (z. B. Spiellevel oder Nutzereigenschaften) hinzufügen und beobachten.Sie können einen benutzerdefinierten Code-Trace weiter konfigurieren, um benutzerdefinierte Messwerte für leistungsbezogene Ereignisse aufzuzeichnen, die im Rahmen des Trace auftreten. Sie können beispielsweise einen benutzerdefinierten Messwert für die Anzahl der Cache-Treffer und -Fehler oder die Anzahl der Fälle erstellen, in denen die Benutzeroberfläche für einen spürbaren Zeitraum nicht mehr reagiert.
Benutzerdefinierte Attribute und benutzerdefinierte Messwerte werden in der Firebase-Konsole zusammen mit den Standardattributen und dem Standardmesswert für den Trace angezeigt.
Benutzerdefinierte Code-Traces hinzufügen
Verwenden Sie die Performance Monitoring Trace API, um benutzerdefinierte Code-Traces hinzuzufügen und so bestimmten Anwendungscode zu überwachen.
Wichtige Hinweise:
- Eine App kann mehrere benutzerdefinierte Code-Traces haben.
- Es können mehrere benutzerdefinierte Code-Traces gleichzeitig ausgeführt werden.
- Namen für benutzerdefinierte Code-Traces müssen die folgenden Anforderungen erfüllen: keine führenden oder nachgestellten Leerzeichen, kein führender Unterstrich (
_) und maximal 100 Zeichen. - Benutzerdefinierte Code-Traces unterstützen das Hinzufügen von benutzerdefinierten Messwerten und benutzerdefinierten Attributen.
Wenn Sie einen benutzerdefinierten Code-Trace starten und beenden möchten, fügen Sie den Code, den Sie verfolgen möchten, in Codezeilen ein, die in etwa so aussehen (in diesem Beispiel wird der benutzerdefinierte Trace-Name test_trace verwendet):
Kotlin
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace myTrace.stop()
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace myTrace.stop();
(Optional) Bestimmte Methoden mit @AddTrace überwachen
Android-Apps unterstützen auch die Annotation @AddTrace, um benutzerdefinierte Code-Traces zu instrumentieren. Bei dieser Funktion beginnt der Trace am Anfang der angegebenen Methode und endet, wenn die Methode abgeschlossen ist, einschließlich aller von der Methode aufgerufenen Elemente.
Sie können beispielsweise einen benutzerdefinierten Code-Trace mit dem Namen onCreateTrace erstellen, der ausgeführt wird, wenn die Methode onCreate() aufgerufen wird.
Kotlin
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace // the `enabled` argument is optional and defaults to true @AddTrace(name = "onCreateTrace", enabled = true) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) }
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace @Override @AddTrace(name = "onCreateTrace", enabled = true /* optional */) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }
Benutzerdefinierte Messwerte zu benutzerdefinierten Code-Traces hinzufügen
Verwenden Sie die Performance Monitoring Trace API, um benutzerdefinierten Code-Traces benutzerdefinierte Messwerte hinzuzufügen.
Wichtige Hinweise:
- Namen für benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine führenden oder nachgestellten Leerzeichen, kein führender Unterstrich (
_) und eine maximale Länge von 100 Zeichen. - In jedem benutzerdefinierten Code-Trace können bis zu 32 Messwerte aufgezeichnet werden (einschließlich des Standardmesswerts Dauer).
Wenn Sie einen benutzerdefinierten Messwert hinzufügen möchten, fügen Sie jedes Mal, wenn das Ereignis auftritt, eine Codezeile wie die folgende hinzu. Mit diesem benutzerdefinierten Messwert werden beispielsweise leistungsbezogene Ereignisse gezählt, die in Ihrer Anwendung auftreten, z. B. Cache-Treffer und -Fehler (mit den Beispielereignisnamen item_cache_hit und item_cache_miss und einem Inkrement von 1).
Kotlin
val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace (and log custom metrics) val item = cache.fetch("item") if (item != null) { myTrace.incrementMetric("item_cache_hit", 1) } else { myTrace.incrementMetric("item_cache_miss", 1) } myTrace.stop()
Java
Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace (and log custom metrics) Item item = cache.fetch("item"); if (item != null) { myTrace.incrementMetric("item_cache_hit", 1); } else { myTrace.incrementMetric("item_cache_miss", 1); } myTrace.stop();
Benutzerdefinierte Attribute für benutzerdefinierte Code-Traces erstellen
Mit der Performance Monitoring Trace API können Sie benutzerdefinierten Code-Traces benutzerdefinierte Attribute hinzufügen.Wenn Sie benutzerdefinierte Attribute verwenden möchten, fügen Sie Ihrer App Code hinzu, der das Attribut definiert und mit einem bestimmten benutzerdefinierten Code-Trace verknüpft. Sie können das benutzerdefinierte Attribut jederzeit zwischen dem Start und dem Ende des Trace festlegen.
Wichtige Hinweise:
Namen für benutzerdefinierte Attribute müssen die folgenden Anforderungen erfüllen:
- Keine voran- oder nachgestellten Leerzeichen, kein vorangestellter Unterstrich (
_) - Keine Gruppenbereiche
- Darf maximal 32 Zeichen lang sein
- Zulässige Zeichen für den Namen sind
A-Z,a-zund_.
- Keine voran- oder nachgestellten Leerzeichen, kein vorangestellter Unterstrich (
In jedem benutzerdefinierten Code-Trace können bis zu 5 benutzerdefinierte Attribute aufgezeichnet werden.
Achten Sie darauf, dass benutzerdefinierte Attribute keine Informationen enthalten, mit denen eine Person gegenüber Google identifiziert werden kann.
Weitere Informationen zu dieser Richtlinie
Kotlin
Firebase.performance.newTrace("test_trace").trace { // Update scenario. putAttribute("experiment", "A") // Reading scenario. val experimentValue = getAttribute("experiment") // Delete scenario. removeAttribute("experiment") // Read attributes. val traceAttributes = this.attributes }
Java
Trace trace = FirebasePerformance.getInstance().newTrace("test_trace"); // Update scenario. trace.putAttribute("experiment", "A"); // Reading scenario. String experimentValue = trace.getAttribute("experiment"); // Delete scenario. trace.removeAttribute("experiment"); // Read attributes. Map<String, String> traceAttributes = trace.getAttributes();
Leistungsdaten erfassen, ansehen und filtern
Bestimmte Messwerte im Dashboard im Blick behalten
Wenn Sie wissen möchten, wie sich Ihre wichtigsten Messwerte entwickeln, fügen Sie sie oben im Dashboard Leistung Ihrer Messwertübersicht hinzu. Sie können Regressionen schnell erkennen, indem Sie sich die Änderungen im Wochenvergleich ansehen, oder prüfen, ob die letzten Änderungen am Code die Leistung verbessern.
Firebase Performance Monitoring-Dashboard" />
So fügen Sie Ihrem Messwert-Dashboard einen Messwert hinzu:
- Rufen Sie in der Firebase Console das Leistungs-Dashboard auf.
- Klicken Sie auf eine leere Messwertkarte und wählen Sie dann einen vorhandenen Messwert aus, um ihn Ihrem Board hinzuzufügen.
- Klicken Sie auf einer ausgefüllten Messwertkarte auf , um weitere Optionen aufzurufen, z. B. zum Ersetzen oder Entfernen eines Messwerts.
Auf dem Messwert-Dashboard werden die erfassten Messwertdaten im Zeitverlauf sowohl in grafischer Form als auch als numerische prozentuale Änderung angezeigt.
Weitere Informationen zur Verwendung des Dashboards
Traces und ihre Daten ansehen
Wenn Sie sich Ihre Traces ansehen möchten, rufen Sie in der Firebase-Konsole das Leistungs-Dashboard auf, scrollen Sie nach unten zur Trace-Tabelle und klicken Sie dann auf den entsprechenden Untertab. In der Tabelle werden einige der wichtigsten Messwerte für jeden Trace angezeigt. Sie können die Liste sogar nach der prozentualen Änderung für einen bestimmten Messwert sortieren.
Performance Monitoring bietet in der Firebase-Konsole eine Seite zur Fehlerbehebung, auf der Änderungen an Messwerten hervorgehoben werden. So können Sie Leistungsprobleme schnell beheben und die Auswirkungen auf Ihre Apps und Nutzer minimieren. Sie können die Seite zur Fehlerbehebung verwenden, wenn Sie von potenziellen Leistungsproblemen erfahren, z. B. in den folgenden Szenarien:
- Sie wählen relevante Messwerte im Dashboard aus und bemerken eine große Abweichung.
- In der Tabelle mit den Traces sortieren Sie die größten Deltas nach oben und sehen eine signifikante prozentuale Änderung.
- Sie erhalten eine E‑Mail-Benachrichtigung über ein Leistungsproblem.
Sie können die Seite zur Fehlerbehebung auf folgende Weise aufrufen:
- Klicken Sie im Messwert-Dashboard auf den Button Messwertdetails ansehen.
- Wählen Sie auf einer beliebigen Messwertkarte
=> Details ansehen aus. Auf der Seite zur Fehlerbehebung werden Informationen zum ausgewählten Messwert angezeigt. - Klicken Sie in der Tabelle mit den Traces auf einen Trace-Namen oder einen Messwert in der Zeile, die mit diesem Trace verknüpft ist.
- Klicken Sie in einer E‑Mail-Warnung auf Jetzt untersuchen.
Wenn Sie in der Trace-Tabelle auf einen Trace-Namen klicken, können Sie die gewünschten Messwerte aufrufen. Klicken Sie auf den Button
Firebase Performance Monitoring-Daten werden nach Attribut gefiltert" />
- Filtern Sie nach App-Version, um Daten zu einem früheren oder dem neuesten Release aufzurufen.
- Nach Gerät filtern, um zu sehen, wie ältere Geräte mit deiner App umgehen
- Filtern Sie nach Land, um sicherzustellen, dass der Standort Ihrer Datenbank keine Auswirkungen auf eine bestimmte Region hat.
Weitere Informationen zum Aufrufen von Daten für Ihre Traces
Nächste Schritte
Weitere Informationen zur Verwendung von Attributen, um Leistungsdaten zu prüfen
Weitere Informationen zum Verfolgen von Leistungsproblemen in der Firebase Console
Richten Sie Benachrichtigungen für Codeänderungen ein, die die Leistung Ihrer Anwendung beeinträchtigen. Sie können beispielsweise eine E-Mail-Benachrichtigung für Ihr Team konfigurieren, wenn die Dauer eines bestimmten benutzerdefinierten Code-Trace einen von Ihnen festgelegten Schwellenwert überschreitet.
- Detaillierte Berichte zu Nutzersitzungen aufrufen, in denen Sie einen bestimmten Trace im Zeitachsenkontext anderer Traces sehen können, die während derselben Sitzung erfasst wurden.