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


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写了个抛异常的死循环)~

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

w

Connecting to %s

在WordPress.com的博客.

向上 ↑

%d 博主赞过: