Benutzerdefiniertes Monitoring für bestimmten Anwendungscode hinzufügen


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 _.
  • 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.

ein Bild des Messwert-Boards in der Klasse <span class=Dashboard „Firebase Performance Monitoring“ />

So fügen Sie Ihrem Messwertbereich einen Messwert hinzu:

  1. Gehen Sie zur Dashboard zur Leistungsüberwachung in der Firebase-Konsole
  2. Klicken Sie auf eine leere Messwertkarte und wählen Sie einen vorhandenen Messwert aus, den Sie dem Dashboard hinzufügen möchten.
  3. 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 aus. => Details ansehen Auf der Seite zur Fehlerbehebung werden Informationen zum Messwert angezeigt. die Sie ausgewählt haben.
  • 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 Filter, um die Daten zu filtern Nach Attribut. Beispiel:

ein Bild von <span class=Firebase Performance Monitoring-Daten werden nach Attribut gefiltert" />
  • 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

  • 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.