The Performance interface represents timing-related performance information for the given page.
An object of this type can be obtained by calling the Window.performance read-only attribute.
Note: This interface and its members are available in Web Workers, except where indicated below. Note that some available parts of the interface are not yet documented (see the Performance Timeline and User Timing specs for more details.) Also note that performance markers and measures are per context. If you create a mark on the main thread (or other worker), you cannot see it in a worker thread, and vice versa.
Properties
The Performance interface doesn't inherit any properties.
Performance.navigationRead only Not available to workers- Is a
PerformanceNavigationobject representing the type of navigation that occurs in the given browsing context, like the amount of redirections needed to fetch the resource. Performance.onresourcetimingbufferfull- Is an
EventTargetwhich is a callback that will be called when theresourcetimingbufferfullevent is fired. Performance.timingRead only Not available to workers- Is a
PerformanceTimingobject containing latency-related performance information.
Methods
The Performance interface doesn't inherit any method.
Performance.clearMarks()- Removes the given mark from the browser's performance entry buffer.
Performance.clearMeasures()- Removes the given measure from the browser's performance entry buffer.
Performance.clearResourceTimings()- Removes all
performance entrieswith aentryTypeof "resource" from the browser's performance data buffer. Performance.getEntries()- Returns a list of
PerformanceEntryobjects based on the given filter. Performance.getEntriesByName()- Returns a list of
PerformanceEntryobjects based on the given name and entry type. Performance.getEntriesByType()- Returns a list of
PerformanceEntryobjects of the given entry type. Performance.mark()- Creates a
timestampin the browser's performance entry buffer with the given name. Performance.measure()- Creates a named
timestampin the browser's performance entry buffer between two specified marks (known as the start mark and end mark, respectively). Performance.now()- Returns a
DOMHighResTimeStamprepresenting the amount of milliseconds elapsed since a reference instant. Performance.setResourceTimingBufferSize()- Sets the browser's resource timing buffer size to the specified number of "
resource"typeperformance entryobjects. Performance.toJSON()Not available to workers- Is a jsonizer returning a json object representing the
Performanceobject.
Specifications
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
Basic support (timing attribute) |
6.0 | 7.0 (7.0) | 9.0 | 15.0 | 8 |
navigation attribute |
9 | 7 (7) | 9.0 | 15 | 8 |
now() on regular context |
20.0 webkit 24.0 |
15.0 (15.0) | 10.0 | (Yes) | 8 |
now() in Web workers. |
33.0 | 34.0 (34.0) | ? | (Yes) | Not supported |
toJSON() |
Not supported | 25.0 (25.0) | 9.0 | Not supported | Not supported |
getEntries(), getEntriesByType(), getEntriesByName() |
(Yes) | (Yes) | (Yes) | (Yes) | Not supported |
clearResourceTimings(), setResourceTimingBufferSize() |
(Yes) | (Yes) | (Yes) | (Yes) | Not supported |
onresourcetimingbufferfull |
(Yes) | (Yes) | Not supported | (Yes) | Not supported |
mark(), clearMark(), measure(), clearMeasure() |
43 | 41 | 10 | 33 | Not supported |
| Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | Not supported | 7.0 (7.0) | 1.0 (7.0) | 9.0 | 15.0 | 9 |
navigation attribute |
Not supported | Not supported | Not supported | 9.0 | (Yes) | 9 |
now() on regular context |
20.0 webkit 24.0 |
15.0 (15.0) | 1.0 (15.0) | 10.0 | (Yes) | 9 |
now() in Web workers. |
? | 34.0 (34.0) | ? | ? | ? | ? |
toJSON() |
Not supported | 25.0 (25.0) | 1.2 (25.0) | 10.0 | Not supported | ? |
getEntries(), getEntriesByType(), getEntriesByName() |
(Yes) | 25.0 (25.0) | 1.2 (25.0) | 10.0 | 33 | Not supported |
clearResourceTimings(), setResourceTimingBufferSize() |
(Yes) | (Yes) | (Yes) | (Yes) | 33 | Not supported |
onresourcetimingbufferfull |
(Yes) | (Yes) | ? | Not supported | 33 | Not supported |
mark(), clearMark(), measure(), clearMeasure() |
46 | 42 | 42 | 10 | 33 | Not supported |