Performance
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
* Some parts of this feature may have varying levels of support.
Note: This feature is available in Web Workers.
The Performance interface provides access to performance-related information for the current page.
Performance entries are specific to each execution context. You can access performance information for code running in a window via Window.performance, and for code running in a worker via WorkerGlobalScope.performance.
Instance properties
The Performance interface doesn't inherit any properties.
Performance.eventCountsRead only-
An
EventCountsmap containing the number of events which have been dispatched per event type. Performance.interactionCountRead only-
The number of real-user interactions that have occurred on the page, which is useful when calculating Interaction to Next Paint (INP).
-
A legacy
PerformanceNavigationobject 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. Performance.timingRead only-
A legacy
PerformanceTimingobject containing latency-related performance information. Performance.memoryRead 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.timeOriginRead only-
Returns the high resolution timestamp of the start time of the performance measurement.
Instance 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 an
entryTypeof"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.measureUserAgentSpecificMemory()-
Estimates the memory usage of a web application including all its iframes and workers.
Performance.now()-
Returns a
DOMHighResTimeStamprepresenting 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"typePerformanceEntryobjects. Performance.toJSON()-
Returns a JSON representation of the
Performanceobject.
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.
Specifications
Browser compatibility
| desktop | mobile | server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Performance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clearMarks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clearMeasures
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clearResourceTimings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
eventCounts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getEntries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getEntriesByName
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getEntriesByType
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interactionCount
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mark
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
markOptions.details.devtools parameter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
markOptions parameter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns
PerformanceMark
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
measure
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
measureOptions.details.devtools parameter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
measureOptions parameter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns
PerformanceMeasure
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
measureUserAgentSpecificMemory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
memory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
navigation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourcetimingbufferfull event
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setResourceTimingBufferSize
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timeOrigin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
toJSON
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Non-standard. Check cross-browser support before using.
- Deprecated. Not for use in new websites.
- See implementation notes.
- Uses a non-standard name
- Requires a vendor prefix or different name for use.
- Has more compatibility info.