开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

土拨鼠 / bee-apmJava

Watch 49 Star 126 Fork 31
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
BeeAPM是一个分布式跟踪和应用性能监控系统。 该系统应用JavaAgent技术,使用bytebuddy(基于ASM的框架)进行字节码植入,从而对java应用程序进行相关数据采集和性能监控, 对应用无侵入 展开 收起

https://github.com/hao117/bee-apm

  • Java 44.1%
  • HTML 22.0%
  • Vue 15.8%
  • CSS 14.9%
  • JavaScript 3.2%
hao117 最后提交于 bug fixed
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

BeeAPM

BeeAPM是一个分布式跟踪和应用性能监控系统。 该系统应用JavaAgent技术,使用bytebuddy(基于ASM的框架)进行字节码植入,从而对java应用程序进行相关数据采集和性能监控, 对应用无侵入。

源码

github:https://github.com/hao117/bee-apm

gitee :https://gitee.com/beetle082/bee-apm

部署

介绍

采集端(agent)

采集数据发送到APM Server端或者消息中间件或存储器等

1、采集功能

所有的采集功能均有单独开关配置

  • 分布式调用链(方法调用链路、远程调用追踪)
  • 采样控制
  • 方法采集
    • 方法调用链路
    • 参数采集
    • 执行耗时
    • 方法信息
    • 耗时阀值控制(超过一定时间阀值的不采集)
    • 采集点配置
    • 返回值采集 (考虑)
  • http追踪
    • 支持httpclient3
    • 支持httpclient4
    • 支持okhttp3
    • jdk-http(待开发)
  • 支持servlet采集
    • 主流容器支持(tomcat,weblogic,jetty等)
    • 链路支持
    • 基本请求信息
    • 耗时采集
    • 耗时阀值控制
    • request body采集
    • request parameter
    • request header采集
    • response body采集
    • session采集(待开发)
  • jdbc采集(jdbc规范)
    • 采集sql语句
    • 采集sql参数
    • 采集执行时间
    • 耗时阀值控制
    • 采集结果集大小
  • logger采集
    • 支持log4j
    • 支持log4j2
    • 支持logback
    • 采集点可配置
    • error以上级别是否采样控制
  • spring事务
    • 事务持有时间
    • 执行sql次数
    • 事务耗时阀值控制
  • 异常信息采集,支持采集点黑白名单配置
  • 支持携程apollo(仅支持启动时拉取配置)
  • 半自动API(待开发)
  • jvm、cpu、磁盘、内存、线程等采集(待开发)
  • 统计采集(待开发)

2、传输能力

  • 支持输出到控制台
  • 支持输出到远程http服务器
    • 支持okhttp
  • 支持输出到kafka,支持kafka 1.x
  • 支持输出到RocketMq
  • 支持输出到pulsar(待开发)
  • 支持输出到ElasticSearcch(待开发)

APM Server端

数据收集和存储。从采集端接受数据或者从消息中间件中拉取数据,并进行存储

1、数据收集

  • http接受,使用servlet接收采集端发送过来的数据
  • 从kafka拉取数据
  • 从pulsar拉取数据(待开发)

2、数据存储

  • ElasticSearch
  • mysql(待开发)
  • oracle(待开发)
  • h2(待开发)

APM UI端

开发中。。。 支持调用链展示,采集数据查询,报表等

联系

QQ: 275951533
EMAIL: beetle082@163.com

项目点评 ( 7 )

你可以在登录后,发表评论

搜索帮助

12_float_left_people 12_float_left_close