在使用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. 如何安装使用?
- 去阿里云Maven仓库下载Jar包即可
(阿里云Maven仓库)
推荐阅读
- 代代花不能和什么起喝,洛神花不能和什么起吃
- iphone13怎么关机和开机,iphone13怎么关机不了-
- mac怎么设置不待机,如何设置mac电脑不休眠 不锁屏-
- 康熙为什么对乾隆那么好,乾隆为什么不敢在位时间长过康熙
- 如何设置让U盘只能拷进不能拷出?
- 吕不韦和秦始皇是父子吗,吕不韦不是秦始皇的父亲
- 白茶适合什么人群喝,白茶不适合什么人喝
- 考研|学姐告诫:广大学弟学妹不要再执迷于考研了,更不要因为二战、三战考研而放弃求职工作了
- 淘宝买不到运输保险怎么办
- 月经一直不结束淡血水