Web/API/Performance

From Get docs


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   '
A legacy 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. Not available in workers.
Performance.timing Read only   '
A legacy PerformanceTiming object containing latency-related performance information. Not available in workers.
Performance.memory Read only '
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.

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()
Is a jsonizer returning a json object representing the Performance object.

Events

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

resourcetimingbufferfull
Fired when the browser's resource timing buffer is full. Also available via the onresourcetimingbufferfull property.

Specifications

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

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Performance Chrome

Full support 6

Edge

Full support 12

Firefox

Full support 7

IE

Full support 9

Opera

Full support 15

Safari

Full support 8

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android

Full support 7

Opera Android

Full support 14

Safari iOS

Full support 9

Samsung Internet Android

Full support 1.0

clearMarks

Chrome Full support 29


Full support 29


No support 25 — 29

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support 41

IE

Full support 10

Opera

Full support 33

Safari

Full support 11

WebView Android Full support ≤37


Full support ≤37


No support ≤37 — ≤37

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 29


Full support 29


No support 25 — 29

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 42

Opera Android

Full support 33

Safari iOS

Full support 11

Samsung Internet Android Full support 2.0


Full support 2.0


No support 1.5 — 2.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

clearMeasures

Chrome Full support 29


Full support 29


No support 25 — 29

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support 41

IE

Full support 10

Opera

Full support 33

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 29


Full support 29


No support 25 — 29

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 42

Opera Android

Full support 33

Safari iOS

Full support 11

Samsung Internet Android Full support 2.0


Full support 2.0


No support 1.5 — 2.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

clearResourceTimings

Chrome Full support 46


Full support 46


No support 22 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera

Full support Yes

Safari

Full support 11

WebView Android Full support 46


Full support 46


No support ? — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 46


Full support 46


No support 25 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

Full support 11

Samsung Internet Android Full support 5.0


Full support 5.0


No support 1.5 — 7.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

getEntries

Chrome Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera

No support No

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 25

Opera Android

No support No

Safari iOS

Full support 11

Samsung Internet Android Full support 1.5


Full support 1.5


No support 1.5 — 3.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

getEntriesByName

Chrome Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera

No support No

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 25

Opera Android

No support No

Safari iOS

Full support 11

Samsung Internet Android Full support 1.5


Full support 1.5


No support 1.5 — 3.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

getEntriesByType

Chrome Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera Full support 15


Full support 15


No support 15 — 23

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 25

Opera Android Full support 15


Full support 15


No support 14 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari iOS

Full support 11

Samsung Internet Android Full support 1.5


Full support 1.5


No support 1.5 — 3.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

mark

Chrome Full support 28


Full support 28


No support 25 — 28

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support 41

IE

Full support 10

Opera

Full support 33

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 28


Full support 28


No support 25 — 28

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 42

Opera Android

Full support 33

Safari iOS

Full support 11

Samsung Internet Android

Full support 1.5

measure

Chrome Full support 28


Full support 28


No support 25 — 28

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support 41

IE

Full support 10

Opera

Full support 33

Safari

Full support 11

WebView Android

Full support 46

Chrome Android Full support 28


Full support 28


No support 25 — 28

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 42

Opera Android

Full support 33

Safari iOS

Full support 11

Samsung Internet Android

Full support 1.5

memory

Non-standard'

Chrome

Full support 7

Edge

Full support ≤79

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

No support No

WebView Android

Full support Yes

Chrome Android

Full support 18

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

Full support 1.0

navigation

Deprecated'

Chrome

Full support 10

Edge

Full support 12

Firefox

Full support 7

IE

Full support 9

Opera

Full support 15

Safari

Full support 8

WebView Android

Full support Yes

Chrome Android

Full support 18

Firefox Android

Full support 7

Opera Android

No support No

Safari iOS

Full support 9

Samsung Internet Android

Full support 1.0

now

Chrome Full support 24


Full support 24


No support 21 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox Full support 15

Notes'

Full support 15

Notes'

