首页 > 其他分享 >Performance API 实现前端资源监控

Performance API 实现前端资源监控

时间:2024-10-29 10:49:00浏览次数:8  
标签:前端 条目 API Performance performance 加载 页面

1. Performance API 的用处

Performance API 是浏览器中内置的一组工具,用于测量和记录页面加载和执行过程中的各类性能指标。它的主要用处包括:

  1. 监控页面资源加载:跟踪页面中的资源(如 CSS、JavaScript、图片)的加载时间。
  2. 分析页面加载时间:从导航到页面完全渲染的所有时间点。
  3. 衡量用户交互性能:测量用户点击、输入等操作的响应时间。
  4. 优化性能瓶颈:通过标记特定的代码片段和事件,精准定位性能瓶颈。

2. Performance API 常用的 API

2.1 performance.getEntries()

performance.getEntries() 是 Performance API 提供的一个方法,它返回所有的性能条目(entries)。这些条目记录了从页面加载到当前时刻,各类资源的加载和交互的性能数据。性能条目包括页面加载资源(如 CSS、JS、图片等)以及自定义的事件标记。

// 获取页面中所有资源的性能条目
const entries = performance.getEntries();
console.log(entries);

通过 getEntries(),你可以获取资源加载时间、开始时间、结束时间等详细信息。这对于了解页面中每个资源的加载耗时十分有帮助。

2.2 entries 的类型

getEntries() 返回的每个性能条目对象都属于以下几种类型,开发者可以根据需要筛选和分析不同类型的数据:

  1. navigation:与页面导航相关的条目,通常用于分析页面加载的时间点。
  2. resource:所有通过网络请求加载的资源条目,包括 JS、CSS、图片等。
  3. mark:开发者自定义的标记,用于记录特定事件的开始或结束。
  4. measure:通过 performance.measure() 生成的条目,用于测量两个标记之间的时间间隔。
// 获取所有资源加载的性能条目
const resourceEntries = performance.getEntriesByType('resource');
console.log(resourceEntries);
2.3 performance.mark()

performance.mark() 是 Performance API 提供的一个方法,允许开发者在代码中手动创建标记。这些标记可以用于记录特定事件的发生时间,从而在分析性能时,更加精确地掌握代码中某个关键操作的时机。

// 创建自定义标记
performance.mark('start-task');

// 执行某个任务
doSomething();

// 创建结束标记
performance.mark('end-task');

// 测量开始和结束之间的时间
performance.measure('Task Duration', 'start-task', 'end-task');
2.4 PerformanceObserver

PerformanceObserver 是 Performance API 的一个高级特性,它可以监听性能事件的发生,并在事件触发时执行回调。这种观察模式可以帮助开发者实时监控页面中的资源加载、导航和其他性能相关的事件。

// 创建 PerformanceObserver 实例,监听资源加载的事件
const observer = new PerformanceObserver((list) => {
  const entries = list.getEntries();
  entries.forEach(entry => {
    console.log(`${entry.name}: ${entry.duration}ms`);
  });
});

// 监听资源类型的性能条目
observer.observe({ entryTypes: ['resource'] });

通过 PerformanceObserver,你可以监听特定类型的性能条目,如 resource 或 mark,并实时分析其数据。对于监控资源加载、关键操作或用户交互时的性能表现非常有用。

总结

Performance API 是前端开发者进行性能监控的强大工具,它提供了对页面加载、资源加载以及用户交互的详细分析能力。常用的 API,如 getEntries()、mark()、以及 PerformanceObserver,可以帮助开发者实时获取和分析性能数据。
通过合理地使用 Performance API,你可以更好地了解页面中各类操作的性能表现,从而有效地优化 Web 应用的加载速度和用户体验。

标签:前端,条目,API,Performance,performance,加载,页面
From: https://blog.csdn.net/csdn_wzq/article/details/143323159

相关文章

  • api 接口 验证 timestamp 接口api测试
    接口(API)测试没有总结,就不能认识自己,就不知成功在哪里,失败在哪里;没有思考,就没有提高,没有进步自动化测试分层【什么是API】API是ApplicationProgrammingInterface的简写。实现了两个或多个独立系统或模块间的通信和数据交换能力。【什么是API测试】API测试不同于UI自......
  • IoC在ASP.NET Web API中的应用
    IoC在ASP.NETWebAPI中的应用 控制反转(InversionofControl,IoC),简单地说,就是应用本身不负责依赖对象的创建和维护,而交给一个外部容器来负责。这样控制权就由应用转移到了外部IoC容器,控制权就实现了所谓的反转。比如在类型A中需要使用类型B的实例,而B实例的创建并不由A来负责,......
  • SAP B1 DI API 在调用时提示找不到COM
    SAPB1DIAPI在调用时提示找不到COM找到DIAPI的安装目录,尝试手工注册,组件提示失败通过Dependencies分析发现是缺少运行环境安装c++运行环境安装后,再次分析,没有缺少的组件再次手工注册组件成功!又提示数据库不支持,需要安装对应的NativeClient,Nativ......
  • web前端网页课程设计大作业 html+css+天津旅游(5页) dw静态旅游网页设计实例
    一、网页介绍......
  • web前端导航栏及下拉菜单制作(附完整代码)
    导航栏效果图完整代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document<......
  • 纯前端实现微信小程序录音后自动将语音转文字的同声传译功能
     本文将手把手教你如何借助微信官方提供的微信同声传译插件,不依赖后端接口,纯前端实现微信小程序录音后自动将语音转文字功能。我们需要依赖微信官方提供的微信同声传译插件。首先,需要进入微信公众平台添加插件。一、登录微信公众平台 ,进入账号设置二、进入第三方设置,添加......
  • 利用API接口实现旺店通和金蝶系统的无缝数据对接
    旺店通销售出库对接金蝶销售订单(线下)的技术实现在企业日常运营中,数据的高效流转和准确对接是确保业务顺畅运行的关键。本文将聚焦于一个具体案例:如何通过轻易云数据集成平台,实现旺店通·企业奇门的数据无缝对接到金蝶云星空系统。我们将详细探讨这一过程中涉及的技术要点和解决方......
  • 抖音店铺商品信息的 API
    抖音店铺商品信息的API主要用于获取抖音店铺中商品的详细信息,以下是一些相关的API介绍及使用要点:商品详情数据接口(如 dy.item_get):功能:这是一个专门用于获取商品详细信息的API接口。通过调用该接口,可以获取到商品的基本信息(如商品名称、描述、价格、图片和视频等)、......
  • 基于Pyecharts的数据可视化开发(二)调用通义千问api分析爬虫数据
            上一篇博客做了关于“广州市2023年天气情况”的数据爬取,并保存为.csv文件。下一步是想用生成的.csv文件,直接调用大模型api进行分析,得出结论。通过调研,阿里云的通义千问大模型qwen-long可以实现对文件数据的分析。        通义千问大模型提供了API,可......
  • 易飞ERP API V9.2 接口
    接口功能还在不断开发中,若何易飞有对接需求可以看看。采购模块,销售模块,生产模块,基本已经写的差不对了。接口下载地址:https://download.csdn.net/download/S3_SH/89929671下载文件中有每个接口详细调用说明,以下是随机接口说明截图:......