JavaScript出错场景还原

​所谓web,即使你我素未谋面,便知志趣相投;足不出户,亦知世界之大。

最近收到一个用户提的需求场景,当JavaScript发生异常错误时,如果我们能记录出错前鼠标点击、页面跳转、网络请求,控制台打印等信息,这样我们便能更快速的带您重返"失事"现场。我觉得这个想法挺好的,那就加入我们的前端监控试试呢?我实现了一套目前的解决方案:一键还原出错代码和出错场景还原。如果你们有更好的解决方案,一定要联系我哦!

一键还原出错代码

现在开发的大部分前端项目,都会采用前端工程化打包工具,比如gulp、grunt、webpack等等,最终编译出的代码,都会对源码进行混淆压缩,在真实线上项目,js抛出的出错信息往往是压缩后的位置和变量信息,这样导致的问题便是我们需要花更多的时间来找到问题的实际位置,那如何解决这个问题呢?
我们在使用各种压缩工具的时候,都可以生成*.map文件。简单说,source map就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。有了它,很多工具将直接显示原始代码,而不是转换后的代码。
下面看看我们前端监控的实现:
1.入口


0 (6).jpg

2.堆栈信息,在右侧输入左侧出错文件的行列号,上传*.map文件,点击开始解析,解析成功后,在下面的表中会显示问错文件原始名称,行列号等,下面的编辑器可以去查看对应的出错位置,方便你快速定位错误。


0 (7).jpg

出错场景还原

通过一键还原出错代码,我们能找到出错的位置,可是有些错误我们可能还需要知道当初用户正在做些什么,出错前发生的一些事情,这样我们能更迅速的判断错误是怎样产生的,下面继续来看看如何实现:
在用户上报了错误信息之后,我们可以追溯到当前时间点之前的这个用户页面跳转、HTTP请求相关信息,然后根据时间排序,生成一条完整的访问请求链,将这些信息串联起来,这就是当前用户的“失事现场”。
最终呈现:


0 (8).jpg

喜欢请点个赞呗

或者去https://github.com/kisslove/web-monitoring Star一下

或者打赏一下

再或者……

哈哈,想法有点多了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,542评论 1 9
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,988评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,679评论 1 32
  • 铸剑师十年磨一剑,为的就是“剑快至倚天”的境界。削发如泥者,利也。漫长的十年,在铸剑师眼里是那样短暂,因为他早已将...
    youpinhaohuo阅读 459评论 0 0
  • 第1只鸟 1 在线下读书会认识一个平时挺爱阅读的书友,跟她聊天畅谈书本的内容,很是投契! 她给人的感觉就是一个很乐...
    李思维的好奇心阅读 414评论 2 3

友情链接更多精彩内容