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 intiming
, 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 aentryType
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 theonresourcetimingbufferfull
property.
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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
| 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
| Chrome Android
Full support
29
| Firefox Android Full support 42 | Opera Android Full support 33 | Safari iOS Full support 11 | Samsung Internet Android
Full support
2.0
|
clearMeasures | Chrome
Full support
29
| 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
| Firefox Android Full support 42 | Opera Android Full support 33 | Safari iOS Full support 11 | Samsung Internet Android
Full support
2.0
|
clearResourceTimings | Chrome
Full support
46
| 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
| Chrome Android
Full support
46
| Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support 11 | Samsung Internet Android
Full support
5.0
|
getEntries | Chrome
Full support
28
| 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
| Firefox Android Full support 25 | Opera Android No support No | Safari iOS Full support 11 | Samsung Internet Android
Full support
1.5
|
getEntriesByName | Chrome
Full support
28
| 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
| Firefox Android Full support 25 | Opera Android No support No | Safari iOS Full support 11 | Samsung Internet Android
Full support
1.5
|
getEntriesByType | Chrome
Full support
28
| Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera
Full support
15
| Safari Full support 11 | WebView Android Full support Yes | Chrome Android
Full support
28
| Firefox Android Full support 25 | Opera Android
Full support
15
| Safari iOS Full support 11 | Samsung Internet Android
Full support
1.5
|
mark | Chrome
Full support
28
| 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
| 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
| 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
| Firefox Android Full support 42 | Opera Android Full support 33 | Safari iOS Full support 11 | Samsung Internet Android Full support 1.5 |
memory | Chrome Full support 7 | Edge Full support ≤79 | Firefox No support No | IE ? | 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 | 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
| Edge Full support 12 | Firefox
Full support
15
| 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
| Opera Android Full support 14 | Safari iOS Full support 9 | Samsung Internet Android Full support 1.5 |
onresourcetimingbufferfull | Chrome
Full support
46
| 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
| Chrome Android
Full support
46
| Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android
Full support
5.0
|
resourcetimingbufferfull event | Chrome
Full support
46
| 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
| Chrome Android
Full support
46
| Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android
Full support
5.0
|
setResourceTimingBufferSize | Chrome
Full support
46
| 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
| Chrome Android
Full support
46
| Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android
Full support
5.0
|
timeOrigin | Chrome Full support 62 | Edge Full support 16 | Firefox Full support 53 | IE ? | 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 | 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.