Web/API/PerformanceObserver/observe

From Get docs


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

options

A PerformanceObserverInit dictionary with the following possible members:

  • entryTypes: An array of DOMString objects, each specifying one performance entry type to observe.  May not be used together with the "type" or "buffered" options.
  • type: A single DOMString specifying exactly one performance entry type to observe.  May not be used together with the entryTypes option.
  • buffered: A Boolean flag to indicate whether buffered entries should be queued into the observer's buffer.  Must be used only with the "type" option.

See PerformanceEntry.entryType for 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

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
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