Performance Monitoring erfasst Traces, damit Sie die Leistung Ihrer Anwendung überwachen können. A Trace ist ein Bericht der Leistungsdaten, die zwischen zwei Zeitpunkten in für Ihre App.
Sie können eigene Traces erstellen, um Leistungsdaten zu überwachen, die mit bestimmtem Code in Ihrer App verknüpft sind. Mit einem benutzerdefinierten Code-Trace können Sie messen, wie lange es dauert, bis Ihre App eine bestimmte Aufgabe oder eine Reihe von Aufgaben erledigt, z. B. das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank.
Der Standardmesswert für einen benutzerdefinierten Code-Trace ist seine „Dauer“ (die Zeit zwischen Start- und Endpunkte des Trace). Sie können jedoch benutzerdefinierte Messwerte.
In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Traces mithilfe der APIs, die vom Performance Monitoring SDK bereitgestellt werden.
Bei Android-Apps können Sie bestimmte Methoden auch mithilfe der @AddTrace
-Anmerkung überwachen.
Benutzerdefinierte Code-Traces können nach der Erstellung jederzeit gestartet werden und sind threadsicher.
Da für diese Protokolle standardmäßig der Messwert „Dauer“ erfasst wird, werden sie manchmal auch als „Dauerprotokolle“ bezeichnet.
Sie können Daten aus diesen Traces auf dem Untertab Benutzerdefinierte Traces der Traces-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.), damit Sie die Daten für den Trace in der Firebase-Konsole filtern können. Ich kann auch benutzerdefinierte Attribute hinzufügen und überwachen z. B. ein Level in einem Spiel oder Nutzereigenschaften.Sie können einen benutzerdefinierten Code-Trace so konfigurieren, dass benutzerdefinierte Messwerte für leistungsbezogene Ereignisse aufgezeichnet werden, die im Gültigkeitsbereich des Tracings auftreten. Sie können beispielsweise einen benutzerdefinierten Messwert für die Anzahl der Cache-Treffer und ‑Ausfälle oder für die Häufigkeit erstellen, mit der die Benutzeroberfläche für einen längeren Zeitraum nicht reagiert.
Benutzerdefinierte Attribute und benutzerdefinierte Messwerte werden in der Firebase-Konsole neben den Standardattributen und dem Standardmesswert für den Trace angezeigt.
Benutzerdefinierte Code-Traces hinzufügen
Mit der Performance MonitoringTrace API können Sie benutzerdefinierte Code-Traces hinzufügen, um bestimmten Anwendungscode zu überwachen.
Wichtige Hinweise:
- Eine App kann mehrere benutzerdefinierte Code-Traces haben.
- Es kann mehr als ein benutzerdefinierter Code-Trace gleichzeitig ausgeführt werden.
- Namen für benutzerdefinierte Code-Traces müssen die folgenden Anforderungen erfüllen: keine vorangestellten
oder nachgestelltes Leerzeichen, kein vorangestellter Unterstrich (
_
) und maximale Länge beträgt 100 Zeichen. - Benutzerdefinierte Code-Traces unterstützen das Hinzufügen von benutzerdefinierten Messwerten und benutzerdefinierten Attributen.
Verpacken Sie den Code, den Sie verfolgen möchten, um ein benutzerdefiniertes Code-Trace zu starten und zu stoppen.
Codezeilen ähnlich den folgenden (in diesem Beispiel wird der benutzerdefinierte Trace-Name
test_trace
):
Kotlin+KTX
// 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
Anmerkung
um benutzerdefinierte Code-Traces zu instrumentieren. Bei Verwendung dieser Funktion beginnt der Trace
der angegebenen Methode und wird beendet, wenn die Methode abgeschlossen ist, einschließlich
alles, was von der Methode aufgerufen wird.
Sie können beispielsweise einen benutzerdefinierten Code-Trace namens onCreateTrace
erstellen, der ausgeführt wird
wenn die Methode onCreate()
aufgerufen wird.
Kotlin+KTX
// 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:
kein vorangestelltes oder nachgestelltes Leerzeichen, kein vorangestellter Unterstrich (
_
) Zeichen, Die maximale Länge beträgt 100 Zeichen. - Für jeden benutzerdefinierten Code-Trace können bis zu 32 Messwerte erfasst werden, einschließlich des Standardmesswerts Dauer.
Wenn Sie einen benutzerdefinierten Messwert hinzufügen möchten, fügen Sie jedes Mal, wenn das Ereignis eintritt, eine Codezeile hinzu, die der folgenden ähnelt. Dieser benutzerdefinierte Messwert zählt beispielsweise
leistungsbezogene Ereignisse, die in Ihrer App auftreten, z. B. Cache-Treffer und -Fehler
(mit den Beispielereignisnamen item_cache_hit
und item_cache_miss
und einem
Inkrement von 1
).
Kotlin+KTX
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 benutzerdefinierten Code-Traces benutzerdefinierte Attribute hinzuzufügen.Um benutzerdefinierte Attribute zu verwenden, fügen Sie Ihrer App Code hinzu, der das Attribut definiert und verknüpft ihn mit einem bestimmten benutzerdefinierten Code-Trace. Sie können das benutzerdefinierte Attribut jederzeit zwischen dem Start und dem Ende der Aufzeichnung festlegen.
Wichtige Hinweise:
Namen für benutzerdefinierte Attribute müssen die folgenden Anforderungen erfüllen:
- Keine führenden oder nachgestellten Leerzeichen, kein vorangestelltes Unterstrichzeichen (
_
) - Keine Leerzeichen
- Darf maximal 32 Zeichen lang sein
- Zulässige Zeichen für den Namen sind
A-Z
,a-z
und_
.
- Keine führenden oder nachgestellten Leerzeichen, kein vorangestelltes Unterstrichzeichen (
Für jede benutzerdefinierte Code-Spuren können bis zu fünf benutzerdefinierte Attribute erfasst werden.
Benutzerdefinierte Attribute dürfen keine Informationen enthalten, die eine Person gegenüber Google identifiziert.
Weitere Informationen zu dieser Richtlinie
Kotlin+KTX
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, aufrufen und filtern
Bestimmte Messwerte in Ihrem Dashboard verfolgen
Wenn Sie wissen möchten, wie sich Ihre wichtigsten Messwerte entwickeln, fügen Sie sie oben im Dashboard Leistung Ihrem Messwertbereich hinzu. Sie können Regressionen schnell erkennen, indem Sie sich wöchentliche oder überprüfen Sie, ob die letzten Änderungen an Ihrem Code die Leistung verbessern.
Dashboard „Firebase Performance Monitoring“ />So fügen Sie Ihrem Messwertbereich einen Messwert hinzu:
- Gehen Sie zur Dashboard zur Leistungsüberwachung in der Firebase-Konsole
- Klicken Sie auf eine leere Messwertkarte und wählen Sie einen vorhandenen Messwert aus, den Sie dem Dashboard hinzufügen möchten.
- Klicken Sie auf auf einer ausgefüllten Messwertkarte für weitere Optionen, z. B. um einen Messwert zu ersetzen oder zu entfernen.
Auf dem Messwert-Dashboard werden erfasste Messwertdaten im Zeitverlauf sowohl grafisch als auch als numerische prozentuale Änderung dargestellt.
Weitere Informationen zur Verwendung des Dashboards
Traces und ihre Daten ansehen
Ihre Traces finden Sie in der Dashboard zur Leistungsüberwachung Scrollen Sie in der Firebase-Konsole nach unten zur Traces-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 den prozentuale Veränderung für einen bestimmten Messwert.
Performance Monitoring bietet in der Firebase-Konsole eine Seite zur Fehlerbehebung, auf der der Messwert hervorgehoben ist. So lassen sich die Auswirkungen von Leistungsproblemen Apps und Nutzer. Sie können die Seite zur Fehlerbehebung verwenden, wenn Sie potenzielle Leistungsprobleme feststellen, z. B. in den folgenden Fällen:
- Sie wählen relevante Messwerte im Dashboard aus und stellen eine große Abweichung fest.
- In der Trace-Tabelle sortieren Sie die Werte so, dass oben die größten Deltas angezeigt werden, und es wird ein signifikante prozentuale Änderung.
- Sie erhalten eine E-Mail-Benachrichtigung über ein Leistungsproblem.
So greifen Sie auf die Seite zur Fehlerbehebung zu:
- Klicken Sie auf dem Messwert-Dashboard auf die Schaltfläche Messwertdetails ansehen.
- Wählen Sie auf einer beliebigen Messwertkarte
Auf der Seite zur Fehlerbehebung werden Informationen zum Messwert angezeigt. die Sie ausgewählt haben. aus. => Details ansehen - Klicken Sie in der Tabelle „Traces“ auf einen Trace-Namen oder einen Messwert in der Zeile, die mit diesem Trace verknüpft ist.
- Klicken Sie in einer E-Mail-Benachrichtigung auf Jetzt prüfen.
Wenn Sie in der Tabelle „Traces“ auf einen Trace-Namen klicken, können Sie die Messwerte aufschlüsseln. Klicken Sie auf das
Schaltfläche
- Filtern Sie nach App-Version, um Daten zu einem früheren oder aktuellen Release aufzurufen.
- Filtere nach Gerät, um zu sehen, wie ältere Geräte deine App verwenden
- Filtern Sie nach Land, um sicherzustellen, dass sich der Standort Ihrer Datenbank nicht auf ein bestimmtes Land auswirkt Region
Weitere Informationen über Daten für Ihre Traces.
Nächste Schritte
Weitere Informationen über Attribute verwenden, um Leistungsdaten zu untersuchen
Weitere Informationen zum Überwachen von Leistungsproblemen in der Firebase-Konsole
Richten Sie Benachrichtigungen für Codeänderungen ein, die die Leistung beeinträchtigen die Leistung Ihrer App zu testen. Sie können beispielsweise eine E-Mail-Benachrichtigung für wenn die Dauer eines bestimmten benutzerdefinierten Code-Traces eine Grenzwert festlegen.
- Sie können detaillierte Berichte zu Nutzersitzungen aufrufen, in denen können Sie einen bestimmten Trace in einem Zeitachsenkontext mit anderen Traces, die während desselben Zeitraums erfasst wurden, Sitzung.