--- title: Performance slug: Web/API/Performance tags: - API - Navigation Timing - Performance - Performance Web - Reference translation_of: Web/API/Performance ---
{{APIRef("High Resolution Time")}}

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 {{domxref("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é.

{{domxref("performance.navigation")}} {{readonlyInline}} {{deprecated_inline}}
{{domxref("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.

{{domxref("performance.timing")}} {{readonlyInline}} {{deprecated_inline}}
{{domxref("PerformanceTiming")}} est un objet contenant des informations de performance liées à la latence.

Indisponible dans les Web Workers.

{{domxref("performance.memory")}} {{readonlyInline}} {{Non-standard_inline}}
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.
{{domxref("Performance.timeOrigin")}} {{readonlyInline}} {{Experimental_inline}}
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.

{{domxref("performance.clearMarks()")}}
Supprime le marqueur indiqué des données de performances du navigateur mises en mémoire tampon.
{{domxref("performance.clearMeasures()")}}
Supprime la mesure indiquée des données de performances du navigateur mises en mémoire tampon.
{{domxref("performance.clearResourceTimings()")}}
Supprime toutes les {{domxref("PerformanceEntry","entrées de performance","",1)}} avec un {{domxref("PerformanceEntry.entryType","entryType")}} "resource" des données de performances du navigateur mises en mémoire tampon.
{{domxref("performance.getEntries()")}}
Retourne une liste d'objets {{domxref("PerformanceEntry")}} basée sur le filtre indiqué.
{{domxref("performance.getEntriesByName()")}}
Retourne une liste d'objets {{domxref("PerformanceEntry")}} basée sur le nom indiqué.
{{domxref("performance.getEntriesByType()")}}
Retourne une liste d'objets {{domxref("PerformanceEntry")}} basée sur le type indiqué.
{{domxref("performance.mark()")}}
Crée un {{domxref("DOMHighResTimeStamp","timestamp")}} avec le nom indiqué, dans la mémoire tampon du navigateur dédiée aux performances.
{{domxref("performance.measure()")}}
Crée un {{domxref("DOMHighResTimeStamp","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).
{{domxref("Performance.now()")}}
Retourne un objet {{domxref("DOMHighResTimeStamp")}} représentant le nombre de millisecondes écoulées depuis un instant donné.
{{domxref("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 {{domxref("PerformanceEntry")}} ayant le {{domxref("PerformanceEntry.entryType","type")}} "resource" qu'il sera possible d'y stocker.
{{domxref("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.

{{DOMxRef("Performance.resourcetimingbufferfull_event", "resourcetimingbufferfull")}}
Déclenché lorsque le tampon de synchronisation des ressources du navigateur est plein. Également disponible via la propriété {{DOMxRef("Performance.onresourcetimingbufferfull", "onresourcetimingbufferfull")}}.

Spécifications

Spécification Statut Commentaires
{{SpecName('Highres Time Level 2', '#sec-performance', 'Performance')}} {{Spec2('Highres Time Level 2')}} Définition de la méthode toJson().
{{SpecName('Highres Time', '#performance', 'Performance')}} {{Spec2('Highres Time')}} Définition de la méthode now().
{{SpecName('Performance Timeline Level 2', '#extensions-to-the-performance-interface', 'Performance extensions')}} {{Spec2('Performance Timeline Level 2')}} Changements sur l'interface getEntries().
{{SpecName('Performance Timeline', '#extensions-to-the-performance-interface', 'Performance extensions')}} {{Spec2('Performance Timeline')}} Définition des méthodes getEntries(), getEntriesByType() et getEntriesByName().
{{SpecName('Resource Timing', '#extensions-performance-interface', 'Performance extensions')}} {{Spec2('Resource Timing')}} Définition des méthodes clearResourceTimings() et setResourceTimingBufferSize() et de la propriété onresourcetimingbufferfull.
{{SpecName('User Timing Level 2', '#extensions-performance-interface', 'Performance extensions')}} {{Spec2('User Timing Level 2')}} Clarifications des méthodes mark(), clearMark(), measure() et clearMeasure().
{{SpecName('User Timing', '#extensions-performance-interface', 'Performance extensions')}} {{Spec2('User Timing')}} Définition des méthodes mark(), clearMark(), measure() et clearMeasure().

Compatibilité des navigateurs

{{Compat("api.Performance")}}

Voir aussi