(30 hackdays day 24) Atatus - what happened before crash

来源:互联网 发布:金山游侠类似软件 编辑:程序博客网 时间:2024/05/06 17:56

Atatus是一个用来记录“犯罪现场”的工具。正如其他类似的统计异常的SDK一样,Atatus除了收集你的web app里发生的异常,在后台看到各种Bug的统计,最重要的功能的可以记录发生异常的时候用户的行为。

如何重现

工程师在解决bug的时候遇到的最讨厌的事情莫过于不知道如何重现问题。现代Web App的复杂度越来越高,一个错误可能是长时间的javascript执行的积累造成的,很可能用户遇到一个问题,但只能报告一个有#的url。而之前的操作才是引发这个bug的原因。
Atatus就是来解决这个问题的。用户只要配置好SDK,一旦遇到Exception,Atatus就会把它,以及之前所做的行为报告给服务器。

比如我做了个登陆页面,我在一个input里输入了用户名,在另一个密码登陆框里输入了密码,然后点击了登陆按钮,bang,出bug了。整个栈被如实打出。同时,一旦你觉得某个bug被解决了,可以点resolve隐藏掉这个bug。对于小型项目来说还是很方便的。

Angular

Angular是个FrontEnd又爱又恨的的框架,其中一恨就是有些错误超难track。Atatus专门为Angular写了一小段错误处理代码(当然这个不是Atatus专用的)。

.factory('$exceptionHandler', ["$window", function ($window) {  return function (exception, cause) {    if (exception.stack) {      exception.stack = exception.stack.replace('new ', '');    }    if ($window.atatus) {      $window.atatus.send(exception);    }  };}]);

增加这么一个处理exception的factory,你的Angular程序就能在发生错误的时候统计下整个的用户行为和错误了。

离线存储

一个H5应用经常会面临用户不在线的情况,只要打开offline模式,等到用户连上网以后就会自动发送。它用的是localstorage,所以不用怕关掉tab。

atatus.enableOffline(true)

Pricing

唯一有点遗憾的就是它不提供永久免费的方案。当然你可以试用30天之后再注册一个账号...
不过,12刀15万个exception听起来还是不错的(除非你的App写了个抛异常的死循环)~

0 0
原创粉丝点击