BTrace:https://kenai.com/projects/btrace,BTrace is a safe, dynamic tracing tool for the Java platform. BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inject tracing code ("bytecode tracing"). Tracing code is expressed in Java programming language.
BTrace介绍:一个Java的动态跟踪工具,BTrace的工作的基本原理是把跟踪的代码动态替换到被跟踪的Java程序内,其实现机制是Sun Attach API + BTrace脚本解析引擎 + Objectweb ASM + JDK6 Instumentation,项目主页是在这里,用户指南点击这里。
BTrace使用:
1)解压并加可执行权限
tar xvf btrace-bin.tar.gz chmod +x bin/btrace
2)查找java的进程号pid
ps aux | grep "java"
3)编写btrace脚本:需要看到调用参数,因此import额外的class
import com.sun.btrace.annotations.*; import static com.sun.btrace.BTraceUtils.*; import com.xxx.OrderQuery; @BTrace public class TestMethod { @OnMethod( clazz="com.xxx.impl.OrderServiceImpl", method="getSingleOrderById" ) public static void test(OrderQuery orderQuery) { println(strcat("parameter tid: ",str(orderQuery.tid))); } }
4)执行脚本:注意build目录下新增了com目录,包含接口参数类型的class
[qinde@sirius049090.cm4 build]$ ll total 772 -rw-r--r-- 1 qinde users 273544 Jul 31 12:37 btrace-agent.jar -rw-r--r-- 1 qinde users 171502 Jul 31 12:37 btrace-boot.jar -rw-r--r-- 1 qinde users 325121 Jul 31 12:37 btrace-client.jar drwxr-xr-x 3 qinde users 4096 Jan 14 16:08 com [qinde@sirius049090.cm4 btrace]$ ls aa.txt bin build COPYRIGHT docs LICENSE.txt README.txt samples TestMethod.java THIRDPARTYLICENSEREADME.txt [qinde@sirius049090.cm4 btrace]$ sudo -u admin ./bin/btrace -cp build/ 17794 TestMethod.java
PS
1)Please set JAVA_HOME before running this script,需要EXPORT环境变量
export JAVA_HOME=/opt/xxx/java
2)案例记录:beta发布,打开新业务开关时,发现日志中有npe,怀疑和请求参数有关,但日志中看不到参数,因此准备以上的btrace脚本,发现确实有未预料到的参数哈。。真好用啊!
3)返回值,location=@Location(Kind.RETURN)
相关推荐
最新的btrace-bin-1.3.11.1.zip,以前的包用起来缺少一个文件,特意下载了最新的压缩包
btrace-bin-1.3.11.zip 目前最近的版本,java调度的绝对利器
net-java-btrace-visualvm.nbm java visualvm btrace 插件
BTrace是一款强大的Java线上诊断和分析工具,它充分利用了Oracle HotSpot虚拟机的动态类替换功能,允许开发者在不重启应用程序的情况下,实时地添加或修改类的行为,特别是用于添加日志输出,以便于线上问题的调试。...
标题中的"btrace-bin-1.3.9.tgz"是BTrace的1.3.9版本的二进制包,以tgz格式压缩,方便用户下载和部署。 **主要特点与功能** 1. **动态插入**: BTrace允许开发者在运行时向Java程序的类中插入自定义的追踪代码,...
btrace-bin直接解压缩配置环境变量后即可运行使用。 java监控调试工具虚拟机监控程序,利用BTrace可以在线监控java程序状态。 BTrace是一种安全,动态的Java跟踪工具。BTrace通过动态(字节码)检测正在运行的Java...
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
标题中的 "btrace-release-1.3.11.3.zip" 表明这是一个 Btrace 的特定发布版本,版本号为 1.3.11.3,通常包含已编译的库文件、文档和其他必要的资源。 在 Java 开发中,性能监控是至关重要的,因为这有助于识别和...
构建 BTrace设置您需要安装以下应用程序Git(可选,默认启动器是捆绑gradlew包装器)Gradle建造Gradlecd <btrace>./gradlew :btrace-dist:build二进制 dist 包可以作为 *.tar.gz、*.zip、*.rpm 和 *.deb 文件找到...
java线上问题定位神器,Btrace-bin-1.3.10,适用于jdk1.7(+),解压即可使用,一般人我不告诉他。
btrace-bin-1.3.11.3.zip java监控调试工具虚拟机监控程序
BTrace作为线上问题定位神器,它在侵入、安全、资源占用等方面表现的都非常出色。
本文将围绕“btrace-bin-1.3.11.tgz.tar.gz”这一最新版本的BTrace bin包,探讨其主要组件、使用方法以及相关知识点。 首先,我们看到压缩包内包含了诸如COPYRIGHT、LICENSE等基础文件。这些文件是开源软件的重要...
BTrace - a safe, dynamic tracing tool for the Java platform
在压缩包文件"btraceio-btrace-9933f19"中,我们可以推测这是BTrace的一个版本或者构建,其中可能包含了BTrace的源代码、库文件以及相关的文档和示例。对于想要深入了解或定制BTrace功能的开发者来说,这是一个重要...
jar包,亲测可用
jar包,亲测可用
总之,BTrace作为Java线上调试的神器,为开发者提供了高效的问题排查手段,但同时也需要我们合理、谨慎地运用,确保不影响系统的稳定性和性能。熟悉并掌握BTrace,无疑能提升我们在生产环境中的故障排查能力。