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, die zeitliche Erfassung 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, der der Performance-Eintrag zugeordnet wurde.
PerformanceEntry.startTimeSchreibgeschützt-
Ein
DOMHighResTimeStamp, der den Startzeitpunkt der Leistungsmetrik angibt.
Instanzmethoden
PerformanceEntry.toJSON()-
Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das
PerformanceEntry-Objekt repräsentiert. Wird vonJSON.stringify()automatisch aufgerufen.
Beispiele
>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 jeweils passenden 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> |