Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Resource timing
Resource Timing ist Teil der Performance API und ermöglicht das Abrufen und Analysieren detaillierter Netzwerktiming-Daten für das Laden von Ressourcen einer Anwendung. Eine Anwendung kann die Timing-Metriken verwenden, um beispielsweise die Dauer zu bestimmen, die benötigt wird, um eine bestimmte Ressource (wie ein Bild oder ein Skript) entweder implizit als Teil des Seitenladens oder explizit von JavaScript zu laden, zum Beispiel mit derfetch() API.
Jede Ressource in einem Dokument wird durch einenPerformanceResourceTiming-Eintrag (der dasPerformanceEntry-Interface erweitert) mit dementryType von"resource" dargestellt.
Für jedenPerformanceResourceTiming-Eintrag wird eineRessourcenlade-Timeline aufgezeichnet, mitHochauflösungs-Zeitstempeln für Netzwerkevents wie Start- und Endzeiten von Weiterleitungen, Start- und Endzeiten von DNS-Lookups, Anfragebeginn, Start und Ende der Antwort und so weiter. Neben den Zeitstempeln sind auch andere Eigenschaften enthalten, die Informationen über die Ressource bieten, wie zum Beispiel die Größe der abgerufenen Ressource oder der Typ der Ressource, die die Abfrage initiiert hat.
SieheTypische Ressourcen-Timing-Metriken auf der Referenzseite für dasPerformanceResourceTiming-Interface.
In diesem Artikel
Ressourcenlade-Zeitstempel
Abbildung 1. Ressourcenlade-Zeitstempel (Quelle).
Eine Anwendung kann Zeitstempel für die verschiedenen Phasen abrufen, die zum Laden einer Ressource verwendet werden. Zum Beispiel diestartTime, DNS-Zeitstempel, Verbindungsaufbauzeiten und dann verschiedene Ressourcen-Downloadzeiten.
SieheZeitstempel auf der Referenzseite für dasPerformanceResourceTiming-Interface.
Ressourcengröße
DasPerformanceResourceTiming-Interface hat drei Eigenschaften, die genutzt werden können, um Größeninformationen über eine Ressource zu erhalten. DietransferSize-Eigenschaft gibt die Größe (in Bytes) der abgerufenen Ressource zurück, einschließlich der Antwortheader-Felder und des Antwortnutzlastkörpers.
DieencodedBodySize-Eigenschaft gibt die Größe (in Oktetten) zurück, die aus dem Abruf (HTTP oder Cache) empfangen wurde, desNutzlastkörpers,vor dem Entfernen angewendeter Inhaltscodierungen.decodedBodySize gibt die Größe (in Oktetten) zurück, die aus dem Abruf (HTTP oder Cache) empfangen wurde, desNachrichtenkörpers,nachdem alle angewendeten Inhaltscodierungen entfernt wurden.
Andere Eigenschaften
DasPerformanceResourceTiming-Interface bietetzusätzliche Ressourceninformationen. Konsultieren Sie die Referenzdokumentation für die vollständige Liste der Eigenschaften.
Verwalten der Ressourcenspeichergrößen
Wenn Ihre Website oder Anwendung mehr als 250 Ressourcen abruft und Sie mehr als 250PerformanceResourceTiming-Einträge aufzeichnen möchten, müssen Sie die Größe des Ressourcentiming-Puffers erhöhen.
Um die Größe des Ressourcendatenpuffers des Browsers einzustellen, verwenden Sie die MethodePerformance.setResourceTimingBufferSize(), und um den Ressourcendatenpuffer des Browsers zu leeren, verwenden Sie die MethodePerformance.clearResourceTimings().
Um benachrichtigt zu werden, wenn der Ressourcentiming-Puffer des Browsers voll ist, hören Sie auf dasresourcetimingbufferfull-Event.
Der folgende Aufruf erlaubt 500"resource"-Performance-Einträge in der Performance-Timeline des Browsers.
performance.setResourceTimingBufferSize(500);Für weitere Informationen siehe auchVerwalten von Pufferspeichergrößen.
Cross-Origin-Timing-Informationen
Viele der Ressourcentiming-Eigenschaften sind eingeschränkt und geben0 oder einen leeren String zurück, wenn die Ressource eine Cross-Origin-Anfrage ist. Um Cross-Origin-Timing-Informationen freizugeben, muss derTiming-Allow-Origin HTTP-Antwortheader gesetzt werden.
Für weitere Informationen zu den betroffenen Feldern sieheCross-Origin-Timing-Informationen auf der Referenzseite für dasPerformanceResourceTiming-Interface.