The observe() method of the PerformanceObserver interface is used to specify the set of performance entry types to observe. The performance entry types are specified as an array of DOMString objects, each naming one entry type; the type names are documented in Performance entry type names in PerformanceEntry.entryType.
When a matching performance entry is recorded, the performance observer's callback function—set when creating the PerformanceObserver—is invoked.
Syntax
observer.observe(options);
Parameters
optionsA
PerformanceObserverInitdictionary with the following possible members:entryTypes: An array ofDOMStringobjects, each specifying one performance entry type to observe. May not be used together with the "type" or "buffered" options.type: A singleDOMStringspecifying exactly one performance entry type to observe. May not be used together with theentryTypesoption.buffered: ABooleanflag to indicate whether buffered entries should be queued into the observer's buffer. Must be used only with the "type" option.
See
PerformanceEntry.entryTypefor a list of valid performance entry type names. Unrecognized types are ignored, though the browser may output a warning message to the console to help developers debug their code. If no valid types are found,observe()has no effect.
Examples
This example creates and configures two PerformanceObservers; one watches for "mark" and "frame" events, and the other watches for "measure" events.
var observer = new PerformanceObserver(function(list, obj) {
var entries = list.getEntries();
for (var i=0; i < entries.length; i++) {
// Process "mark" and "frame" events
}
});
observer.observe({entryTypes: ["mark", "frame"]});
function perf_observer(list, observer) {
// Process the "measure" event
}
var observer2 = new PerformanceObserver(perf_observer);
observer2.observe({entryTypes: ["measure"]});
Specifications
| Specification | Status | Comment |
| Performance Timeline Level 2The definition of 'observe()' in that specification. | Candidate Recommendation | Initial definition of observe() method.
|
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
observe
|
Chrome
Full support 52 |
Edge
Full support ≤79 |
Firefox
Full support 57 |
IE
No support No |
Opera
Full support 39 |
Safari
Full support 11 |
WebView Android
Full support 52 |
Chrome Android
Full support 52 |
Firefox Android
Full support 57 |
Opera Android
Full support 41 |
Safari iOS
Full support 11 |
Samsung Internet Android
Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
PerformanceObserver.observe() by Mozilla Contributors is licensed under CC-BY-SA 2.5.