美文网首页
JavaScript出错场景还原

JavaScript出错场景还原

作者: evenboy | 来源:发表于2019-07-22 21:15 被阅读0次

​所谓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一下

或者打赏一下

再或者……

哈哈,想法有点多了。

相关文章

  • JavaScript出错场景还原

    ​所谓web,即使你我素未谋面,便知志趣相投;足不出户,亦知世界之大。 最近收到一个用户提的需求场景,当JavaS...

  • 还原典型场景

    听动听的音乐,读经典的书籍。你好,我是马登强Bean,这里是【登强读经典】。 也是两个要点,即在什么条件下,达到什...

  • 还原典型场景

    听动听的音乐,读经典的书籍。你好,我是马登强Bean,这里是【登强读经典】。 也是两个要点,即在什么条件下,达到什...

  • 还原场景做假设

    今天没有做到倾听,乍一看是因为没机会,其实是因为让机会偷偷溜走。回忆,还原,练习一下。 早上送跳宝去幼儿园。 跳宝...

  • 还原任务场景

    听动听的音乐,读经典的书籍。你好,我是马登强Bean,这里是【登强读经典】。 这也是我前面有一篇文章专门写的,培训...

  • 还原任务场景

    听动听的音乐,读经典的书籍。你好,我是马登强Bean,这里是【登强读经典】。 这也是我前面有一篇文章专门写的,培训...

  • js基础变量、数据

    引入: 在编写JavaScript代码时,应注意基本的语法规则,避免程序出错。具体如下。 JavaScript严格...

  • 卫哲谈效率之创新篇

    还原创业场景…… 关注客户…… 低成本创新……

  • 《编写可维护的JavaScript》读书笔记之编程实践-抛出自定

    抛出自定义错误 在 JavaScript 中抛出错误是一门艺术。一旦理解如何抛出错误,以及在何时抛出错误,调试代码...

  • 版本控制系统 - GIT

    版本控制系统概述 开发中的实际场景 场景一:代码备份 场景二:代码还原【版本控制】 场景三:协同开发 场景四:追溯...

网友评论

      本文标题:JavaScript出错场景还原

      本文链接:https://www.haomeiwen.com/subject/hkuglctx.html