随笔分类 -  【性能测试】 -- CAT

全链路监控开源工具
摘要:在第2章我们讲到,服务器在初始化CatServlet 之后, 会初始化 MVC,MVC也是继承自AbstractContainerServlet , 同样也是一个 Servlet 容器,这是一个非常古老的MVC框架,当时Spring MVC 还并不成熟,但是所有MVC框架的核心思想都是一致的。 在初 阅读全文
posted @ 2019-01-25 15:42 小文叔 阅读(1592) 评论(0) 推荐(0) 编辑
摘要:周期结束 我们从消息分发章节知道,RealtimeConsumer在初始化的时候,会启动一个线程,每隔1秒钟就去从判断是否需要开启或结束一个周期(Period),如下源码,如果 value < 0 的时候,就会启动一个周期结束线程,线程会调用endPeriod函数,找到需要结束的周期,完成周期的结束 阅读全文
posted @ 2019-01-25 15:34 小文叔 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:CrossAnalyzer-调用链分析 在分布式环境中,应用是运行在独立的进程中的,有可能是不同的机器,或者不同的服务器进程。那么他们如果想要彼此联系在一起,形成一个调用链,在Cat中,CrossAnalyzer会统计不同服务之间调用的情况,包括服务的访问量,错误量,响应时间,QPS等,这里的服务主 阅读全文
posted @ 2019-01-25 15:23 小文叔 阅读(2449) 评论(0) 推荐(0) 编辑
摘要:大众点评CAT微服务监控架构对于消息的具体处理,是由消息分析器完成的,消息分析器会轮训读取PeriodTask中队列的消息来处理,一共有12类消息分析器,处理后的结果就是生成各类报表。 消息分析器的构建 在周期Period构造函数中,我们会通过m_analyzerManager.getAnalyze 阅读全文
posted @ 2019-01-25 15:12 小文叔 阅读(1228) 评论(0) 推荐(0) 编辑
摘要:CAT配置 在CAT中,有非常多的配置去指导监控的行为,每个配置都有相应的配置管理类来管理,都有一个配置名, 配置在数据库或者配置文件中都是以xml格式存储,在运行时会被解析到具体实体类存储。我们选取一个配置的初始化代码来分析: 以上代码是serverFilter配置的初始化逻辑,该配置的管理类是S 阅读全文
posted @ 2019-01-25 15:02 小文叔 阅读(1205) 评论(0) 推荐(0) 编辑
摘要:这边首先介绍下大众点评CAT消息分发大概的架构如下: 图4 消息分发架构图 分析管理器的初始化 我们在第一章讲到服务器将接收到的消息交给解码器(MessageDecoder)去做解码最后交给具体的消费者(RealtimeConsumer)去消费消息。 RealtimeConsumer 是在什么时候被 阅读全文
posted @ 2019-01-25 14:48 小文叔 阅读(777) 评论(0) 推荐(0) 编辑
摘要:cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类; io目录包含建立服务端连接、重连、消息队列监听、上报等io实现类; spi目录为上报消息工具包,包含消息二进制编解码、转义等实现类。 消息的组织 - 消息树 大众点评Cat使用 阅读全文
posted @ 2019-01-25 14:38 小文叔 阅读(2065) 评论(0) 推荐(1) 编辑
摘要:Cat模块 Cat-client : cat客户端,编译后生成 cat-client-2.0.0.jar ,用户可以通过它来向cat-home上报统一格式的日志信息,可以集成到 mybatis、spring、微服务 dubbo 的监控等等流行框架。 Cat-consumer: 用于实时分析从客户端提 阅读全文
posted @ 2019-01-25 14:27 小文叔 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合,支持PHP、C++、Go等多语言应用,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、 阅读全文
posted @ 2019-01-25 14:15 小文叔 阅读(6541) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示