Performance

L'interface Performance donne accès à des informations liées aux performances pour la page actuelle. Elle fait partie de l'API « High Resolution Time », mais est complétée par les APIs Performance Timeline, Navigation Timing (en-US), User Timing (en-US), et Resource Timing (en-US).

Un objet de ce type peut être obtenu en appelant l'attribut en lecture seule window.performance (en-US).

Note : Cette interface et ses attributs sont accessibles aux Web Workers via WorkerGlobalScope.performance (en-US) sauf dans les cas cités ci-dessous. Notez également que les marqueurs et les mesures de performance sont définis par contexte. Si vous créez un marqueur dans le processus principal (ou un autre Web Worker), vous ne pourrez pas le voir dans le processus du Web Worker, et réciproquement.

Propriétés

L'interface Performance n'hérite d'aucune propriété.

performance.navigation Lecture seule Cette API obsolète ne doit plus être utilisée, mais elle peut continuer à fonctionner.
PerformanceNavigation est un objet qui fournit des informations contextuelles sur les opérations incluses dans les indicateurs de timing, notamment si la page a été chargée ou actualisée, combien de redirections ont été effectuées, etc…

Indisponible dans les Web Workers.

performance.timing Lecture seule Cette API obsolète ne doit plus être utilisée, mais elle peut continuer à fonctionner.
PerformanceTiming est un objet contenant des informations de performance liées à la latence.

Indisponible dans les Web Workers.

performance.memory Lecture seule Cette API n'a pas été standardisée.
Une extension non standard ajoutée dans Chrome, cette propriété fournit à un objet des informations de base sur l'utilisation de la mémoire. Vous ne devriez pas utiliser cette API non standard.
Performance.timeOrigin Lecture seule This is an experimental API that should not be used in production code.
Fournit un horodatage haute résolution de l'heure de début de la mesure de performance.

Méthodes

L'interface Performance n'hérite d'aucune méthode.

performance.clearMarks()
Supprime le marqueur indiqué des données de performances du navigateur mises en mémoire tampon.
performance.clearMeasures()
Supprime la mesure indiquée des données de performances du navigateur mises en mémoire tampon.
performance.clearResourceTimings()
Supprime toutes les entrées de performance avec un entryType "resource" des données de performances du navigateur mises en mémoire tampon.
performance.getEntries()
Retourne une liste d'objets PerformanceEntry basée sur le filtre indiqué.
performance.getEntriesByName()
Retourne une liste d'objets PerformanceEntry basée sur le nom indiqué.
performance.getEntriesByType()
Retourne une liste d'objets PerformanceEntry basée sur le type indiqué.
performance.mark()
Crée un timestamp avec le nom indiqué, dans la mémoire tampon du navigateur dédiée aux performances.
performance.measure()
Crée un timestamp nommé, dans la mémoire tampon du navigateur dédiée aux performances, entre deux marqueurs spécifiques (connus comme le marqueur de début et le marqueur de fin, respectivement).
Performance.now()
Retourne un objet DOMHighResTimeStamp représentant le nombre de millisecondes écoulées depuis un instant donné.
performance.setResourceTimingBufferSize()
Configure la taille de la mémoire tampon pour le chronométrage des ressources du navigateur. La valeur passée en argument indiquera le nombre maximal d'objets PerformanceEntry ayant le type "resource" qu'il sera possible d'y stocker.
Performance.toJSON()
Retourne un objet JSON représentant l'objet Performance.

Événements

On pourra écouter ces événements en utilisant addEventListener() ou en assignant un gestionnaire d'événement à la propriété on<EventName> de cette interface.

resourcetimingbufferfull
Déclenché lorsque le tampon de synchronisation des ressources du navigateur est plein. Également disponible via la propriété onresourcetimingbufferfull.

Spécifications

Spécification Statut Commentaires
High Resolution Time Level 2
La définition de 'Performance' dans cette spécification.
Recommendation Définition de la méthode toJson().
High Resolution Time
La définition de 'Performance' dans cette spécification.
Recommendation Définition de la méthode now().
Performance Timeline Level 2
La définition de 'Performance extensions' dans cette spécification.
Candidat au statut de recommandation Changements sur l'interface getEntries().
Performance Timeline
La définition de 'Performance extensions' dans cette spécification.
Recommendation Définition des méthodes getEntries(), getEntriesByType() et getEntriesByName().
Resource Timing Level 1
La définition de 'Performance extensions' dans cette spécification.
Candidat au statut de recommandation Définition des méthodes clearResourceTimings() et setResourceTimingBufferSize() et de la propriété onresourcetimingbufferfull.
User Timing Level 2
La définition de 'Performance extensions' dans cette spécification.
Version de travail Clarifications des méthodes mark(), clearMark(), measure() et clearMeasure().
User Timing
La définition de 'Performance extensions' dans cette spécification.
Recommendation Définition des méthodes mark(), clearMark(), measure() et clearMeasure().

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi