performance.measure()
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 méthode measure()
crée un timestamp
nommé dans le tampon d'entrée de performance du navigateur entre deux marqueurs, l'heure de début de navigation ou l'heure actuelle. Lors d'une mesure entre deux marqueurs, on aura un marqueur de début et un marqueur de fin. L'horodatage ainsi nommé est désigné comme une mesure.
La mesure correspondante peut être récupérée par l'une des méthodes suivantes de l'interface Performance
: getEntries()
, getEntriesByName()
ou getEntriesByType()
.
L'entrée de performance créée par measure()
aura les valeurs de propriété suivantes :
entryType
:"measure"
.name
: le nom passé en argument lors de la création de la mesure (cf. ci-après).startTime
: fixé selon le marqueur de départ (typeDOMHighResTimeStamp
).duration
: fixé à unDOMHighResTimeStamp
qui correspond à la durée de la mesure (généralement, l'horodatage du marqueur de fin moins l'horodatage du marqueur de début).
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
performance.measure(name);
performance.measure(name, startMark);
performance.measure(name, startMark, endMark);
performance.measure(name, undefined, endMark);
Arguments
name
-
Une
DOMString
représentant le nom de la mesure. startMark
Facultatif-
Une
DOMString
représentant le nom du marqueur de départ de la mesure. Peut également être le nom d'une propriétéPerformanceTiming
. Si elle est omise, l'heure de début sera celle de la navigation. endMark
Facultatif-
Une
DOMString
représentant le nom du marqueur de fin de la mesure. Peut également être le nom d'une propriétéPerformanceTiming
. Si elle est omise, le temps actuel est utilisé.
Valeur de retour
Aucune
Exemple
L'exemple suivant montre comment measure()
est utilisé pour créer une nouvelle mesure d'entrée de performance dans le tampon d'entrée de performance du navigateur.
const markerNameA = "example-marker-a";
const markerNameB = "example-marker-b";
// Exécute des temporisations imbriquées et crée un PerformanceMark pour chacune d'entre elles.
performance.mark(markerNameA);
setTimeout(function () {
performance.mark(markerNameB);
setTimeout(function () {
// Crée une variété de mesures.
performance.measure("mesure a à b", markerNameA, markerNameB);
performance.measure("mesure a à maintenant", markerNameA);
performance.measure(
"mesure du début de la navigation à b",
undefined,
markerNameB,
);
performance.measure("mesure du début de la navigation à maintenant");
// Sort toutes les mesures.
console.log(performance.getEntriesByType("measure"));
// Enfin, nettoye les entrées.
performance.clearMarks();
performance.clearMeasures();
}, 1000);
}, 1000);
Spécifications
Specification |
---|
User Timing Level 3 # dom-performance-measure |
Compatibilité des navigateurs
BCD tables only load in the browser