--- title: PerformanceEntry slug: Web/API/PerformanceEntry tags: - API - Interface - Performance Timeline API - PerformanceEntry - Reference - Performance Web translation_of: Web/API/PerformanceEntry ---
L'objet PerformanceEntry
encapsule une seule mesure de performance qui fait partie de la chronologie de performance. Une entrée de performance peut être créée directement en faisant une marque ou une mesure (par exemple en appelant la méthode mark()
) à un point explicite d'une application. Les entrées de performance sont également créées de manière indirecte, par exemple en chargeant une ressource (telle qu'une image).
Les instances PerformanceEntry
auront toujours l'un des sous-types suivants :
PerformanceMark
PerformanceMeasure
PerformanceFrameTiming
PerformanceNavigationTiming
PerformanceResourceTiming
PerformancePaintTiming
{{AvailableInWorkers}}
PerformanceEntry.name
{{readonlyInline}}PerformanceEntry.entryType
. La valeur des deux dépend du sous-type. Voir la page de la propriété pour les valeurs valides.PerformanceEntry.entryType
{{readonlyInline}}DOMString
représentant le type de mesure de performance comme, par exemple, "mark
". Voir la page des propriétés pour les valeurs valides.PerformanceEntry.startTime
{{readonlyInline}}DOMHighResTimeStamp
représentant l'heure de départ de la mesure de performance.PerformanceEntry.duration
{{readonlyInline}}DOMHighResTimeStamp
représentant la valeur temporelle de la durée de l'événement de performance.PerformanceEntry.toJSON()
PerformanceEntry
.L'exemple suivant vérifie toutes les propriétés PerformanceEntry
pour voir si le navigateur les prend en charge et, le cas échéant, écrit leurs valeurs dans la console.
function print_PerformanceEntries() { // Utilise getEntries() pour obtenir une liste de toutes les entrées de performance. let p = performance.getEntries(); for (let i = 0; i < p.length; i++) { console.log("PerformanceEntry[" + i + "]"); print_PerformanceEntry(p[i]); } } function print_PerformanceEntry(perfEntry) { let properties = ["name", "entryType", "startTime", "duration"]; for (let i = 0; i < properties.length; i++) { // Vérifie chaque propriété let supported = properties[i] in perfEntry; if (supported) { let value = perfEntry[properties[i]]; console.log("... " + properties[i] + " = " + value); } else { console.log("... " + properties[i] + " n'est PAS pris en charge"); } } }
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('Resource Timing 3')}} | {{Spec2('Resource Timing 3')}} | |
{{SpecName('Resource Timing 2')}} | {{Spec2('Resource Timing 2')}} | |
{{SpecName('Resource Timing')}} | {{Spec2('Resource Timing')}} | Ajoute l'interface PerformanceResourceTiming et la valeur resource pour entryType . |
{{SpecName('Navigation Timing Level 2')}} | {{Spec2('Navigation Timing Level 2')}} | |
{{SpecName('Navigation Timing')}} | {{Spec2('Navigation Timing')}} | Ajoute l'interface PerformanceNavigationTiming et la valeur navigation pour entryType . |
{{SpecName('User Timing Level 2')}} | {{Spec2('User Timing Level 2')}} | |
{{SpecName('User Timing')}} | {{Spec2('User Timing')}} | Ajoute les interfaces PerformanceMark et PerformanceMeasure ainsi que les valeurs mark et measure pour entryType . |
{{SpecName('Frame Timing')}} | {{Spec2('Frame Timing')}} | Ajoute l'interface PerformanceFrameTiming et la valeur frame pour entryType . |
{{SpecName('Performance Timeline Level 2', '#dom-performanceentry', 'PerformanceEntry')}} | {{Spec2('Performance Timeline Level 2')}} | Ajout de la méthode de sérialisation toJSON() . |
{{SpecName('Performance Timeline', '#dom-performanceentry', 'PerformanceEntry')}} | {{Spec2('Performance Timeline')}} | Définition initiale. |
{{Compat("api.PerformanceEntry")}}