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 von Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.

Sie können Ihre eigenen Ablaufverfolgungen 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 auszuführen, z. B. 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 den Start- und Stopppunkten des Trace), aber Sie können auch benutzerdefinierte Metriken hinzufügen.

In Ihrem Code definieren Sie den Anfang und das Ende einer Ablaufverfolgung für benutzerdefinierten Code mithilfe der vom Performance Monitoring SDK bereitgestellten APIs.Traces für benutzerdefinierten Code können jederzeit gestartet werden, nachdem sie erstellt wurden, und sie sind Thread-sicher.

Da die für diese Traces erfasste Standardmetrik „Dauer“ ist, werden sie manchmal als „Dauer-Traces“ 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

Für benutzerdefinierte Codeablaufverfolgungen protokolliert die Leistungsüberwachung automatisch Standardattribute (gemeinsame Metadaten wie Land, Browser, Seiten-URL usw.), sodass Sie die Daten für die Ablaufverfolgung in der Firebase-Konsole filtern können. Sie können auch benutzerdefinierte Attribute (z. B. Spiellevel oder Benutzereigenschaften) hinzufügen und überwachen.

Sie können eine Ablaufverfolgung für benutzerdefinierten Code weiter konfigurieren, um benutzerdefinierte Metriken für leistungsbezogene Ereignisse aufzuzeichnen, die im Geltungsbereich der Ablaufverfolgung auftreten. Sie können beispielsweise eine benutzerdefinierte Metrik für die Anzahl der Cache-Treffer und -Fehlschläge oder die Häufigkeit erstellen, mit der die Benutzeroberfläche für einen merklichen Zeitraum nicht mehr reagiert.

Benutzerdefinierte Attribute und benutzerdefinierte Metriken werden in der Firebase-Konsole neben den Standardattributen und der Standardmetrik für die Ablaufverfolgung angezeigt.

Fügen Sie benutzerdefinierte Codespuren 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 Codeablaufverfolgungen aufweisen.
  • Es kann mehr als eine Ablaufverfolgung für benutzerdefinierten Code gleichzeitig ausgeführt werden.
  • Namen für benutzerdefinierte Codeablaufverfolgungen müssen die folgenden Anforderungen erfüllen: keine führenden oder abschließenden Leerzeichen, kein führender Unterstrich ( _ ) und eine maximale Länge von 100 Zeichen.
  • Traces für benutzerdefinierten Code unterstützen das Hinzufügen von benutzerdefinierten Metriken und benutzerdefinierten Attributen .

Um eine Ablaufverfolgung für benutzerdefinierten Code zu starten und zu stoppen, umschließen Sie den zu verfolgenden Code mit Codezeilen ähnlich der folgenden:

Web version 9

import { trace } from "firebase/performance";

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

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

t.stop();

Web version 8

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

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

trace.stop();

Fügen Sie mithilfe der User Timing API benutzerdefinierte Code-Traces hinzu

Zusätzlich zur Leistungsüberwachungs-Trace-API können Sie mithilfe der nativen User Timing API eines Browsers benutzerdefinierte Code-Traces hinzufügen. Die mit dieser API gemessene Dauer einer Ablaufverfolgung wird automatisch vom Leistungsüberwachungs-SDK erfasst. Die Verwendung der User Timing API ist besonders hilfreich, wenn Sie das Performance Monitoring SDK lieber asynchron laden möchten. Sobald das SDK initialisiert ist, zeichnet das SDK die Messungen auf, die vor dem Laden stattgefunden haben.

Um diese Funktion zu verwenden, umschließen Sie den Code, den Sie verfolgen möchten, mit Benutzer-Timing-Markierungen:

Web version 9

const performance = window.performance;

performance.mark("measurementStart");

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

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

Web version 8

const performance = window.performance;

performance.mark("measurementStart");

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

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

Beachten Sie, dass sich die performance im obigen Beispiel auf das window.performance -Objekt des Browsers bezieht.

Bei Verwendung der User Timing API können benutzerdefinierte Metriken und Attribute nicht zu den benutzerdefinierten Code-Traces hinzugefügt werden. Verwenden Sie die Performance Monitoring Trace API , wenn Sie diese benutzerdefinierten Elemente zu einem benutzerdefinierten Code-Trace hinzufügen möchten.

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

Verwenden Sie die Leistungsüberwachungs- 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 abschließenden Leerzeichen, kein führender Unterstrich ( _ ) und eine maximale Länge von 100 Zeichen.
  • Jede Ablaufverfolgung für benutzerdefinierten Code kann bis zu 32 Metriken aufzeichnen (einschließlich der standardmäßigen Duration -Metrik).

Um eine benutzerdefinierte Metrik hinzuzufügen, fügen Sie jedes Mal, wenn das Ereignis auftritt, eine Codezeile ähnlich der folgenden hinzu. Diese benutzerdefinierte Metrik zählt beispielsweise leistungsbezogene Ereignisse, die in Ihrer App auftreten.

Web version 9

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 version 8

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;
}

Erstellen Sie benutzerdefinierte Attribute für benutzerdefinierte Codeablaufverfolgungen

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 Beginn und dem Stoppen der Ablaufverfolgung festlegen.

