统计页面的longtask(长任务)

统计页面的longtask(长任务)可以通过JavaScript中的Performance API来实现,具体步骤如下:

  1. 创建PerformanceObserver实例‌:

    • 使用PerformanceObserver API创建一个观察者实例,这个实例将用于监听长任务。长任务指的是执行时间超过50毫秒的任务,这些任务可能会阻塞主线程,影响页面的交互性和流畅性。
  2. 注册回调函数‌:

    • 在创建PerformanceObserver实例时,需要提供一个回调函数。这个回调函数会在检测到长任务时被调用,并接收一个包含长任务性能条目的列表。
  3. 处理长任务数据‌:

    • 在回调函数中,可以遍历长任务性能条目的列表,获取每个长任务的详细信息,如开始时间、持续时间等。然后,可以对这些数据进行处理,例如计算平均持续时间,或将数据发送到服务器进行进一步分析。
  4. 开始观察‌:

    • 使用observe方法开始观察性能条目,并指定entryTypes['longtask'],以仅观察长任务。
  5. 停止观察和获取统计数据‌:

    • 如果需要停止观察,可以调用disconnect方法。此外,还可以根据需要输出统计数据,如长任务的总次数和总耗时。
    • // 创建一个性能观察者实例来订阅长任务
      const observer = new PerformanceObserver((list) => {
          list.getEntries().forEach((entry) => {
              console.log(`LongTask Detected:`, entry);
              console.log(`Start Time: ${entry.startTime}, Duration: ${entry.duration}`);
              // TODO: 这里可以根据需要进一步处理这些数据,比如发送给服务器
          });
      });
      
      // 开始观察长任务
      observer.observe({entryTypes: ["longtask"]});
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值