docs.rodeo

MDN Web Docs mirror

PerformanceObserver: observe() method

{{APIRef("Performance API")}} {{AvailableInWorkers}} 

The observe() method of the {{domxref("PerformanceObserver")}}  interface is used to specify the set of performance entry types to observe.

See {{domxref("PerformanceEntry.entryType")}}  for a list of entry types and {{domxref("PerformanceObserver.supportedEntryTypes_static", "PerformanceObserver.supportedEntryTypes")}}  for a list of entry types the user agent supports.

When a matching performance entry is recorded, the performance observer’s callback function—set when creating the {{domxref("PerformanceObserver")}} —is invoked.

Syntax

observe(options)

Parameters

Return value

None ({{jsxref("undefined")}} ).

Examples

Watching multiple performance entry types

This example creates a PerformanceObserver and watches for "mark" and "measure" entry types as specified by the entryTypes option given in the observe() method.

const observer = new PerformanceObserver((list, obj) => {
  list.getEntries().forEach((entry) => {
    // Process "mark" and "measure" events
  });
});
observer.observe({ entryTypes: ["mark", "measure"] });

Watching a single performance entry type

The following example retrieves buffered events and subscribes to newer events for resource timing events ({{domxref("PerformanceResourceTiming")}} ) using the buffered and type configuration options. Whenever you need to configure the observer to use the buffered or durationThreshold option, use type instead of entryType. Collecting multiple types of performance entry types will not work otherwise.

const observer = new PerformanceObserver((list, obj) => {
  list.getEntries().forEach((entry) => {
    // Process "resource" events
  });
});
observer.observe({ type: "resource", buffered: true });

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN