PerformanceResourceTiming

L'interface PerformanceResourceTiming permet de récupérer et d'analyser des données de synchronisation réseau détaillées concernant le chargement des ressources d'une application. Une application peut utiliser les mesures temporelles pour déterminer, par exemple, la durée nécessaire à l'extraction d'une ressource spécifique, telle qu'une XMLHttpRequest, un élément <svg>, une image ou un script.

Les propriétés de l'interface créent une chronologie de chargement des ressources avec un timestamps haute résolution pour les événements réseau tels que les heures de début et de fin de redirection, les heures de début de récupération, les heures de début et de fin de recherche DNS, les heures de début et de fin de réponse, etc. En outre, l'interface étend PerformanceEntry avec d'autres propriétés qui fournissent des données sur la taille de la ressource extraite ainsi que le type de ressource qui a initié l'extraction.

Note: Cette fonctionnalité est disponible via les Web Workers.

Propriétés

Cette interface étend les propriétés PerformanceEntry suivantes pour les types d'entrée de performance des ressources en les restreignant comme suit :

PerformanceEntry.entryType Lecture seule
Retourne "resource".
PerformanceEntry.name Lecture seule
Retourne l'URL des ressources.
PerformanceEntry.startTime Lecture seule
Retourne le timestamp de l'heure de début de la récupération d'une ressource. Cette valeur est équivalente à PerformanceResourceTiming.fetchStart.
PerformanceEntry.duration Lecture seule
Retourne un timestamp qui est la différence entre les propriétés responseEnd et startTime.

L'interface prend également en charge les propriétés suivantes, qui sont énumérées dans l'ordre temporel selon lequel elles sont enregistrées pour l'extraction d'une seule ressource. Une liste alphabétique est présentée dans la navigation, à gauche.

PerformanceResourceTiming.initiatorType Lecture seule
Une chaîne de caractère string représentant le type de ressource qui a initié l'entrée de performance, comme spécifié dans PerformanceResourceTiming.initiatorType.
PerformanceResourceTiming.nextHopProtocol Lecture seule
Une chaîne de caractère string représentant le protocole réseau utilisé pour récupérer la ressource, tel qu'identifié par le ALPN Protocol ID (RFC7301).
PerformanceResourceTiming.workerStart Lecture seule
Retourne un DOMHighResTimeStamp immédiatement avant de transmettre le FetchEvent si un processus de Service Worker est déjà en cours, ou immédiatement avant de lancer le processus de Service Worker s'il n'est pas encore en cours. Si la ressource n'est pas interceptée par un Service Worker, la propriété retourne toujours 0.
PerformanceResourceTiming.redirectStart Lecture seule
Un DOMHighResTimeStamp qui représente l'heure de début de l'extraction qui déclenche la redirection.
PerformanceResourceTiming.redirectEnd Lecture seule
Un DOMHighResTimeStamp immédiatement après la réception du dernier octet de la réponse de la dernière redirection.
PerformanceResourceTiming.fetchStart Lecture seule
Un DOMHighResTimeStamp immédiatement avant que le navigateur ne commence à récupérer la ressource.
PerformanceResourceTiming.domainLookupStart Lecture seule
Un DOMHighResTimeStamp immédiatement avant que le navigateur ne commence la recherche du nom de domaine pour la ressource.
PerformanceResourceTiming.domainLookupEnd Lecture seule
Un DOMHighResTimeStamp représentant l'heure immédiatement après la fin de la recherche du nom de domaine de la ressource par le navigateur.
PerformanceResourceTiming.connectStart Lecture seule
Un DOMHighResTimeStamp immédiatement avant que le navigateur ne commence à établir la connexion avec le serveur pour récupérer la ressource.
PerformanceResourceTiming.connectEnd Lecture seule
Un DOMHighResTimeStamp immédiatement après que le navigateur ait fini d'établir la connexion avec le serveur pour récupérer la ressource.
PerformanceResourceTiming.secureConnectionStart Lecture seule
Un DOMHighResTimeStamp immédiatement avant que le navigateur ne lance le processus de reconnaissance pour sécuriser la connexion en cours.
PerformanceResourceTiming.requestStart Lecture seule
Un DOMHighResTimeStamp immédiatement avant que le navigateur ne commence à demander la ressource au serveur.
PerformanceResourceTiming.responseStart Lecture seule
Un DOMHighResTimeStamp immédiatement après que le navigateur ait reçu le premier octet de la réponse du serveur.
PerformanceResourceTiming.responseEnd Lecture seule
Un DOMHighResTimeStamp immédiatement après la réception par le navigateur du dernier octet de la ressource ou immédiatement avant la fermeture de la connexion de transfert, selon la première éventualité.
PerformanceResourceTiming.transferSize Lecture seule
Un nombre représentant la taille (en octets) de la ressource extraite. La taille comprend les champs d'en-tête de la réponse plus le corps des données utiles de la réponse.
PerformanceResourceTiming.encodedBodySize Lecture seule
Un nombre représentant la taille (en octets) reçue de la récupération (HTTP ou cache), du corps de la donnée, avant de supprimer tout codage de contenu appliqué.
PerformanceResourceTiming.decodedBodySize Lecture seule
Un nombre représentant la taille (en octets) reçue de la récupération (HTTP ou cache) du message body, après avoir retiré tout codage de contenu appliqué.
PerformanceResourceTiming.serverTiming Lecture seule
Un tableau d'entrées PerformanceServerTiming contenant des mesures de synchronisation du serveur.

Méthodes

PerformanceResourceTiming.toJSON()
Renvoie une chaîne de caractère DOMString qui est la représentation JSON de l'objet PerformanceResourceTiming.

Exemple

Voir l'exemple dans Utilisation de Resource Timing API (en-US).

Spécifications

Spécification Statut Commentaire
Resource Timing Level 1
La définition de 'PerformanceResourceTiming' dans cette spécification.
Candidat au statut de recommandation Définition initiale.

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi