web api instance method
PressureObserver: observe() method
Limited availabilityAvailable in workersSecure context
The observe() method of the PressureObserver interface tells the pressure observer to start observing pressure changes. After this method is called, the observer will call its callback function when a pressure record for the specified source is observed.
When a matching PressureRecord is obtained, the pressure observer’s callback function is invoked.
Syntax
observe(source)
observe(source, options)
Parameters
source- : A string specifying which
sourceto observe. Seesourcefor a list of sources andPressureObserver.knownSourcesfor a list of sources the user agent supports.
- : A string specifying which
optionsOptional- : An object to configure observation with the following properties:
sampleIntervalOptional- : A number representing the requested sampling interval expressed in milliseconds. Defaults to 0 meaning it will get updates as fast as the system can handle it.
- : An object to configure observation with the following properties:
Return value
A Promise that fulfils with undefined.
Exceptions
NotAllowedErrorDOMException- : Thrown if the Compute Pressure API is disallowed by a
compute-pressurePermissions Policy.
- : Thrown if the Compute Pressure API is disallowed by a
NotSupportedErrorDOMException- : Thrown if the
sourceparameter is not one of the supported sources for this user agent.
- : Thrown if the
Examples
Log current pressure
This example creates a PressureObserver and takes action whenever there is a pressure change. The sample interval is set to 1000ms, meaning that there will be updates at most every second.
function callback(records) {
const lastRecord = records[records.length - 1];
console.log(`Current pressure ${lastRecord.state}`);
if (lastRecord.state === "critical") {
// disable video feeds
} else if (lastRecord.state === "serious") {
// disable video filter effects
} else {
// enable all video feeds and filter effects
}
}
try {
const observer = new PressureObserver(callback);
await observer.observe("cpu", {
sampleInterval: 1000, // 1000ms
});
} catch (error) {
// report error setting up the observer
}
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.