怎么用 performance.mark 和 measure 给业务代码打点测耗时?
简答题困难1458 次浏览
参考答案与解析
Web Vitals 能告诉你页面整体快不快,但回答不了「搜索结果从点击到展示用了多久」这种业务问题,这时就要自己打点。performance.mark() 在某个时刻打一个带名字的时间戳,performance.measure() 计算两个标记之间的耗时,结果会出现在 DevTools Performance 面板的 Timings 轨道里,也可以用 PerformanceObserver 收集起来上报。比 Date.now() 相减更精确,而且不受系统时间调整影响。
速记要点
- mark 打时间点,measure 算两点之间的耗时
- 基于高精度单调时钟,不怕改系统时间
- 结果能在 Perform
