PerformanceObserverEntryList: getEntriesByName()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die getEntriesByName()-Methode der PerformanceObserverEntryList-Schnittstelle gibt eine Liste von explizit beobachteten PerformanceEntry-Objekten für einen gegebenen name und entryType zurück. Die Mitglieder der Liste werden durch die im Aufruf der observe()-Methode angegebenen Entry Types bestimmt. Die Liste ist in der Callback-Funktion des Observers verfügbar (als erstes Parameter im Callback).

Syntax

js
getEntriesByName(name)
getEntriesByName(name, type)

Parameter

name

Ein String, der den Namen des Eintrags darstellt, der abgerufen werden soll.

type Optional

Ein String, der den Typ des Eintrags darstellt, der abgerufen werden soll, wie z.B. "mark". Die gültigen Entry Types sind in PerformanceEntry.entryType aufgeführt.

Rückgabewert

Eine Liste von explizit beobachteten Performance-Entry-Objekten, die den angegebenen name und type haben. Wenn das type-Argument nicht angegeben wird, wird nur der name verwendet, um die zurückzugebenden Einträge zu bestimmen. Die Einträge sind in chronologischer Reihenfolge basierend auf der startTime der Einträge. Wenn keine Objekte die angegebenen Kriterien erfüllen, wird eine leere Liste zurückgegeben.

Beispiele

Arbeiten mit getEntries, getEntriesByName und getEntriesByType

Das folgende Beispiel zeigt den Unterschied zwischen den Methoden getEntries(), getEntriesByName() und getEntriesByType().

js
const observer = new PerformanceObserver((list, obs) => {
  // Log all entries
  let perfEntries = list.getEntries();
  perfEntries.forEach((entry) => {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  });

  // Log entries named "debugging" with type "measure"
  perfEntries = list.getEntriesByName("debugging", "measure");
  perfEntries.forEach((entry) => {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  });

  // Log entries with type "mark"
  perfEntries = list.getEntriesByType("mark");
  perfEntries.forEach((entry) => {
    console.log(`${entry.name}'s startTime: ${entry.startTime}`);
  });
});

// Subscribe to various performance event types
observer.observe({
  entryTypes: ["mark", "measure", "navigation", "resource"],
});

Spezifikationen

Specification
Performance Timeline
# dom-performanceobserverentrylist-getentriesbyname

Browser-Kompatibilität

BCD tables only load in the browser