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.




A PerformanceObserverInit dictionary with one member:
  • "entryTypes", an array of DOMString objects, each specifying one performance entry type to observe. See PerformanceEntry.entryType for a list of valid type name. 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.


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"]});


Specification Status Comment
Performance Timeline Level 2
The definition of 'observe()' in that specification.
Candidate Recommendation Initial definition of observe() method.

Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 52 ? 57 No 39 11
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support No 52 ? 57 39 11 ?

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.