PerformanceEntry.duration
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.
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
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
.
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