Fügen Sie eine benutzerdefinierte Überwachung für bestimmten App-Code hinzu

Die Leistungsüberwachung sammelt Ablaufverfolgungen , um Ihnen bei der Überwachung der Leistung Ihrer App zu helfen. Eine Ablaufverfolgung ist ein Bericht über Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.

Sie können Ihre eigenen 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 Ihre App benötigt, um eine bestimmte Aufgabe oder eine Reihe von Aufgaben abzuschließen, beispielsweise das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank.

Die Standardmetrik für einen benutzerdefinierten Code-Trace ist seine „Dauer“ (die Zeit zwischen dem Start- und Stopppunkt des Trace). Sie können jedoch auch benutzerdefinierte Metriken hinzufügen.

In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Trace mithilfe der vom Performance Monitoring SDK bereitgestellten APIs.Für Android-Apps können Sie auch bestimmte Methoden mithilfe der Annotation @AddTrace überwachen.Benutzerdefinierte Code-Traces können jederzeit nach ihrer Erstellung gestartet werden und sind Thread-sicher.

Da die für diese Spuren erfasste Standardmetrik „Dauer“ ist, werden sie manchmal als „Dauerspuren“ bezeichnet.

Sie können Daten aus diesen Ablaufverfolgungen auf der Unterregisterkarte „Benutzerdefinierte Ablaufverfolgungen“ der Ablaufverfolgungstabelle anzeigen, die sich unten im Leistungs- Dashboard befindet (weitere Informationen zur Verwendung der Konsole finden Sie weiter unten auf dieser Seite).

Standardattribute, benutzerdefinierte Attribute und benutzerdefinierte Metriken

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 hinzufügen und überwachen (z. B. Spielebene oder Benutzereigenschaften).

Darüber hinaus können Sie einen benutzerdefinierten Code-Trace konfigurieren, um benutzerdefinierte Metriken für leistungsbezogene Ereignisse aufzuzeichnen, die innerhalb des Trace-Bereichs auftreten. Sie können beispielsweise eine benutzerdefinierte Metrik für die Anzahl der Cache-Hits und -Miss oder die Häufigkeit erstellen, mit der die Benutzeroberfläche für einen spürbaren Zeitraum nicht mehr reagiert.

Benutzerdefinierte Attribute und benutzerdefinierte Metriken werden in der Firebase-Konsole zusammen mit den Standardattributen und der Standardmetrik für den Trace angezeigt.

Fügen Sie benutzerdefinierte Code-Traces hinzu

Verwenden Sie die Performance Monitoring Trace API , um benutzerdefinierte Code-Traces hinzuzufügen, um bestimmten Anwendungscode zu überwachen.

Beachte das Folgende:

  • 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: kein führendes oder nachfolgendes Leerzeichen, kein führender Unterstrich ( _ ) und die maximale Länge beträgt 100 Zeichen.
  • Benutzerdefinierte Code-Traces unterstützen das Hinzufügen benutzerdefinierter Metriken und benutzerdefinierter Attribute .

Um einen benutzerdefinierten Code-Trace zu starten und zu stoppen, umschließen Sie den Code, den Sie verfolgen möchten, mit Codezeilen ähnlich den folgenden (in diesem Beispiel wird der benutzerdefinierte Trace-Name test_trace verwendet):

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) Überwachen Sie bestimmte Methoden mit @AddTrace

Android-Apps unterstützen auch die Annotation @AddTrace , um benutzerdefinierte Code-Traces zu instrumentieren. Mit dieser Funktion beginnt der Trace am Anfang der angegebenen Methode und stoppt, 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+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);
}

Fügen Sie benutzerdefinierte Metriken zu benutzerdefinierten Code-Traces hinzu

Verwenden Sie die Performance Monitoring Trace API , um benutzerdefinierte Metriken zu benutzerdefinierten Code-Traces hinzuzufügen.

Beachte das Folgende:

  • Namen für benutzerdefinierte Metriken müssen die folgenden Anforderungen erfüllen: keine führenden oder nachgestellten Leerzeichen, keinen führenden Unterstrich ( _ ) und die maximale Länge beträgt 100 Zeichen.
  • Jeder benutzerdefinierte Code-Trace kann bis zu 32 Metriken aufzeichnen (einschließlich der Standardmetrik „ Dauer“ ).

Um eine benutzerdefinierte Metrik hinzuzufügen, fügen Sie bei jedem Auftreten des Ereignisses eine Codezeile ähnlich der folgenden hinzu. Diese benutzerdefinierte Metrik zählt beispielsweise leistungsbezogene Ereignisse, die in Ihrer App auftreten, wie Cache-Treffer und -Fehlschläge (unter Verwendung der Beispielereignisnamen item_cache_hit “ und item_cache_miss und einer Erhöhung 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();

Erstellen Sie benutzerdefinierte Attribute für benutzerdefinierte Code-Traces

Verwenden Sie die Performance Monitoring Trace API , um benutzerdefinierte Attribute zu benutzerdefinierten Code-Traces hinzuzufügen.

Um benutzerdefinierte Attribute zu verwenden, fügen Sie Ihrer App Code hinzu, 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 der Ablaufverfolgung festlegen.

Beachte das Folgende:

  • Namen für benutzerdefinierte Attribute müssen die folgenden Anforderungen erfüllen:

    • Kein führender oder nachfolgender Leerraum, kein führender Unterstrich ( _ ).
    • Kein Platz
    • Die maximale Länge beträgt 32 Zeichen
    • Zulässige Zeichen für den Namen sind AZ , az und _ .
  • Jeder benutzerdefinierte Code-Trace kann bis zu 5 benutzerdefinierte Attribute aufzeichnen.

  • Bitte stellen Sie sicher, dass benutzerdefinierte Attribute keine Informationen enthalten, die eine Person gegenüber Google persönlich identifizieren.

    Erfahren Sie mehr über diese 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 verfolgen, anzeigen und filtern

Verfolgen Sie bestimmte Kennzahlen in Ihrem Dashboard

Um zu erfahren, wie Ihre wichtigsten Kennzahlen im Trend liegen, fügen Sie sie Ihrer Kennzahlentafel oben im Leistungs- 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

Um eine Metrik zu Ihrem Metrik-Board hinzuzufügen, führen Sie die folgenden Schritte aus:

  1. Gehen Sie zum Performance- Dashboard in der Firebase-Konsole.
  2. Klicken Sie auf eine leere Metrikkarte und wählen Sie dann eine vorhandene Metrik aus, die Sie Ihrem Board hinzufügen möchten.
  3. 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 => Details anzeigen . Auf der Fehlerbehebungsseite werden Informationen zu der von Ihnen ausgewählten Metrik angezeigt.
  • 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 Klicken Sie auf die Schaltfläche „Filter , um die Daten nach Attribut zu filtern, zum Beispiel:

ein Bild von Firebase Performance Monitoring-Daten, die nach Attribut gefiltert werden
  • 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

  • Zeigen Sie detaillierte Berichte von Benutzersitzungen an, in denen Sie eine bestimmte Ablaufverfolgung im Zeitleistenkontext anderer Ablaufverfolgungen sehen können, die während derselben Sitzung erfasst wurden.