Performance.measure()

The measure() method creates a named timestamp in the browser's performance entry buffer between two specified marks (known as the start mark and end mark, respectively). The named timestamp is referred to as a measure.

The measure can be retrieved by one of the Performance interface's getEntries*() methods (getEntries(), getEntriesByName() or getEntriesByType()).

The measure's performance entry will have the following property values:

  • entryType - set to "measure".
  • name - set to the "name" given when the measure was created.
  • startTime - set to the timestamp when measure() was called.
  • duration - set to a DOMHighResTimeStamp that is the duration of the measure (typically, the end mark timestamp minus the start mark timestamp).

Syntax

performance.measure(name, startMark, endMark);

Arguments

name
A DOMString representing the name of the measure.
startMark Optional
A DOMString representing the name of the measure's starting mark. May also be the name of a PerformanceTiming property.
endMark Optional
A DOMString representing the name of the measure's ending mark. May also be the name of a PerformanceTiming property.

Return value

void
 

Example

The following example shows how measure() is used to create a new measure performance entry in the browser's performance entry buffer.

// Start with one mark.
performance.mark("mySetTimeout-start");
// Wait some time.
setTimeout(function() {
  // Mark the end of the time.
  performance.mark("mySetTimeout-end");
  // Measure between the two different markers.
  performance.measure(
    "mySetTimeout",
    "mySetTimeout-start",
    "mySetTimeout-end"
  );
  // Get all of the measures out.
  // In this case there is only one.
  var measures = performance.getEntriesByName("mySetTimeout");
  var measure = measures[0];
  console.log("setTimeout milliseconds:", measure.duration)
  // Clean up the stored markers.
  performance.clearMarks();
  performance.clearMeasures();
}, 1000);

Specifications

Specification Status Comment
User Timing
The definition of 'measure()' in that specification.
Editor's Draft Clarifies measure() processing model.
User Timing
The definition of 'measure()' in that specification.
Recommendation Basic definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic Support 43.0 (Yes) 41 10 33 No support
Feature Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic Support No support 46.0 (Yes) 42 42 10 33 No support 46.0

Document Tags and Contributors

 Contributors to this page: gregtatum, abbycar, jpmedley, rolfedh, stephaniehobson, AFBarstow
 Last updated by: gregtatum,