前端性能监控
前端性能监控
1. 为什么要做前端性能监控?
- 更快发现问题和解决问题
- 做产品的决策依据
- 提升前端工程师的技术广度和打造简历亮点
- 为业务扩展提供更多可能性
2. 前端监控目标
2.1 稳定性
- JS 错误 JS 执行错误或 Promise 异常
- 资源异常 script, link 等资源加载异常
- 接口错误 网络请求异常
- 白屏 页面空白
2.2 用户体验
- 加载时间 各阶段加载时间
- TTFB
- FP
- FCP
- FMP
- FID
- 卡顿 超过 50ms 的长任务
2.3 业务
- PV
- UV
- TP
3. 前端监控流程
埋点 ==> 数据采集 ==> 数据建模存储 ==> 数据传输(实时/批量) ==> 数据统计(分析/挖掘)==> 数据可视化或者预警
3.1 常见埋点方案
3.1.1 代码埋点
- 嵌入代码的形式进行代码埋点,比如点击事件时保存用户行为发送至服务端
- 优点是可以任意时刻精准发送或保存数据
- 缺点是工作量较大
3.1.2 可视化埋点
- 不需要开发人员参与,一般是通过三方实现,实质时使用系统代替人工代码埋点
3.1.3 无痕埋点
- 前端任意一个事件都被绑定一个标识,所有的事件都记录下来
- 通过定期上传文件,配合文件解析,解析出我们想要的数据,并生成可视化报告
- 优点是采集全面,不会出现漏埋和误埋现象
- 缺点是给数据传输和服务器增加压力,也无法灵活定制数据结构
4. 脚本编写
4.1 开通日志服务
4.2 监控错误
- jsError
- promiseError
- resourceError
4.3 接口异常采集脚本
4.4 白屏
4.5 加载时间
4.6 性能指标
更多
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment