Benutzerdefiniertes Monitoring für bestimmten Anwendungscode hinzufügen


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. 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 Land, Browser, Seiten-URL 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 voran- oder nachgestellten Leerzeichen, kein vorangestellter Unterstrich (_) und maximal 100 Zeichen lang.
  • 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, umschließen Sie den Code, den Sie tracen möchten, mit Codezeilen, die in etwa so aussehen:

Web

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

Benutzerdefinierte Code-Traces mit der User Timing API hinzufügen

Zusätzlich zur Performance Monitoring Trace API können Sie benutzerdefinierte Code-Traces mit der nativen User Timing API eines Browsers hinzufügen. Die Dauer eines Traces, die mit dieser API gemessen wird, wird automatisch vom Performance Monitoring SDK erfasst. Die Verwendung der Nutzertiming API ist besonders hilfreich, wenn Sie das Performance Monitoring SDK asynchron laden möchten. Nach der Initialisierung des SDK werden die Messungen aufgezeichnet, die vor dem Laden des SDK stattgefunden haben.

Wenn Sie diese Funktion verwenden möchten, müssen Sie den Code, den Sie erfassen möchten, mit Nutzertiming-Markierungen umschließen:

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

performance im obigen Beispiel bezieht sich auf das window.performance-Objekt des Browsers.

Wenn Sie die Nutzertiming API verwenden, können den benutzerdefinierten Code-Traces keine benutzerdefinierten Messwerte und Attribute hinzugefügt werden. Verwenden Sie die Performance Monitoring Trace API, wenn Sie diese benutzerdefinierten Elemente einem benutzerdefinierten Code-Trace hinzufügen möchten.

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. Dieser benutzerdefinierte Messwert zählt beispielsweise leistungsbezogene Ereignisse, die in Ihrer App auftreten.

Web

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

Benutzerdefinierte Attribute für benutzerdefinierte Code-Traces erstellen

Verwenden Sie die Performance Monitoring Trace API, um benutzerdefinierten Code-Traces benutzerdefinierte Attribute hinzuzufü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-z und _.
  • 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

Web

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

Leistungsdaten erfassen, ansehen und filtern

Wenn Sie Leistungsdaten in Echtzeit sehen möchten, muss Ihre App eine Performance Monitoring SDK-Version verwenden, die mit der Echtzeit-Datenverarbeitung kompatibel ist. Weitere Informationen zu Echtzeit-Leistungsdaten

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.

Bild des Messwert-Boards in der <span class=Firebase Performance Monitoring-Dashboard" />

So fügen Sie Ihrem Messwert-Dashboard einen Messwert hinzu:

  1. Rufen Sie in der Firebase Console das Leistungs-Dashboard auf.
  2. Klicken Sie auf eine leere Messwertkarte und wählen Sie dann einen vorhandenen Messwert aus, um ihn Ihrem Board hinzuzufügen.
  3. 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 Filter, um die Daten nach Attribut zu filtern, z. B.:

ein Bild von <span class=Firebase Performance Monitoring-Daten werden nach Attribut gefiltert" />
  • Filtern Sie nach Seiten-URL, um Daten für eine bestimmte Seite Ihrer Website aufzurufen.
  • Filtern Sie nach Effektiver Verbindungstyp, um zu sehen, wie sich eine 3G-Verbindung auf Ihre App auswirkt.
  • 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