1 Star 3 Fork 1

黑丶羽/monitor-jdbc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

jdbc 监控

使用agent的方式监控当前java 程序的 sql 执行情况,并计算执行时间

preview

目前只支持 mysql5.* 和8.* 的驱动程序,如果想支持其他 sql, 参见 monitor-agent模块下的 xyz.thetbw.monitor.jdbc.agent.transformers

使用方法

  • server模式
    • 下载release jar文件
    • java -jar xxx.jar执行下载的jar 文件
    • 在打开浏览器(或者手动打开 http://127.0.0.1:10086),选择需要监控的程序
    • 注: 需要监控的程序需要使用的是 mysql 5.* 或 8.*的驱动,不然会连接失败
  • agent模式
    • 下载 release jar文件
    • 在你启动程序的时候,添加vm参数 -javaagent:release.jar,其中release.jar为下载的jar文件,请替换成你的实际路径
    • 打开 http://127.0.0.1:10086 查看监控数据

目前并不算完善,没有完整测试,目前已知以下问题

  • 连接过程中如果本服务器断开,就不能再次连接了,必须重启目标程序
  • 和上个问题类型,断开连接后会恢复被修改的class,不过可能并未清理干净
  • 目前仅在 oracle jdk8 上测试通过,其他版本可能连接失败
  • 在windows上出现过不显示进程列表的问题,jps也不显示进程列表,应该是jvm的问题,把jar包从d盘复制到桌面莫名又好了
  • 过长的sql显示不全

后续计划 (如果有空的话)

  • 基本的bug修复
  • 反射获取数据优化
  • sql执行出错,执行超时的问题处理
  • ui 优化
  • 端口号设置与嵌入到springboot中

自行编译

  • 前提你已经有java环境和nodejs环境
  • 再 monitor-ui 目录下 npm install 安装依赖,然后 npm run build 编译
  • 将编译后的dist目录下的文件 复制到 monitor-server resource/static目录下
  • 编译 monitor-server mvn install
  • 编译 monitor-agent mvn install
  • 编译后的文件在 monitor-agent target目录下

其他

原本开发这个程序的目的是方便开发过程中复制正在执行的sql,用于排查问题。然后看了mysql驱动的源码才发现mysql驱动自带性能监控, spring 也可以使用好几种方式来打印执行的 sql 😂

Changelog

  • 0.0.2 新增了agent模式,其他问题修复

空文件

简介

jdbc 监控 展开 收起
Kotlin 等 4 种语言
取消

发行版 (3)

全部
3年前

贡献者 (1)

全部

近期动态

3年前推送了新的提交到 master 分支,2741c12...582ea62
3年前推送了新的 v0.0.3 标签
3年前推送了新的提交到 master 分支,6d0b17a...2741c12
3年前推送了新的提交到 master 分支,5593cd8...6d0b17a
3年多前推送了新的 v0.0.2 标签
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/thetbw/monitor-jdbc.git
git@gitee.com:thetbw/monitor-jdbc.git
thetbw
monitor-jdbc
monitor-jdbc
master

搜索帮助