前言

  • 监控不会,线上嗝屁,赶紧记录下。

埋点方案

  • 代码埋点
    嵌入代码形式进行埋点,比如点击事件,在点击时插入一段代码发给服务端,缺点工作量大。

  • 可视化埋点
    将业务代码和埋点代码分离,提供可视化交互页面,在业务代码中自定义增加埋点事件,最后输出的代码耦合了业务代码和埋点代码。缺点是灵活性低。

  • 无痕埋点
    前端任意事件都记录下来,进行上传。优点是采集全量数据,不会出现漏埋误埋。缺点是给数据增加传输和服务器压力。

基础原理

  • 使用window.addeventListener监听error事件。unhandledrejection可以捕捉promise事件,资源错误事件会被error捕捉,在error里进行判断。
  • documenet.addeventListener代理捕获监听全局事件,只保存最后个事件。
  • 当有错误触发时,可立即将当前触发事件取出,得到因为哪个事件产生的报错详细原因。
  • 最后把这个数据发送出去。

阿里云日志服务

相关文章: