performance.measure()
The measure() method creates a named timestamp in the browser's performance entry buffer between marks, the navigation start time, or the current time. When measuring between two marks, there is a start mark and end mark, respectively. The named timestamp is referred to as a measure.
The measure can also be retrieved by one of the Performance interfaces: (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 start marktimestamp. -
duration- set to aDOMHighResTimeStampthat is the duration of the measure (typically, the end mark timestamp minus the start mark timestamp).
Note: This feature is available in Web Workers
Syntax
performance.measure(name); performance.measure(name, startMark); performance.measure(name, startMark, endMark); performance.measure(name, undefined, endMark);
Arguments
- name
-
A
DOMStringrepresenting the name of the measure. - startMark Optional
-
A
DOMStringrepresenting the name of the measure's starting mark. May also be the name of aPerformanceTimingproperty. If it is omitted, then the start time will be the navigation start time. - endMark Optional
-
A
DOMStringrepresenting the name of the measure's ending mark. May also be the name of aPerformanceTimingproperty. If it is omitted, then the current time is used.
Return value
- entry
-
The
PerformanceMeasureentry that was created.
Example
The following example shows how measure() is used to create a new measure performance entry in the browser's performance entry buffer.
const markerNameA = "example-marker-a" const markerNameB = "example-marker-b" // Run some nested timeouts, and create a PerformanceMark for each. performance.mark(markerNameA); setTimeout(function() { performance.mark(markerNameB); setTimeout(function() { // Create a variety of measurements. performance.measure("measure a to b", markerNameA, markerNameB); performance.measure("measure a to now", markerNameA); performance.measure("measure from navigation start to b", undefined, markerNameB); performance.measure("measure from navigation start to now"); // Pull out all of the measurements. console.log(performance.getEntriesByType("measure")); // Finally, clean up the entries. performance.clearMarks(); performance.clearMeasures(); }, 1000); }, 1000);
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
measure |
28
25-28
|
12 |
41 |
10 |
33 |
11 |
≤37 |
28
25-28
|
42 |
33 |
11 |
1.5 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Performance/measure