Notes' In Firefox 57.0.4 the accuracy was reduced to 20 microseconds. Notes' In Firefox 59 the accuracy was reduced to 2 milliseconds. Notes' In Firefox 60 the accuracy was increased to 1 millisecond.

IE

Full support 10

Opera

Full support 15

Safari

Full support 8

WebView Android

Full support Yes

Chrome Android

Full support 25

Firefox Android Full support 15

Notes'

Full support 15

Notes'

Notes' In Firefox 57.0.4 the accuracy was reduced to 20 microseconds. Notes' In Firefox 59 the accuracy was reduced to 2 milliseconds. Notes' In Firefox 60 the accuracy was increased to 1 millisecond.

Opera Android

Full support 14

Safari iOS

Full support 9

Samsung Internet Android

Full support 1.5

onresourcetimingbufferfull

Chrome Full support 46


Full support 46


No support 22 — 57

Alternate Name'

Alternate Name' Uses the non-standard name: onwebkitresourcetimingbufferfull

Edge

Full support ≤79

Firefox

Full support Yes

IE

No support No

Opera

No support No

Safari

Full support 11

WebView Android Full support 46


Full support 46


No support ? — 57

Alternate Name'

Alternate Name' Uses the non-standard name: onwebkitresourcetimingbufferfull

Chrome Android Full support 46


Full support 46


No support 25 — 57

Alternate Name'

Alternate Name' Uses the non-standard name: onwebkitresourcetimingbufferfull

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android Full support 5.0


Full support 5.0


No support 1.5 — 7.0

Alternate Name'

Alternate Name' Uses the non-standard name: onwebkitresourcetimingbufferfull

resourcetimingbufferfull event

Chrome Full support 46


Full support 46


No support 22 — 57

Alternate Name'

Alternate Name' Uses the non-standard name: webkitresourcetimingbufferfull

Edge

Full support ≤79

Firefox

Full support Yes

IE

No support No

Opera

No support No

Safari

Full support 11

WebView Android Full support 46


Full support 46


No support ? — 57

Alternate Name'

Alternate Name' Uses the non-standard name: webkitresourcetimingbufferfull

Chrome Android Full support 46


Full support 46


No support 25 — 57

Alternate Name'

Alternate Name' Uses the non-standard name: webkitresourcetimingbufferfull

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android Full support 5.0


Full support 5.0


No support 1.5 — 7.0

Alternate Name'

Alternate Name' Uses the non-standard name: webkitresourcetimingbufferfull

setResourceTimingBufferSize

Chrome Full support 46


Full support 46


No support 22 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera

Full support Yes

Safari

Full support 11

WebView Android Full support 46


Full support 46


No support ? — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 46


Full support 46


No support 25 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android Full support 5.0


Full support 5.0


No support 1.5 — 7.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

timeOrigin

Experimental'

Chrome

Full support 62

Edge

Full support 16

Firefox

Full support 53

IE

No support No

Opera

Full support 49

Safari

No support No

WebView Android

Full support 62

Chrome Android

Full support 62

Firefox Android

Full support 53

Opera Android

Full support 46

Safari iOS

No support No

Samsung Internet Android

Full support 8.0

timing

Deprecated'

Chrome

Full support 6

Edge

Full support 12

Firefox

Full support 7

IE

Full support 9

Opera

Full support 15

Safari

Full support 8

WebView Android

Full support Yes

Chrome Android

Full support 18

Firefox Android

Full support 7

Opera Android

Full support 14

Safari iOS

Full support 9

Samsung Internet Android

Full support 1.0

toJSON Chrome

Full support 56

Edge

Full support 12

Firefox

Full support 25

IE

?

Opera

No support No

Safari

No support No

WebView Android

Full support 56

Chrome Android

Full support 56

Firefox Android

Full support 25

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.'
Deprecated. Not for use in new websites.
See implementation notes.'
See implementation notes.
Uses a non-standard name.'
Uses a non-standard name.
Requires a vendor prefix or different name for use.'
Requires a vendor prefix or different name for use.