利用Performance API监控性能指标
- 监控页面加载时间:
- 使用
performance.timing
属性,它包含了各种与页面加载时间相关的时间戳。例如:
// 页面开始加载的时间
const startTime = performance.timing.navigationStart;
// 页面加载完成的时间
const endTime = performance.timing.loadEventEnd;
// 页面加载总时间
const loadTime = endTime - startTime;
console.log(`页面加载总时间: ${loadTime} 毫秒`);
- 监控脚本执行时间:
- 使用
performance.now()
方法,它返回一个高精度时间戳,以毫秒为单位。在脚本开始和结束处分别记录时间,然后相减得到执行时间。例如:
// 脚本开始
const scriptStart = performance.now();
// 假设这里是需要测量时间的脚本代码
// 脚本结束
const scriptEnd = performance.now();
const scriptExecutionTime = scriptEnd - scriptStart;
console.log(`脚本执行时间: ${scriptExecutionTime} 毫秒`);
在Vue组件生命周期中适合的阶段
- 开始性能监控:
- 在
beforeCreate
阶段开始比较合适。因为这个阶段组件实例刚被创建,还没有进行数据观测和事件配置等操作,几乎不会对性能监控产生干扰。在该阶段可以初始化一些性能监控的变量,例如记录开始时间。
- 结束性能监控:
- 在
mounted
阶段结束监控页面加载相关性能指标比较合适。因为mounted
阶段表示组件已经挂载到DOM上,页面已经渲染完成,此时可以获取到完整的页面加载时间。
- 对于组件内脚本执行时间监控,如果是监控组件自身的初始化脚本等,可以在
created
阶段结束监控。因为created
阶段组件已经完成数据观测、属性和方法的运算等操作。如果是监控挂载后执行的脚本,那么在相关脚本执行结束处进行监控结束操作。