ReportingObserver: ReportingObserver() constructor

The ReportingObserver() constructor of the Reporting API creates a new ReportingObserver object instance, which can be used to collect and access reports.


new ReportingObserver(callback)
new ReportingObserver(callback, options)



A callback function that runs when the observer starts to collect reports (i.e. via ReportingObserver.observe()). The callback function is given two parameters:


A sequence of Report objects representing the reports collected in the observer's report queue. This is probably the most common way to retrieve the reports.


A reference to the same ReportingObserver object, allowing for recursive report collection, etc.

options Optional

An object allowing you to set the options for creating the object. The available options are:


An array of strings representing the types of report to be collected by this observer. Available types include deprecation, intervention, and crash (although this last type usually isn't retrievable via a ReportingObserver). If this option is omitted, all supported types are collected.


a boolean that defines whether the reports that were generated before the observer was able to be created should be observable (true) or not (false).


const options = {
  types: ["deprecation"],
  buffered: true,

const observer = new ReportingObserver((reports, observer) => {
  reportBtn.onclick = () => displayReports(reports);
}, options);


Reporting API
# dom-reportingobserver-reportingobserver

Browser compatibility

BCD tables only load in the browser

See also