前端log、debug、trace、analytics
- 在浏览器收集用户行为信息,如各类事件、网络请求、performance数据等,这些数据可以用来辅助产品后续运营,常见的产品有Google Analytics、百度统计、站长统计、umami等等
- 在浏览器跟踪重点事件,记录性能信息、报错信息等技术信息,用来统计各类异常和崩溃信息,常见的产品有sentry、webfunny等等
- 在做toB的业务中,一些数据量较大的日志,不便于发送到服务器,临时存储到了indexdb中,出现问题时可以让用户将日志导出为excel。用的是一个很小众的仓库:idb-logger,我后来调研了一圈,感觉使用loglevel + 自定义插件也可以实现类似的效果
- 偶尔会写一些轻量级前端服务,前端服务的日志使用 winston 来记录,写入到文件里
- 以上都是解决单独问题的方案,目前最令人心动的解决方案是opentelemetry,可以跟踪从前端到server再到DB或其他服务的全链路事件,生成时间瀑布图。opentelemetry也有缺点,23年调研的时候opentelemetry还不支持浏览器使用,现在24年,它已经支持浏览器接入了,但是官网文档上说它还不是稳定版,后续也可能会有破坏性的变化;其次它的体积很重,这对一个辅助功能来说是很大的硬伤。
- 如果5中的问题都解决了,前端可以在react中封装一些组件,配合context,可以自动生成span,自动指定parentId,配合server和其他服务方,打通全链路trace,真是太cool了
- opentelemetry似乎不能支持analytics,也不带错误监控?analytics问题可以使用第三方分析工具来实现,已经有数据了,分析好说。错误监控可能要自己写了?之前也没调研到很好的方案