| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/PerformanceResourceTiming | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit September 2017 browserbergreifend verfgbar.
* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.
Hinweis: Diese Funktion ist in Web Workers verfgbar.
Die Schnittstelle PerformanceResourceTiming ermglicht es, detaillierte Netzwerk-Zeitmessdaten zum Laden der Ressourcen einer Anwendung abzurufen und zu analysieren. Eine Anwendung kann anhand dieser Messwerte beispielsweise ermitteln, wie lange das Abrufen einer bestimmten Ressource dauert, etwa eines XMLHttpRequest, eines <SVG>, eines Bildes oder eines Skripts.
Die Eigenschaften der Schnittstelle bilden anhand hochauflsender Zeitstempel eine Zeitleiste fr das Laden einer Ressource. Sie erfasst Netzwerkereignisse wie Beginn und Ende von Weiterleitungen, Beginn des Abrufs, Beginn und Ende der DNS-Abfrage sowie Beginn und Ende der Antwort. Darber hinaus erweitert die Schnittstelle PerformanceEntry um Eigenschaften, die Aufschluss ber die Gre der abgerufenen Ressource und den Typ der Ressource geben, die den Abruf ausgelst hat.
Mit den Eigenschaften dieser Schnittstelle knnen Sie verschiedene Zeitmesswerte fr Ressourcen berechnen. Hufige Anwendungsflle sind:
connectEnd - connectStart)domainLookupEnd - domainLookupStart)redirectEnd - redirectStart)firstInterimResponseStart - finalResponseHeadersStart)responseStart - requestStart)finalResponseHeadersStart - requestStart)requestStart - secureConnectionStart)responseEnd - fetchStart)fetchStart - workerStart)decodedBodySize sollte nicht gleich encodedBodySize sein)transferSize sollte 0 sein)nextHopProtocol sollte HTTP/2 oder HTTP/3 sein)renderBlockingStatus)Standardmig werden nur 250 Eintrge mit Zeitmessdaten fr Ressourcen gepuffert. Weitere Informationen finden Sie unter Gre des Ressourcenpuffers im Leitfaden zu Resource Timing.
Viele Eigenschaften fr die Zeitmessung von Ressourcen geben 0 oder eine leere Zeichenfolge zurck, wenn es sich um eine Cross-Origin-Anfrage handelt. Damit Zeitmessinformationen fr Cross-Origin-Ressourcen verfgbar sind, muss der HTTP-Antwort-Header Timing-Allow-Origin gesetzt werden.
Die folgenden Eigenschaften geben standardmig 0 zurck, wenn eine Ressource von einer anderen Origin als der Webseite selbst geladen wird: redirectStart, redirectEnd, domainLookupStart, domainLookupEnd, connectStart, connectEnd, secureConnectionStart, requestStart und responseStart.
Damit beispielsweise https://developer.mozilla.org die Zeitmessinformationen einer Ressource einsehen kann, sollte die Cross-Origin-Ressource Folgendes senden:
Timing-Allow-Origin: https://developer.mozilla.org
PerformanceEntry geerbtDiese Schnittstelle erweitert die folgenden Eigenschaften von PerformanceEntry fr Performance-Eintrge vom Typ Ressource, indem sie diese wie folgt przisiert und einschrnkt:
PerformanceEntry.duration SchreibgeschtztGibt einen timestamp zurck, der die Differenz zwischen den Eigenschaften responseEnd und startTime darstellt.
PerformanceEntry.entryType SchreibgeschtztGibt "resource" zurck.
PerformanceEntry.name SchreibgeschtztGibt die URL der Ressource zurck.
PerformanceEntry.startTime SchreibgeschtztGibt den timestamp fr den Zeitpunkt zurck, zu dem der Abruf einer Ressource begann. Wenn keine HTTP-Weiterleitungen vorliegen oder deren Zeitmessinformationen nicht verfgbar sind, entspricht dieser Wert PerformanceResourceTiming.fetchStart. Andernfalls kann dieser Wert vor fetchStart liegen.
Die Schnittstelle untersttzt die folgenden Zeitstempel-Eigenschaften. Sie sind im Diagramm dargestellt und in der Reihenfolge aufgefhrt, in der sie beim Abrufen einer Ressource erfasst werden. Links in der Navigation finden Sie eine alphabetische Auflistung.
PerformanceResourceTiming.redirectStart SchreibgeschtztEin DOMHighResTimeStamp, der den Beginn des Abrufs angibt, der die Weiterleitung auslst.
PerformanceResourceTiming.redirectEnd SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar nach dem Empfang des letzten Bytes der Antwort auf die letzte Weiterleitung.
PerformanceResourceTiming.workerStart SchreibgeschtztGibt einen DOMHighResTimeStamp fr den Zeitpunkt unmittelbar vor dem Auslsen des FetchEvent zurck, wenn bereits ein Service-Worker-Thread luft. Luft noch keiner, bezeichnet der Zeitstempel den Zeitpunkt unmittelbar vor dem Start des Service-Worker-Threads. Wenn die Ressource nicht von einem Service Worker abgefangen wird, gibt die Eigenschaft immer 0 zurck.
PerformanceResourceTiming.fetchStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar bevor der Browser mit dem Abruf der Ressource beginnt. Wenn keine HTTP-Weiterleitungen vorliegen oder deren Zeitmessinformationen nicht verfgbar sind, entspricht dieser Wert PerformanceEntry.startTime. Andernfalls kann dieser Wert nach startTime liegen.
PerformanceResourceTiming.domainLookupStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar bevor der Browser die DNS-Abfrage fr die Ressource beginnt.
PerformanceResourceTiming.domainLookupEnd SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar nachdem der Browser die DNS-Abfrage fr die Ressource abgeschlossen hat.
PerformanceResourceTiming.connectStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar bevor der Browser beginnt, die Verbindung zum Server fr den Abruf der Ressource herzustellen.
PerformanceResourceTiming.secureConnectionStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar bevor der Browser den Handshake zur Absicherung der aktuellen Verbindung beginnt.
PerformanceResourceTiming.connectEnd SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar nachdem der Browser die Verbindung zum Server fr den Abruf der Ressource hergestellt hat.
PerformanceResourceTiming.requestStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar bevor der Browser beginnt, die Ressource beim Server anzufordern.
PerformanceResourceTiming.firstInterimResponseStart SchreibgeschtztEin DOMHighResTimeStamp, der den Zeitpunkt einer vorlufigen Antwort angibt, beispielsweise 100 Continue oder 103 Early Hints.
PerformanceResourceTiming.responseStart SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar nachdem der Browser das erste Byte der Serverantwort empfangen hat. Dabei kann es sich auch um eine vorlufige Antwort handeln.
PerformanceResourceTiming.finalResponseHeadersStart SchreibgeschtztEin DOMHighResTimeStamp, der den Zeitpunkt der endgltigen Antwort-Header angibt, beispielsweise bei 200 Success, nach etwaigen vorlufigen Antworten.
PerformanceResourceTiming.responseEnd SchreibgeschtztEin DOMHighResTimeStamp fr den Zeitpunkt unmittelbar nachdem der Browser das letzte Byte der Ressource empfangen hat oder unmittelbar bevor die Transportverbindung geschlossen wird je nachdem, was zuerst eintritt.
Darber hinaus stellt diese Schnittstelle die folgenden Eigenschaften mit weiteren Informationen zu einer Ressource bereit:
PerformanceResourceTiming.contentType SchreibgeschtztEine Zeichenfolge, die eine minimierte und standardisierte Version des MIME-Typs der abgerufenen Ressource darstellt.
PerformanceResourceTiming.contentEncoding Schreibgeschtzt Eine Zeichenfolge, die das Content-Encoding der abgerufenen Ressource darstellt.
PerformanceResourceTiming.decodedBodySize SchreibgeschtztEine Zahl, die die Gre des beim Abruf (ber HTTP oder aus dem Cache) empfangenen Nachrichtenkrpers in Oktetten angibt, nachdem eine etwaige Inhaltskodierung entfernt wurde.
PerformanceResourceTiming.deliveryType SchreibgeschtztGibt an, wie die Ressource bereitgestellt wurde beispielsweise aus dem Cache oder durch einen vorgezogenen Abruf fr die Navigation.
PerformanceResourceTiming.encodedBodySize SchreibgeschtztEine Zahl, die die Gre des beim Abruf (ber HTTP oder aus dem Cache) empfangenen Nutzdatenkrpers in Oktetten angibt, bevor etwaige Inhaltskodierungen entfernt wurden.
PerformanceResourceTiming.initiatorType SchreibgeschtztEine Zeichenfolge, die die Webplattform-Funktion angibt, die den Performance-Eintrag ausgelst hat.
PerformanceResourceTiming.nextHopProtocol SchreibgeschtztEine Zeichenfolge, die das fr den Abruf der Ressource verwendete Netzwerkprotokoll angibt, identifiziert durch die ALPN-Protokoll-ID (RFC7301).
PerformanceResourceTiming.renderBlockingStatus SchreibgeschtztEine Zeichenfolge, die angibt, ob die Ressource das Rendering blockiert. Der Wert ist entweder "blocking" oder "non-blocking".
PerformanceResourceTiming.responseStatus SchreibgeschtztEine Zahl, die den beim Abrufen der Ressource zurckgegebenen HTTP-Antwortstatuscode angibt.
PerformanceResourceTiming.transferSize SchreibgeschtztEine Zahl, die die Gre der abgerufenen Ressource in Oktetten angibt. Sie umfasst die Antwort-Header-Felder und den Nutzdatenkrper der Antwort.
PerformanceResourceTiming.serverTiming SchreibgeschtztEin Array von PerformanceServerTiming-Eintrgen mit Zeitmesswerten des Servers.
PerformanceResourceTiming.toJSON()Gibt ein einfaches, als JSON serialisierbares Objekt zurck, das das PerformanceResourceTiming-Objekt darstellt. Die Methode wird automatisch von JSON.stringify() aufgerufen.
Dieses Beispiel verwendet einen PerformanceObserver, der ber neue Performance-Eintrge vom Typ resource benachrichtigt, sobald sie in der Performance-Zeitleiste des Browsers erfasst werden. Verwenden Sie die Option buffered, um auch auf Eintrge zuzugreifen, die vor dem Erstellen des Observers erfasst wurden.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(entry);
});
});
observer.observe({ type: "resource", buffered: true });
Dieses Beispiel verwendet Performance.getEntriesByType(). Die Methode zeigt nur Performance-Eintrge vom Typ resource an, die zum Zeitpunkt ihres Aufrufs in der Performance-Zeitleiste des Browsers vorhanden sind:
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
console.log(entry);
});
| Spezifikation |
|---|
| Resource Timing # performanceresourcetiming |
PerformanceResourceTimingconnectEndconnectStartcontentEncodingcontentTypedecodedBodySizedeliveryTypedomainLookupEnddomainLookupStartencodedBodySizefetchStartfinalResponseHeadersStartfirstInterimResponseStartinitiatorTypenextHopProtocolredirectEndredirectStartrenderBlockingStatusrequestStartresponseEndresponseStartresponseStatussecureConnectionStartserverTimingtransferSizeworkerStartEventCountsInteractionContentfulPaintLargestContentfulPaintLayoutShiftLayoutShiftAttributionNotRestoredReasonDetailsNotRestoredReasonsPerformancePerformanceElementTimingPerformanceEntryPerformanceEventTimingPerformanceLongAnimationFrameTimingPerformanceLongTaskTimingPerformanceMarkPerformanceMeasurePerformanceNavigationPerformanceNavigationTimingPerformanceObserverPerformanceObserverEntryListPerformancePaintTimingPerformanceScriptTimingPerformanceServerTimingPerformanceSoftNavigationPerformanceTimingTaskAttributionTimingVisibilityStateEntryWindow.performanceWorkerGlobalScope.performanceDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |