W3cubDocs

/DOM

Performance

The Performance interface provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.

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. 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.navigation Read only Not available to workers
A PerformanceNavigation object that provides useful context about the operations included in the times listed in timing, including whether the page was a load or a refresh, how many redirections occurred, and so forth.
Performance.timing Read only Not available to workers
A PerformanceTiming object containing latency-related performance information
performance.memory
A non-standard extension added in Chrome, this property provides an object with basic memory usage information. You should not use this non-standard API.
Performance.timeOrigin Read only
Returns the high resolution timestamp of the start time of the performance measurement.

Event handlers

Performance.onresourcetimingbufferfull
An EventTarget which is a callback that will be called when the resourcetimingbufferfull event is fired.

Methods

The Performance interface doesn't inherit any methods.

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 entries with a entryType of "resource" from the browser's performance data buffer.
Performance.getEntries()
Returns a list of PerformanceEntry objects based on the given filter.
Performance.getEntriesByName()
Returns a list of PerformanceEntry objects based on the given name and entry type.
Performance.getEntriesByType()
Returns a list of PerformanceEntry objects of the given entry type.
Performance.mark()
Creates a timestamp in the browser's performance entry buffer with the given name.
Performance.measure()
Creates a named timestamp in the browser's performance entry buffer between two specified marks (known as the start mark and end mark, respectively).
Performance.now()
Returns a DOMHighResTimeStamp representing the number of milliseconds elapsed since a reference instant.
Performance.setResourceTimingBufferSize()
Sets the browser's resource timing buffer size to the specified number of "resource" type performance entry objects.
Performance.toJSON() Not available to workers
Is a jsonizer returning a json object representing the Performance object.

Specifications

Specification Status Comment
High Resolution Time Level 2
The definition of 'toJSON()' in that specification.
Candidate Recommendation Defines toJson() method.
High Resolution Time
The definition of 'Performance' in that specification.
Recommendation Defines now() method.
Performance Timeline Level 2
The definition of 'Performance extensions' in that specification.
Candidate Recommendation Changes getEntries() interface.
Performance Timeline
The definition of 'Performance extensions' in that specification.
Recommendation Defines getEntries(), getEntriesByType() and getEntriesByName() methods.
Resource Timing Level 1
The definition of 'Performance extensions' in that specification.
Candidate Recommendation Defines clearResourceTimings() and setResourceTimingBufferSize() methods and the onresourcetimingbufferfull property.
User Timing Level 2
The definition of 'Performance extensions' in that specification.
Working Draft Clarifies mark(), clearMark(), measure() and clearMeasure() methods.
User Timing
The definition of 'Performance extensions' in that specification.
Recommendation Defines mark(), clearMark(), measure() and clearMeasure() methods.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 6 Yes 7 9 15 8
clearMarks 43 Yes 41 10 33 11
clearMeasures 43 Yes 41 10 33 11
clearResourceTimings 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes Yes Yes Yes 11
getEntries Yes Yes Yes Yes No 11
getEntriesByName Yes Yes Yes Yes No 11
getEntriesByType Yes Yes Yes Yes No 11
mark 43 Yes 41 10 33 11
measure 43 Yes 41 10 33 11
memory Yes ? No ? Yes No
navigation 10 Yes 7 9 15 8
now 24 Yes 15
15
In Firefox 57.0.4 the accuracy was reduced to 20 microseconds.
In Firefox 59 the accuracy was reduced to 2 milliseconds.
10 15 8
onresourcetimingbufferfull 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
? Yes No No No
setResourceTimingBufferSize 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes Yes Yes Yes No
timeOrigin 62 ? 59 ? 49 No
timing 6 Yes 7 9 15 8
toJSON No Yes 25 ? No No
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes Yes 7 15 9 ?
clearMarks 46 46 Yes 42 33 11 ?
clearMeasures 46 46 Yes 42 33 11 ?
clearResourceTimings 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes Yes Yes 11 ?
getEntries Yes Yes Yes 25 No 11 ?
getEntriesByName Yes Yes Yes 25 No 11 ?
getEntriesByType Yes Yes Yes 25 No 11 ?
mark 46 46 Yes 42 33 11 ?
measure 46 46 Yes 42 33 11 ?
memory Yes Yes ? No Yes No ?
navigation Yes Yes Yes 7 No 9 ?
now Yes 25 Yes 15
15
In Firefox 57.0.4 the accuracy was reduced to 20 microseconds.
In Firefox 59 the accuracy was reduced to 2 milliseconds.
No 9 ?
onresourcetimingbufferfull 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
? Yes Yes No ?
setResourceTimingBufferSize 46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
46
46
? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Yes Yes Yes No ?
timeOrigin 62 62 ? 59 49 No ?
timing Yes Yes Yes 7 15 9 ?
toJSON No No Yes 25 No No ?

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Performance