Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformanceEntry

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das PerformanceEntry-Objekt kapselt eine einzelne Leistungsmetrik, die Teil der Performance-Timeline des Browsers ist.

Die Performance API bietet integrierte Metriken in Form spezialisierter Unterklassen von PerformanceEntry. Dazu gehören Einträge für das Laden von Ressourcen, das Timing von Ereignissen und mehr.

Ein Performance-Eintrag kann auch erstellt werden, indem die Methoden Performance.mark() oder Performance.measure() an einer bestimmten Stelle in einer Anwendung aufgerufen werden. So können Sie der Performance-Timeline eigene Metriken hinzufügen.

PerformanceEntry-Instanzen gehören immer zu einer der folgenden Unterklassen:

Instanzeigenschaften

PerformanceEntry.name Schreibgeschützt

Eine Zeichenfolge, die den Namen eines Performance-Eintrags angibt. Der Wert hängt vom Untertyp ab.

PerformanceEntry.duration Schreibgeschützt

Ein DOMHighResTimeStamp, der die Dauer des Performance-Eintrags angibt.

PerformanceEntry.entryType Schreibgeschützt

Eine Zeichenfolge, die den Typ der Leistungsmetrik angibt. Beispielsweise "mark", wenn PerformanceMark verwendet wird.

PerformanceEntry.navigationId Schreibgeschützt

Die ID der Navigation, in deren Rahmen der Performance-Eintrag ausgegeben wurde.

PerformanceEntry.startTime Schreibgeschützt

Ein DOMHighResTimeStamp, der den Startzeitpunkt der Leistungsmetrik angibt.

Instanzmethoden

PerformanceEntry.toJSON()

Gibt ein einfaches, JSON-serialisierbares Objekt zurück, das das PerformanceEntry-Objekt repräsentiert. Wird von JSON.stringify() automatisch aufgerufen.

Beispiel

Mit Performance-Einträgen arbeiten

Das folgende Beispiel erstellt PerformanceEntry-Objekte der Typen PerformanceMark und PerformanceMeasure. Die Unterklassen PerformanceMark und PerformanceMeasure erben die Eigenschaften duration, entryType, name und startTime von PerformanceEntry und setzen sie auf die entsprechenden Werte.

js
// Place at a location in the code that starts login
performance.mark("login-started");

// Place at a location in the code that finishes login
performance.mark("login-finished");

// Measure login duration
performance.measure("login-duration", "login-started", "login-finished");

function perfObserver(list, observer) {
  list.getEntries().forEach((entry) => {
    if (entry.entryType === "mark") {
      console.log(`${entry.name}'s startTime: ${entry.startTime}`);
    }
    if (entry.entryType === "measure") {
      console.log(`${entry.name}'s duration: ${entry.duration}`);
    }
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });

Spezifikationen

Spezifikation
Performance Timeline
# performanceentry

Browser-Kompatibilität