使用 performance 开启性能追踪
一:什么是Performance?
Performance是前端性能监控的API。它可以检测页面中的性能,W3C性能小组引入进来的一个新的API,它可以检测到白屏时间、首屏时间、用户可操作的时间节点,页面总下载的时间、DNS查询的时间、TCP链接的时间
前端性能最主要的测试点有如下几个:
白屏时间:从我们打开网站到有内容渲染出来的时间点。
首屏时间:首屏内容渲染完毕的时间节点。
用户可操作时间节点:domready触发节点。
总下载时间:window.onload的触发节点。
performance API 是 Vue 全局配置 API 中的一个,我们可以使用它来进行网页性能的追踪,我们可以在入口文件中添加:
if (process.env.NODE_ENV !== 'production') {
Vue.config.performance = true;
}
来开启这一功能,该 API(2.2.0 新增)功能只适用于开发模式和支持 performance.mark API 的浏览器上,开启后我们可以下载 Vue Performance Devtool 这一 chrome 插件来看查看各个组件的加载情况
在 Vue 源码中主要使用了 window.performance 来获取网页性能数据,其中包含了 performance.mark 和 performance.measure。
1、performance.mark 主要用于创建标记
2、performance.measure 主要用于记录两个标记的时间间隔
例如:
performance.mark('start'); // 创建 start 标记
performance.mark('end'); // 创建 end 标记
performance.measure('output', 'start', 'end'); // 计算两者时间间隔
performance.getEntriesByName('output'); // 获取标记,返回值是一个数组,包含了间隔时间数据
熟练的使用 performance 我们可以查看并分析网页的很多数据,为我们项目优化提供保障。除了上述介绍的两个方法,我们还可以使用 performance.timing 来计算页面各个阶段的加载情况,关于 performance.timing 的介绍可以查看我之前写的一篇文章:利用 Navigation Timing 测量页面加载时间