背景:前端问题总是需要用户发现上报,没有自动监控的能力,影响用户体验。
前端监控可以分为三类:
1、数据监控:
- PV/UV:PV(page view),页面浏览量或点击量。UV: 即Unique Visitor(独立访客),访问网站的一台电脑客户端为一个访客。访问平台的实际人数。pv/uv,值越高,表示一个用户平均在产品的浏览页越多,可以用来衡量产品的粘度
- 用户在每个页面的停留时间。
- 用户在响应的页面触发的行为。
意义:哪些功能使用较多,哪些不使用,确定优化方向。
方案:埋点(已支持)。
2、性能监控:
- 首屏加载时间。
- 接口响应时间。
- 静态资源下载时间。
- 页面渲染时间。
意义:了解前端性能的好坏,根据结果对差性能的页面进行优化,提升用户体验。
方案:developer.mozilla.org/zh-CN/docs/…
3、异常监控:
- js的异常监控。
- 样式丢失的异常监控。
意义:实时监控前端代码在执行过程中的异常,及时上报异常情况,先于用户发现问题,减少线上问题的发生。
方案:为了能自动捕获应用异常,需要劫持并覆写window.onerror和window.unhandledrejection这两个api。
// 同步异常
window.addEventListener('error',(error)=>{
// 分析错误->上报
const target = ev.target
if (!target || (ev.target && !ev.target?.localName)) {
// JS运行错误
}
if(target?.localName){
// 资源加载错误
}
})
// 异步异常
window.addEventListener('unhandledrejection',(rejection)=>{
// 分析错误->上报
})
根据问题类型或等级,确认是否发送邮件通知平台相关负责人