Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Note: This feature is available in Web Workers, except for Service Workers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The PressureRecord interface is part of the Compute Pressure API and describes the pressure trend of a source at a specific moment of transition.

Instance properties

PressureRecord.source Read only Experimental

A string indicating the origin source from which the record is coming.

PressureRecord.state Read only Experimental

A string indicating the pressure state recorded.

PressureRecord.time Read only Experimental

A DOMHighResTimeStamp indicating the timestamp of the record.

Instance methods

PressureRecord.toJSON() Experimental

Returns a JSON representation of the PressureRecord object.


Using the PressureRecord object

In the following example we log the properties of the PressureRecord object in the pressure observer callback.

function callback(records) {
  const lastRecord = records[records.length - 1];
  console.log(`Current pressure is ${lastRecord.state}`);
  console.log(`Current pressure observed at ${lastRecord.time}`);
  console.log(`Current pressure source: ${lastRecord.source}`);

try {
  const observer = new PressureObserver(callback);
  await observer.observe("cpu", {
    sampleInterval: 1000, // 1000ms
} catch (error) {
  // report error setting up the observer


Compute Pressure Level 1
# the-pressurerecord-interface

Browser compatibility

BCD tables only load in the browser