PerformanceObserver

注意:此功能在Web Workers中可用。

PerformanceObserver 接口用于观察性能测量事件,并在浏览器性能时间线中记录新的性能条目时收到通知。

构造函数

PerformanceObserver()

创建并返回一个新的 PerformanceObserver 对象。

静态属性

PerformanceObserver.supportedEntryTypes 只读

返回用户代理支持的entryType值的数组。

实例方法

PerformanceObserver.observe()

指定要观察的条目类型集。当为指定的 entryTypes 之一记录性能条目时,将调用性能观察器的回调函数。

PerformanceObserver.disconnect()

停止性能观察器回调接收性能条目。

PerformanceObserver.takeRecords()

返回存储在性能观察器中的当前性能条目列表,并将其清空。

示例

创建 PerformanceObserver

以下示例创建了一个 PerformanceObserver,用于监视“mark”(PerformanceMark)和“measure”(PerformanceMeasure)事件。perfObserver 回调提供了一个 listPerformanceObserverEntryList),允许您获取观察到的性能条目。

js
function perfObserver(list, observer) {
  list.getEntries().forEach((entry) => {
    if (entry.entryType === "mark") {
      console.log(`${entry.name}'s startTime: ${entry.startTime}`);
    }
    if (entry.entryType === "measure") {
      console.log(`${entry.name}'s duration: ${entry.duration}`);
    }
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });

规范

规范
性能时间线
# dom-performanceobserver

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