性能工具之Java调试工具BTrace入门
2 --> 引言 在我们对Java应用做问题分析的时候,往往采用log进行问题定位和分析,但是如果我们的log缺乏相关的信息呢?远程调试会影响应用的正常工作,修改代码重新部署应用,实时性和灵活性难以保证,有没有不影响正常应用运行,又灵活并无侵入性的方法呢? 答案是有,它就是Java中的神器-BTrace BTrace是什么? BTrace使用Java的Attach技术,可以让我们无缝的将我们BTrace脚本挂到JVM上,通过脚本你可以获取到任何你想拿到的数据,在侵入性和安全性都非常可靠,特别是定位线上问题的神器。 BTrace原理 BTrace是基于动态字节码修改技术(Hotswap)向目标程序的字节码注入追踪代码。 安装配置 关于BTrace的安装配置使用,此处就不再重复造轮子,网上有太多的教程。 官网地址:https://github.com/btraceio/btrace 注意事项 生产环境可以使用,但修改的字节码不会被还原,使用Btrace时,需要确保追踪的动作是只读的(即:追踪行为不能修改目标程序的状态)和有限的行为(即:追踪行为需要在有限的时间内终止),一个追踪行为需要满足...