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:
InteractionContentfulPaintLargestContentfulPaintLayoutShiftPerformanceContainerTimingPerformanceElementTimingPerformanceEventTimingPerformanceLongAnimationFrameTimingPerformanceLongTaskTimingPerformanceMarkPerformanceMeasurePerformanceNavigationTimingPerformancePaintTimingPerformanceResourceTimingPerformanceScriptTimingPerformanceSoftNavigationTaskAttributionTimingVisibilityStateEntry
Instanzeigenschaften
PerformanceEntry.nameSchreibgeschützt-
Eine Zeichenfolge, die den Namen eines Performance-Eintrags angibt. Der Wert hängt vom Untertyp ab.
PerformanceEntry.durationSchreibgeschützt-
Ein
DOMHighResTimeStamp, der die Dauer des Performance-Eintrags angibt. PerformanceEntry.entryTypeSchreibgeschützt-
Eine Zeichenfolge, die den Typ der Leistungsmetrik angibt. Beispielsweise
"mark", wennPerformanceMarkverwendet wird. -
Die ID der Navigation, in deren Rahmen der Performance-Eintrag ausgegeben wurde.
PerformanceEntry.startTimeSchreibgeschü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 vonJSON.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.
// 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> |