点评cat编译和基本使用

Cat介绍

Cat是一个汇总格式化日志的产品,他是大众点评的开源项目。

他的提供了自己的一套jar包,提供了记录日志的api,我们写代码的时候想对异常的处理整理记录以及想记录的sql执行时间、一个相关数据的统计等等,都可以依靠他的api来做。

 注:以上的定义是我自己用过产品后,自己的认识

编译参考

https://github.com/dianping/cat

编译必须用jdk6,虽然上面说增加了对jdk8的支持,但是编译到最后仍然会有问题,所以选择jdk6

Agent项目没有编译,也确实不需要编译,最后确实没有用到这个工程。

使用手册(网站上给的使用手册不全)

这里补充原先文档上不足或者有歧义的地方

原来的文档上没说,怎么把东西放到tomcat上,实际上不是agent什么的,而是编译出的那个war包,就是最后执行的时候在jetty上跑的那个应用,我们需要把那个war包改名为cat部署到tomcat上即可。多节点配置原来的文档没有问题。

客户端主要功能

Transaction用来记录一段程序响应时间(时间)

Event用来记录一行code的执行次数(次数)

Metric用来记录一个业务指标

提供了3api

logMetricForCount用于记录一个指标值出现的次数

logMetricForDuration用于记录一个指标出现的平均值

logMetricForSum用于记录一个指标出现的总和

他的模型是你的tomcat上部署的war包重点是用来查看结果信息的,你使用了他的api编写的程序是信息的发送者,默认发消息是给本地的tomcat上的cat,多个cat之间可以做分布式,查看远程的计算机的监控情况。

demo

他自带的test下有相关的测试代码,网上都让看TestStorageMessage这个类。

写程序的时候记得导入相应的jar包,jar包在war包的lib目录下。在META-INF(普通的java程序,自己在src下建立目录)下,新建app.properties文件,写入app.name=cat。

 public static void main(String[] args) {
  Transaction t = Cat.newTransaction("my", "sql");//这里记录到transaction的时间,一直到complete
  Cat.logEvent("sqlx", "sql");
  Cat.logEvent("sqlx", "sql2");//这里记录次数
  Cat.logEvent("sqlx", "sql3");
  try{
   int a=10;
   Cat.logMetricForCount("num a", a);
   
   a=10/0;
   
   t.setStatus(Transaction.SUCCESS);
  }catch(Exception e){
   t.setStatus(e);
  }finally{
   t.complete();
  }
  
 }

尝试执行这段代码,执行之后你就可以看到transaction和event里有你的记录了,具体的功能看上面的介绍,或者看工程里自带的开发者文档。

注:app.name=cat,此处指定的cat是你url里访问的cat,如果你修改了名字,请更换url里的名字,war包里默认的就是cat的名字,你用cat的话,就可以直接刷出信息。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值