前端监控系统那些事之数据上报
数据上报
数据埋点
前端常见的埋点方案:代码埋点、可视化埋点、无痕埋点
代码埋点:开发人员自己开发,可自定义在何处设置埋点
可视化埋点:一般情况会使用第三方的方案,通过配置,对UI通用类的元素进行设置
无痕埋点:一般是通过嵌入SDK,来监控我们的前端页面或者http请求的数据埋点
- | 代码埋点 | 可视化埋点 | 无痕埋点 |
---|---|---|---|
使用方式 | 手动开发 | 可视化圈选 | 嵌入SDK |
自定义数据 | 可自定义 | 难自定义 | 难自定义 |
是否需要更新 | 是 | 配置更新 | 不需要 |
成本 | 大 | 中间 | 低 |
适用场景 | 高度自定义 | UI通用数据 | 对于生命周期数据埋点 |
代码埋点
一般情况下,是通过和后台约定好具体的数据格式,前端在埋点采集的时候自动转换成接口需要的数据格式进行本地存储,然后进行上报。举个例子:在实际项目中有时会在用户点击时记录用户信息及功能模块,传给后台。
有效的数据埋点,既可用于单用户的链路操作的追踪,也可用于整体用户数据的统计。针对这些数据做相应的调整。
用户日志自动化埋点
日志通常用来定位用户问题时使用。我们通常需要提前在代码中打印日志,可通过全局代理、装饰器处理关键模块和方法等方式来进行日志的自动打印
数据上报
数据采集完成后,我们需要将这些数据上报到后台服务,一般还包括时间、名称、会话标记、版本号信息等;
常用的上报方式:
定时/定量上报 ---> 达到日志阈值或者到时间后上报
关键生命周期上报. ---> 发生异常、页面关闭前上报
用户主动提交 ---> 引导用户上报
用户日志上报
日志通常数据量较大,项目中常用日志上报的方案
- 上报到服务器:
如果要上传的日志数据量很大,在传输过程或者存储中可能会出现日志丢失或者查询速度慢或者影响我们项目的性能
如果过于频繁的上报,会增加服务器的压力 - 本地上传
引导用户主动提交
通过后台下发命令拉取日志数据
文章理解源于: https://space.bilibili.com/42233366
被删老师的讲的视频和她的博客都很好,推荐大家去看,从里面能学到很多的东西。被删老师的博客地址:https://godbasin.github.io/front-end-playground/
本文来自博客园,作者:前端加油站,转载请注明原文链接:https://www.cnblogs.com/bllx/p/16653131.html