前端监控方案调研

189 阅读1分钟

背景:前端问题总是需要用户发现上报,没有自动监控的能力,影响用户体验。

前端监控可以分为三类:

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)=>{
    // 分析错误->上报
})

根据问题类型或等级,确认是否发送邮件通知平台相关负责人