Java不停机监控&热操作

在使用Arthas的过程中,感觉有些功能很好用,但是命令行的用起来会比较麻烦,,本着学习的态度,自己设计了一套无需停机,埋点,热修复,监控等功能的应用,并提供了WEB页面进行操作,并且会不断集成一些常用的功能 .
1. 已经支持的操作

  • 监控JVM、GC、启动参数、线程、系统参数等大盘信息
  • 对于正在运行中的程序,动态给某个方法织入代码,获取某个函数的执行时间
  • 对于正在运行中的程序,动态给某个方法织入代码, 获取某个controller方法请求参数和返回值
  • 对于正在运行中的程序,获取全部线程占有CPU时间百分比,并支持查看指定线程运行的堆栈信息
  • 热修复,通过反编译导出JAVA文件,修改后再导入通过classload重载入实现热编译(适用于空指针等bug,少量修改代码就可解决问题时使用)
  • 由于使用web页面操作,ip需要改为目标进程机器ip(默认是localhost如果是本地运行无需修改)
关键技术
技术名称
作用
Javaagent
在运行前加载,或在运行中对字节码进行操作
Virtualmachine
在运行中附着到目标进程上,并调用agent
架构部分
工程
技术
web
Vue + Ant design
server
Springboot+Websocket(以后可能弃用Springboot改为NettyServer)
agent
netty + Javassist + cfr + JavaCompiler
2. 如何安装使用?
  1. 去阿里云Maven仓库下载Jar包即可
(maven默认国外仓库)
(阿里云Maven仓库) 


    推荐阅读