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 (type DOMHighResTimeStamp).
  • duration : fixé à un DOMHighResTimeStamp 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

js
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.

js
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