Beachte das Folgende:

  • Namen für benutzerdefinierte Attribute müssen die folgenden Anforderungen erfüllen: keine führenden oder abschließenden Leerzeichen, kein führender Unterstrich ( _ ) und eine maximale Länge von 32 Zeichen.

  • Jede Ablaufverfolgung für benutzerdefinierten Code kann bis zu 5 benutzerdefinierte Attribute aufzeichnen.

  • Sie sollten keine benutzerdefinierten Attribute verwenden, die Informationen enthalten, die eine Person für Google persönlich identifizieren.

    Erfahren Sie mehr über diese Richtlinie

Web version 9

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 version 8

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 verfolgen, anzeigen und filtern

Stellen Sie zum Anzeigen von Echtzeit-Leistungsdaten sicher, dass Ihre App eine Leistungsüberwachungs-SDK-Version verwendet, die mit der Echtzeit-Datenverarbeitung kompatibel ist. Erfahren Sie mehr über Echtzeit-Leistungsdaten .

Verfolgen Sie bestimmte Metriken in Ihrem Dashboard

Um zu erfahren, wie sich Ihre wichtigsten Metriken entwickeln, fügen Sie sie zu Ihrem Metrik-Board oben im Leistungs -Dashboard hinzu. Sie können Regressionen schnell erkennen, indem Sie Änderungen von Woche zu Woche sehen oder überprüfen, ob die letzten Änderungen in Ihrem Code die Leistung verbessern.

ein Bild des Metrik-Boards im Firebase Performance Monitoring-Dashboard

Führen Sie die folgenden Schritte aus, um Ihrem Metrik-Board eine Metrik hinzuzufügen:

  1. Rufen Sie das Leistungs -Dashboard in der Firebase-Konsole auf.
  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 auf more_vert, um weitere Optionen anzuzeigen, z. B. um eine Metrik zu ersetzen oder zu entfernen.

Das Metrik-Board zeigt gesammelte Metrikdaten im Laufe der Zeit, sowohl in grafischer Form als auch als numerische prozentuale Veränderung.

Erfahren Sie mehr über die Verwendung des Dashboards .

Traces und ihre Daten anzeigen

Um Ihre Ablaufverfolgungen anzuzeigen, gehen Sie zum Leistungs -Dashboard in der Firebase-Konsole, scrollen Sie nach unten zur Ablaufverfolgungstabelle und klicken Sie dann auf die entsprechende Unterregisterkarte. Die Tabelle zeigt einige Top-Metriken für jede Ablaufverfolgung, und Sie können die Liste sogar nach der prozentualen Änderung für eine bestimmte Metrik sortieren.

Die Leistungsüberwachung 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 Seite zur Problembehandlung verwenden, wenn Sie Informationen zu potenziellen Leistungsproblemen erhalten, z. B. in den folgenden Szenarien:

  • Sie wählen relevante Metriken auf dem Dashboard aus und stellen ein großes Delta fest.
  • In der Ablaufverfolgungstabelle sortieren Sie, um die größten Deltas ganz oben anzuzeigen, und Sie sehen eine signifikante prozentuale Änderung.
  • Sie erhalten eine E-Mail-Benachrichtigung, die Sie über ein Leistungsproblem informiert.

Sie können auf folgende Weise auf die Fehlerbehebungsseite zugreifen:

  • Klicken Sie im Metrik-Dashboard auf die Schaltfläche Metrikdetails anzeigen.
  • Wählen Sie auf einer beliebigen => Details anzeigen aus . Auf der Fehlerbehebungsseite werden Informationen zu der ausgewählten Metrik angezeigt.
  • Klicken Sie in der Ablaufverfolgungstabelle auf einen Ablaufverfolgungsnamen oder einen beliebigen Metrikwert in der Zeile, die dieser Ablaufverfolgung zugeordnet ist.
  • Klicken Sie in einer E-Mail-Benachrichtigung auf Jetzt untersuchen .

Wenn Sie in der Trace-Tabelle auf einen Trace-Namen klicken, können Sie einen Drilldown zu relevanten Metriken durchführen. Klicken Sie auf die Schaltfläche Filter , um die Daten nach Attributen zu filtern, zum Beispiel:

ein Bild von Firebase Performance Monitoring-Daten, die nach Attributen gefiltert werden
  • Filtern Sie nach Seiten- URL , um Daten für eine bestimmte Seite Ihrer Website anzuzeigen
  • Filtern Sie nach effektivem Verbindungstyp , um zu erfahren, wie sich eine 3G-Verbindung auf Ihre App auswirkt
  • Filtern Sie nach Land , um sicherzustellen, dass sich Ihr Datenbankstandort nicht auf eine bestimmte Region auswirkt

Erfahren Sie mehr über das Anzeigen von Daten für Ihre Spuren .

Nächste Schritte

  • Erfahren Sie mehr über die Verwendung von Attributen zur Untersuchung von Leistungsdaten.

  • Erfahren Sie mehr darüber, wie Sie Leistungsprobleme in der Firebase-Konsole nachverfolgen.

  • Richten Sie Warnungen 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 einer bestimmten benutzerdefinierten Codeablaufverfolgung einen von Ihnen festgelegten Schwellenwert überschreitet.