前端性能监控主要考虑以下几个方面

1. 静态性能

静态性能包括:包体积分析、lightHouse

2. 动态性能

(1)首屏:FMP、TTI、FCP、FP、满开比、秒开率、页面渲染数据时长

(2)卡顿:首次交互延迟、交互中最大延迟

(3)资源加载:静态资源加载耗时

(4)白屏 & loading 时长

3. 接口性能

(1)关键接口耗费时长监控

(2)所有接口耗费时长

(3)关键接口的成功率监控

(4)所有接口的成功率监控

4. 用户体验指标

主观:满意度(问卷调研、feedgood等方式)

客观:

(1)流畅性:页面加载性能、页面卡顿、帧率、数据更新时长(列表)、滚动卡顿、首次加载跳出率

(2)稳定性:脚本报错、接口异常、资源异常、白屏率

(3)业务指标:流量、到达率、转化(业务属性)、留存、活跃用户率、页面停留时长

(4)用户行为:业务场景决定的用户操作行为,如页面流、操作流、表单分析、业务自定义链路分析

页面性能分析

1. 页面加载路径

前端性能监控  sentry 前端性能监控方案_重定向

前端性能监控  sentry 前端性能监控方案_重定向_02

上图相关的时间点。
第 1 步 开始计时
startTime:记录开始时间。

第 2 步 重定向
redirectStart:重定向开始时间。
redirectEnd:重定向结束时间。

第 3 步 浏览器与服务器连接
fetchStart:浏览器发起 HTTP 请求时间。
domainLookupStart:DNS 查询开始时间。
domainLookupEnd:DNS 查询结束时间。
connectStart:TCP 连接开始时间。
connectEnd:TCP 连接结束时间。

第 4 步 浏览器与服务器数据交互
secureConnectionStart:浏览器跟服务器建立安全连接的时间。
requestStart:浏览器向服务器开始发送数据的时间。
responseStart:服务器向浏览器开始发送数据的时间。
responseEnd:服务器向浏览器结束发送数据的时间。

第 5 步 浏览器 DOM 解析
domLoading:DOM 开始解析的时间。
domInteractive:DOM 解析完成,开始加载内嵌资源的时间。
domContentLoadedEventStart:需要被执行的脚本已经被解析的时间。
domContentLoadedEventEnd:需要立即执行的脚本已经被执行的时间。
domComplete:文档解析完毕的时间。
 

当我们在控制台中 输入 window.performance 时,输出如下:

前端性能监控  sentry 前端性能监控方案_服务器_03

对于性能渲染相关的 我们主要看  window.performance.timing 这个对象,以下是每个字段的解析:

前端性能监控  sentry 前端性能监控方案_重定向_04

 

前端性能监控  sentry 前端性能监控方案_重定向_05

 2. 渲染路径 

前端性能监控  sentry 前端性能监控方案_重定向_06