线上诊断神器BTrace快速入门
使用背景
生产环境系统发生问题时,定位问题需要获取系统运行时的相关数据,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据,需要修改代码,将数据输出到日志文件,再发布到生产环境。这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时定位及解决;另一方面重新部署后环境很大程度上已被破坏,很难重现问题。BTrace在这种背景环境下应运而生。
BTrace简述
BTrace
(Byte Trace)是Sun推出的一款Java 动态、安全追踪(监控)工具,可以在不停机的情况下监控系统运行情况,并且做到最少的侵入,占用最少的系统资源。
官方网址:https://kenai.com/projects/btrace
BTrace在使用上做了很多限制,如不能创建对象、不能使用数组、不能抛出或捕获异常、不能使用循环、不能使用synchronized
关键字、脚本的属性和方法都必须使用static
修饰等,具体限制条件可参考用户手册。根据官方声明,不当地使用BTrace
可能导致JVM
崩溃,如BTrace
使用错误的.class
文件,所以,可以先在本地验证BTrace
脚本的正确性再使用。
BTrace优点
- 安全性:安全性不会导致对目标Java进程的任何破坏性影响
- 无侵入性:无需对原有代码做任何修改,降低上线风险和测试成本,并且无需重启系统
安装BTrace
1)下载地址:https://github.com/btraceio/btrace/releases
2)解压缩
3)设置环境变量
BTRACE_HOME=/usr/local/btrace-bin-2.0.2
export BTRACE_HOME
export PATH=$PATH:$BTRACE_HOME/bin
使用BTrace
作用:运行Btrace脚本
命令格式:
btrace <pid>
btrace <pid> <btrace-script>
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/online-diagnostic-tool-btrace-quick-start/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论