The observe() method of the PerformanceObserver interface is used to specify the set of performance interface types to observe. The performance observer's callback function will be invoked when a performance entry is recorded for one of the specified types.

The types are specified in an array of strings and the valid values are defined in PerformanceEntry.entryType.




A PerformanceObserverInit dictionary with one member:
  • "entryTypes", an array of strings and the valid values for the strings are defined in PerformanceEntry.entryType. If a value is not valid, the browser will ignore it. If the options argument is not given or the array is empty, TypeError is thrown.


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 Time Level 2
The definition of 'observe()' in that specification.
Editor's Draft Initial definition of observe() method.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 52.0 57 (57) No support 39 No support
Feature Android Android Webview Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support No support No support 57.0 (57) No support


No support 52.0

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, jpmedley, teoli, rolfedh, AFBarstow
 Last updated by: chrisdavidmills,