Rejouer:探秘web页面录制与回放的新大陆

2021-10-08 16:48:01 浏览数 (1)

在我长期的固有认知中:为了收集和上报网站交互过程中 JavaScript 的报错信息和其它相关数据,我们一般会采用自研或者第三方的SDK,也可以简单理解为埋点。这也是为了方便生产问题的排查,做到可溯源。

但是,在前一段,和隔壁组的同事交流时,我发现了一个有点东西的系统--Rejouer。这个系统可以做到完整复现用户的操作行为,类似于录屏的功能,起初我还真的以为他们就是给我放了一个录屏,后来发现没那么简单。

本文也是在和这位同事探讨的过程中得到的一些启发。

业务背景

不要重复造轮子!这是我一直以来的信念。轮子的出现必定是要为业务服务。那么Rejouer出现的背景是什么呢?

痛点

我们来回顾一下日常处理线上问题的场景:

上面图片中的是一个正常处理线上问题的流程。我们一般会通过之前埋入的一些业务打点,根据用户uid去追溯问题,这样基本可以解决大部分的线上问题。但在实际的业务场景中,总是会出现一些奇奇怪怪的问题:

  • 环境差异:客户版本和配置差异
  • 内容传递不完整:在上图第 2 步中,出现信息传递不对称,造成问题无法复现
  • 敏感性:上图第 4 步中出现本地无法复现,咨询客户,但又涉及较为私密的信息,用户不愿录屏复现的场景
  • 客户数据差异:即使用户愿意录屏,但可能由于服务抖动,用户此时再次走流程也无法复现
  • ...

除了上面提到的这些问题,还有一个影响线上问题解决速度最致命的:链路过长!!

0 人点赞