PerformanceEntry.duration
La propriété duration
renvoie un timestamp
qui correspond à la durée de l'entrée de performance.
Note: Cette fonctionnalité est disponible via les Web Workers
La valeur retournée par cette propriété dépend du type de l'entrée de performance :
- «
frame
» - retourne untimestamp
indiquant la différence entre lestartTime
de deux frames successives. - «
mark
» - retourne "0
" (une marque n'a pas de durée). - «
measure
» - retourne letimestamp
qui correspond à la durée de la mesure. - «
navigation
» - retourne letimestamp
qui est respectivement la différence entre les propriétésPerformanceNavigationTiming.loadEventEnd
etPerformanceEntry.startTime
. - «
resource
» - renvoie la différence entre les deuxtimestamps
responseEnd
(le moment de la fin de la réponse) de la ressource etstartTime
(le point de départ).
Cette propriété est en Lecture seule .
Syntaxe
js
entry.duration;
Valeur de retour
Un objet DOMHighResTimeStamp
représentant la durée de l'entrée de performance. Si le concept de durée ne s'applique pas à une mesure de performance particulière, le navigateur peut choisir de renvoyer une durée de 0.
Note : si l'entrée de performance a un entryType
"resource
" (c'est-à-dire que l'entrée est un objet PerformanceResourceTiming
), cette propriété renvoie la différence entre les timestamps
PerformanceEntry.responseEnd
et PerformanceEntry.startTime
.
Exemple
L'exemple suivant montre l'utilisation de la propriété duration
.
js
function run_PerformanceEntry() {
console.log("Support de PerformanceEntry ...");
if (performance.mark === undefined) {
console.log("... performance.mark N'est pas pris en charge");
return;
}
// Créer quelques entrées de performance via la méthode mark()
performance.mark("Begin");
do_work(50000);
performance.mark("End");
// Utilise getEntries() pour itérer à travers chaque entrée.
let p = performance.getEntries();
for (let i = 0; i < p.length; i++) {
console.log("Entry[" + i + "]");
check_PerformanceEntry(p[i]);
}
}
function check_PerformanceEntry(obj) {
let properties = ["name", "entryType", "startTime", "duration"];
let methods = ["toJSON"];
for (let i = 0; i < properties.length; i++) {
// check each property
let supported = properties[i] in obj;
if (supported)
console.log("..." + properties[i] + " = " + obj[properties[i]]);
else console.log("..." + properties[i] + " = N'est pas pris en charge");
}
for (let i = 0; i < methods.length; i++) {
// check each method
let supported = typeof obj[methods[i]] == "function";
if (supported) {
let js = obj[methods[i]]();
console.log("..." + methods[i] + "() = " + JSON.stringify(js));
} else {
console.log("..." + methods[i] + " = N'est pas pris en charge");
}
}
}
Spécifications
Specification |
---|
Performance Timeline # dom-performanceentry-duration |
Compatibilité des navigateurs
BCD tables only load in the browser