
CAT
文章平均质量分 85
ph3636
这个作者很懒,什么都没留下…
展开
-
CAT的Client端初始化
1. Client端主要用来采集各种消息,本文采用官方的例子 Transaction t = Cat.newTransaction("your transaction type", "your transaction name"); try { yourBusinessOperation(); Cat.logEve...原创 2018-09-06 16:18:10 · 3672 阅读 · 0 评论 -
CAT的Client端发送消息
1. 生产消息newTransaction,检查上下文ThreadLocal<Context>是否已经初始化,没有则通过m_manager.setup()初始化。初始化消息DefaultTransaction,转交给默认消息管理开始消息处理,m_manager.start(transaction, false);如果是该线程的第一个消息则保存在MessageTreepublic ...原创 2018-09-06 20:29:14 · 929 阅读 · 0 评论 -
CAT的Server初始化
1. Server初始化从web.xml文件开始,作为一个war包项目,首先需要初始化Servlet,首先是CatServlet专门初始化cat相关的server程序,比如接受客户端传过来的数据等等,另一个servlet为MVC专门提供数据查询接口的普通的MVC功能,功能相当于缩小版的SpringMVC。过滤器有两个CatFilter最主要是做一些过滤处理,每次请求经过ENVIRONMENT,ID...原创 2018-09-13 18:57:15 · 733 阅读 · 0 评论 -
CAT的Server消费消息(一)
1. 初始化RealtimeConsumer实时消费,使用容器自带的初始化前置处理Initializable,初始化PeriodManager,时间间隔为一个小时,也就是以小时为维度进行统计数据,并且设置统计类和消息分析器。public void initialize() throws InitializationException { m_periodManager = new Per...原创 2018-09-14 12:45:51 · 337 阅读 · 0 评论 -
CAT的Server消费消息(二)
1. 消费消息的流程从DefaultMessageHandler#handle=》RealtimeConsumer#consume,查找符合当前时间的时段Period,每个时段都会有开始结束时间,timestamp >= m_startTime && timestamp < m_endTime;public void consume(MessageTree tre...原创 2018-09-14 16:54:21 · 375 阅读 · 0 评论