Performance Monitoring erfasst Traces, damit Sie die Leistung Ihrer App im Blick behalten 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 bestimmten Codeabschnitten in Ihrer App verknüpft sind. Mit einem benutzerdefinierten Code-Trace können Sie messen, wie lange Ihre App für die Ausführung einer bestimmten Aufgabe oder einer 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-Traces mit den APIs des Performance Monitoring SDK.
Bei Android-Apps können Sie bestimmte Methoden auch mit der @AddTrace
-Annotation überwachen.
Benutzerdefinierte Code-Traces können jederzeit nach der Erstellung gestartet werden und sind threadsicher.
Da der standardmäßig für diese Traces erfasste Messwert „duration“ (Dauer) ist, werden sie manchmal auch als „Duration traces“ (Dauer-Traces) bezeichnet.
Daten aus diesen Traces können Sie auf dem Tab Benutzerdefinierte Traces in der Tracetabelle ansehen. Diese befindet sich unten im Leistungsdashboard. Weitere Informationen zur Verwendung der Console
Standardattribute, benutzerdefinierte Attribute und benutzerdefinierte Messwerte
Bei benutzerdefinierten Code-Traces werden Performance Monitoring automatisch Standardattribute (allgemeine Metadaten wie App-Version, Land, Gerät usw.) protokolliert, damit 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 Bereich des Traces auftreten. Sie können beispielsweise einen benutzerdefinierten Messwert für die Anzahl der Cache-Treffer und ‑Fehler oder für die Anzahl der Fälle erstellen, in denen die Benutzeroberfläche für einen spürbaren Zeitraum nicht reagiert.
Benutzerdefinierte Attribute und Messwerte werden in der Firebase-Konsole zusammen mit den Standardattributen und dem Standardmesswert für den Trace angezeigt.
Benutzerdefinierte Code-Traces hinzufügen
Mit der Trace API können Sie benutzerdefinierte Code-Traces hinzufügen, um bestimmten Anwendungscode zu überwachen.Performance Monitoring
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 Leerzeichen am Anfang oder Ende, kein Unterstrich (
_
) am Anfang und eine maximale Länge von 100 Zeichen. - Bei benutzerdefinierten Code-Traces können Sie benutzerdefinierte Messwerte und benutzerdefinierte Attribute hinzufügen.
Wenn Sie einen benutzerdefinierten Code-Trace starten und beenden möchten, umschließen Sie den Code, den Sie verfolgen möchten, mit Codezeilen, die den folgenden ähneln (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 @AddTrace
-Annotation, um benutzerdefinierte Code-Traces zu instrumentieren. Bei Verwendung 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 namens 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 benutzerdefinierte Messwerte zu benutzerdefinierten Code-Traces hinzuzufügen.
Wichtige Hinweise:
- Namen für benutzerdefinierte Messwerte müssen die folgenden Anforderungen erfüllen: keine Leerzeichen am Anfang oder Ende, kein Unterstrich (
_
) am Anfang und eine maximale Länge von 100 Zeichen. - Für jeden benutzerdefinierten Code-Trace können bis zu 32 Messwerte erfasst werden, einschließlich des Standardmesswerts Duration (Dauer).
Wenn Sie einen benutzerdefinierten Messwert hinzufügen möchten, fügen Sie jedes Mal, wenn das Ereignis eintritt, eine Codezeile wie die folgende hinzu. Mit diesem benutzerdefinierten Messwert werden beispielsweise leistungsbezogene Ereignisse gezählt, die in Ihrer App auftreten, z. B. Cache-Treffer und ‑Fehler (mit den Beispielereignisnamen item_cache_hit
und item_cache_miss
und einer Steigerung 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
Verwenden Sie die Performance Monitoring Trace API, um benutzerdefinierte Attribute zu benutzerdefinierten Code-Traces hinzuzufügen.Wenn Sie benutzerdefinierte Attribute verwenden möchten, müssen Sie Ihrer App Code hinzufügen, der das Attribut definiert und es einem bestimmten benutzerdefinierten Code-Trace zuordnet. Sie können das benutzerdefinierte Attribut jederzeit zwischen dem Start und dem Ende des Traces 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
- Maximale Länge: 32 Zeichen
- Zulässige Zeichen für den Namen sind
A-Z
,a-z
und_
.
- Keine voran- oder nachgestellten Leerzeichen, kein vorangestellter Unterstrich (
Für jeden benutzerdefinierten Code-Trace können bis zu fünf benutzerdefinierte Attribute erfasst werden.
Benutzerdefinierte Attribute dürfen keine Informationen enthalten, die eine Person gegenüber Google identifizieren.
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 in Ihrem Dashboard im Blick behalten
Wenn Sie sehen möchten, wie sich Ihre wichtigsten Messwerte entwickeln, fügen Sie sie dem Messwertboard oben im Leistungsdashboard hinzu. Sie können Regressionen schnell erkennen, indem Sie Änderungen von Woche zu Woche analysieren, oder prüfen, ob sich die Leistung durch die letzten Änderungen an Ihrem Code verbessert hat.

So fügen Sie dem Messwert-Board einen Messwert hinzu:
- Rufen Sie in der Firebase-Konsole das Dashboard zur Leistungsüberwachung auf.
- Klicken Sie auf eine leere Messwertkarte und wählen Sie dann einen vorhandenen Messwert aus, den Sie dem Board hinzufügen möchten.
- Klicken Sie auf einer Messwertkarte mit Daten auf , um weitere Optionen aufzurufen, z. B. zum Ersetzen oder Entfernen eines Messwerts.
Im Messwert-Board werden erfasste Messwertdaten im Zeitverlauf sowohl in grafischer Form als auch als numerische prozentuale Änderung dargestellt.
Weitere Informationen zur Verwendung des Dashboards
Traces und zugehörige Daten ansehen
Wenn Sie Ihre Traces aufrufen möchten, rufen Sie in der Firebase-Konsole das Leistungsdashboard auf, scrollen Sie nach unten zur Tabelle mit den Traces und klicken Sie dann auf den entsprechenden Untertab. In der Tabelle werden einige wichtige 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 eine Seite zur Fehlerbehebung in der Firebase Console, auf der Änderungen bei Messwerten hervorgehoben werden. So können Sie Leistungsprobleme bei Ihren Apps und Nutzern schnell beheben und ihre Auswirkungen minimieren. Sie können die Seite zur Fehlerbehebung verwenden, wenn Sie beispielsweise in den folgenden Szenarien von potenziellen Leistungsproblemen erfahren:
- Sie wählen relevante Messwerte im Dashboard aus und stellen ein großes Delta fest.
- In der Tabelle mit den Traces sortieren Sie die größten Deltas nach oben und sehen eine erhebliche prozentuale Änderung.
- Sie erhalten eine E‑Mail-Benachrichtigung über ein Leistungsproblem.
Sie haben folgende Möglichkeiten, auf die Seite zur Fehlerbehebung zuzugreifen:
- Klicken Sie im Messwert-Dashboard auf die Schaltfläche Messwertdetails ansehen.
- Wählen Sie auf einer beliebigen Messwertkarte
aus. Auf der Seite zur Fehlerbehebung werden Informationen zum ausgewählten Messwert angezeigt. => Details ansehen - Klicken Sie in der Tabelle „Traces“ auf einen Tracenamen oder einen beliebigen Messwert in der Zeile, die mit diesem Trace verknüpft ist.
- Klicken Sie in einer E‑Mail-Benachrichtigung auf Jetzt untersuchen.
Wenn Sie in der Tabelle mit den Traces auf einen Tracenamen klicken, können Sie die gewünschten Messwerte aufrufen. Klicken Sie auf die Schaltfläche

- Filtern Sie nach App-Version, um Daten zu einem früheren oder Ihrem neuesten Release aufzurufen.
- Filtern Sie nach Gerät, um zu sehen, wie ältere Geräte Ihre App verarbeiten.
- Filtern Sie nach Land, um sicherzustellen, dass sich der Datenbankstandort nicht auf eine bestimmte Region auswirkt.
Weitere Informationen zum Ansehen von Daten für deine Traces
Nächste Schritte
Weitere Informationen zur Verwendung von Attributen zum Analysieren von Leistungsdaten
Weitere Informationen zum Erfassen von Leistungsproblemen in der Firebase-Konsole
Richten Sie Benachrichtigungen für Codeänderungen ein, die die Leistung Ihrer App beeinträchtigen. Sie können beispielsweise eine E-Mail-Benachrichtigung für Ihr Team konfigurieren, wenn die Dauer eines bestimmten benutzerdefinierten Code-Traces einen von Ihnen festgelegten Grenzwert überschreitet.
- Detaillierte Berichte zu Nutzersitzungen, in denen Sie einen bestimmten Trace im Zeitachsenkontext anderer Traces sehen können, die während derselben Sitzung erfasst wurden.