Cat客户端设计理念主要考虑如下几點
- 对业务低影响、对业务低影响、对业务低影响
- 业务线程埋点生产消息,交给消息生产器Producer
- 消息生产者将消息放入当前线程的消息栈中
- 业務线程在消息构建结束时将消息栈产生消息树放入消息队列中
- 消息发送者线程将消息队列中的消息树序列化为消息报文上传给Cat服务端
cat通過这个里面的配置地址向服务端发送请求,或者真正的路由CAT路由地址
第一段是应用名:domain
第二段是当前这台机器的IP的16进制格式:0a2b4266
第三段是系统当前时间除以小时得到的整点数:437960
第四段是表示当前这个客户端在当前小时的顺序递增号(AtomicInteger自增,每小时结束后重置):8680
Cat在做任意打点时,會检测是否初始化没有初始化再初始化,初始化MessageProducerMessageManager,启动监视器发送器,聚合器
Cat: Cat门面类一般直接用此类打点
2.3 几个后台运行线程
2.4 消息創建过程分析
下面以创建Transaction消息为例说明消息创建过程
首先通过消息管理者MassageManager判断是否存在消息上下文context,如果不存在则在setup中创建消息上下文
start會将消息入栈
如果时间到来,或者长度到了直接截断发送否则加到子Transaction里