$ npm install cat-client --save
请确保你的服务器配置了/data/appdatas/cat/client.xml
var Cat = require("cat-client");
//应用初始化阶段
Cat.init({
appName:"your-app-name"
});
//for koa middleware
app.use(Cat.middleware);
//in app
//log event
Cat.logEvent("URL","/index");
//log error
Cat.logError("error userId not found",error);
//transaction
var t = Cat.newTransaction("URL","/index");
//处理业务逻辑, 推荐使用generator同步写法,以确保其他调用setStatus complete 是在业务逻辑处理之后
//例如 yield biz();
t.setStatus(Cat.STATUS.SUCCESS);
t.complete();
新建event用以监控。
-
type
- {string} Event的type,默认值是undefined。 -
name
- {string} Event的name,默认值是undefined。 -
status
- {string} optional ,Event的status,请使用Cat.STATUS
常量, 默认成功 -
data
- {string} optional, Event的data,默认值为undefined。
新建error用以监控。
-
msg
- {string} 用户需要记录的信息,默认值是undefined。 -
error
- {object} Error对象。
初始化生成一个transaction handler实例,包含一系列Transaction操作接口。
-
type
- {string} Transaction的type,默认值为undefined。 -
name
- {string} Transaction的name,默认值为undefined。
设置transaction的状态,0表示成功,非零表示失败,默认值是0。
status
: {string} , 参见 Cat.STATUS
常量
添加transaction的数据,默认值为undefined。
data
: {string}
完成transaction。
logEvent
,transaction.setStatus
所使用的状态码
SUCCESS
成功FAIL
失败
如果你使用了koa以及cat.middleware , 推荐使用 this.cat
获取cat实例, 以确保所有的打点都能汇总到单个请求中
this.cat和require('cat-client') 拿到的Cat实例 API一致
- 抓取一个URL请求的数据
//in koa middleware
var t = Cat.newTranscation('URL',this.path);
t.addData(this.url);
t.logEvent('URL','URL.Server',Ca.SUCCESS, 'Refer='+this.header.referer+';Agent='+this.header['user-agent']);
yield next;
t.setStatus(this.status < 400 ? Cat.FAIL : Cat.SUCCESS);
t.complete();
在Cat的Transaction页面就能看到按URL打的所有URL信息