Performance

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

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, User Timing, et Resource Timing.

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

Note : Cette interface et ses attributs sont accessibles aux Web Workers via WorkerGlobalScope.performance 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 Obsolète

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…

Note : Indisponible dans les Web Workers.

performance.timing Lecture seule Obsolète

PerformanceTiming est un objet contenant des informations de performance liées à la latence.

Note : Indisponible dans les Web Workers.

performance.memory Lecture seule Non standard

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 Expérimental

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

Specification
High Resolution Time
# sec-performance
Performance Timeline
# extensions-to-the-performance-interface
Resource Timing
# sec-extensions-performance-interface
User Timing Level 3
# extensions-performance-interface

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi