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.navigation
Read only Not available to workers- Is a
PerformanceNavigation
object representing the type of navigation that occurs in the given browsing context, like the amount of redirections needed to fetch the resource. Performance.onframetimingbufferfull
Not available to workers- TBD
Performance.onresourcetimingbufferfull
- Is an
EventTarget
which is a callback that will be called when theresourcetimingbufferfull
event is fired. Performance.timing
Read only Not available to workers- Is a
PerformanceTiming
object containing latency-related performance information.
Methods
The Performance
interface doesn't inherit any method.
Performance.clearFrameTimings()
Not available to workers- TBD
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 amount of milliseconds elapsed since a reference instant. Performance.setFrameTimingBufferSize()
Not available to workers- TBD
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. |
Editor's Draft | Defines toJson() method. |
High Resolution Time The definition of 'Performance' in that specification. |
Recommendation | Defines now() method. |
Navigation Timing The definition of 'Performance' in that specification. |
Recommendation | Defines timing and navigation properties. |
Performance Timeline Time Level 2 The definition of 'Performance extensions' in that specification. |
Editor's Draft | Changes getEntries() interface. |
Performance Timeline The definition of 'Performance extensions' in that specification. |
Recommendation | Defines getEntries() , getEntriesByType() and getEntriesByName() methods. |
Resource Timing The definition of 'Performance extensions' in that specification. |
Editor's Draft | Defines clearResourceTimings() and setResourceTimingBufferSize() methods and the onresourcetimingbufferfull property. |
User Timing The definition of 'Performance extensions' in that specification. |
Editor's 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. |
Unknown The definition of 'Performance extensions' in that specification. |
Recommendation | Defines clearFrameTimings() , setFrameTimingBufferSize() , and onframetimingbufferfull methods. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support (timing attribute) |
6.0 [1] | 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) | No support |
toJSON() |
No support | 25.0 (25.0) | 9.0 | No support | No support |
getEntries() , getEntriesByType() , getEntriesByName() |
(Yes) | (Yes) | (Yes) | (Yes) | No support |
clearResourceTimings() , setResourceTimingBufferSize() |
(Yes) | (Yes) | (Yes) | (Yes) | No support |
onresourcetimingbufferfull |
(Yes) | (Yes) | No support | (Yes) | No support |
mark() , clearMarks() , measure() , clearMeasure() |
43.0 | 41 | 10 | 33 | No support |
clearFrameTimings() , setFrameTimingBufferSize() , and onframetimingbufferfull |
? | ? | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | (Yes) | 7.0 (7.0) | 1.0 (7.0) | 9.0 | 15.0 | 9 | (Yes) |
navigation attribute |
No support | (Yes) | No support | No support | 9.0 | (Yes) | 9 | (Yes) |
now() on regular context |
25.0 | 15.0 (15.0) | 1.0 (15.0) | 10.0 | (Yes) | 9 | 20.0 webkit 25.0 |
|
now() in Web workers. |
No support | (Yes) | 34.0 (34.0) | ? | ? | ? | ? | (Yes) |
toJSON() |
No support | No support | 25.0 (25.0) | 1.2 (25.0) | 10.0 | No support | ? | No support |
getEntries() , getEntriesByType() , getEntriesByName() |
No support | (Yes) | 25.0 (25.0) | 1.2 (25.0) | 10.0 | 33 | No support | (Yes) |
clearResourceTimings() , setResourceTimingBufferSize() |
No support | (Yes) | (Yes) | (Yes) | (Yes) | 33 | No support | (Yes) |
onresourcetimingbufferfull |
No support | (Yes) | (Yes) | ? | No support | 33 | No support | (Yes) |
mark() , clearMarks() , measure() , clearMeasure() |
No support | 46.0 | 42 | 42 | 10 | 33 | No support | 46.0 |
clearFrameTimings() , setFrameTimingBufferSize() , and onframetimingbufferfull |
No support | (Yes) | ? | ? | ? | ? | ? | (Yes) |
[1] Member prefixed with webkit have been removed or deprecated.