点评cat编译和基本使用

Cat介绍

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

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

 注:以上的定义是我本身用过产品后,本身的认识github

编译参考

https://github.com/dianping/catsql

编译必须用jdk6,虽然上面说增长了对jdk8的支持,可是编译到最后仍然会有问题,因此选择jdk6api

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

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

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

原来的文档上没说,怎么把东西放到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的话,就能够直接刷出信息。

相关文章
相关标签/搜索