最近在处理一个准线上问题的时候一个前辈介绍了一个很好用的检测工具:Btrace(强大之处就不多说了,不了解的自行google)。实现原理可以参考http://www.ibm.com/developerworks/cn/java/j-lo-instrumentation/。
接下来就来介绍下怎么玩Btrace(Linux环境)
1) 首先下载:wget https://kenai.com/projects/btrace/downloads/download/releases/release-1.2.2/btrace-bin.zip,下载下来后直接解压
2) 修改{btace_home}/bin/btrace文件
#后面会需要编译一个BTrace.java的文件,所以这个路径不可少
JAVA_HOME=/XXX/XXX/java
#因为需要动态编译,所以需要设置原类库的classpath,主要是要编译BTRACE文件,它里面 肯定有依赖原类(这个是非必配项,只有当你BTrace类中需要引入工程中其他类时才需要设置)
CLASS_PATH=需要引入的类的classes的目录
#BTRACE_HOME路径,编译以及运行时都需要BTRACE自己的jar包
BTRACE_HOME=/home/work/btrace
3)新建一个Trace.java(名字自己取),这里写的例子是检测一个方法的返回值
(具体写法根据需要自行设置,网上也有用法):
import com.sun.btrace.AnyType;
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
@BTrace
public class Trace {
@OnMethod(clazz = "类全名,包含包名", method = "需要检测的方法", location = @Location(Kind.RETURN))
// 注意点: 如果你检测的类返回的是一个基本类型这边@Returen 后面需要用对应的类型来接受返回值
public static void m0(@Return Object ret) {
println("XXXXX===返回值为==");
println(str(ret));//返回值
}
}
4) 运行 {btrace_home}/bin/btrace 应用的pid Trace.java
BTrace正式开始工作啦 :)
PS:试验发现内部类监控不到
分享到:
相关推荐
在Java开发领域,性能优化是不可或缺的一环,而BTrace作为一个强大的动态跟踪工具,可以帮助开发者实时监控和分析应用程序的行为。本文将详细介绍如何在jVisualVM上进行BTrace插件的离线安装,以便在无法在线安装的...
【标题】"jdk1.8-Btrace.rar"指的是一个针对Java开发的特殊工具包,它包含了一个名为Btrace的在线检测插件。...对于任何Java开发者来说,熟练掌握并运用Btrace都能极大提升他们的工作效率和软件质量。
在实战学习BTrace时,你需要了解以下几个关键知识点: 1. **BTrace 脚本基础**:学习BTrace首先要掌握它的脚本语言,包括如何定义探查点(Probes)、如何访问和操作对象、以及如何使用内置的探查方法(如`...
《深入理解BTrace 1.3.9:Java应用诊断利器》 BTrace,全称为“Bytecode Tracing”,是一款强大的动态代码插桩工具,它允许开发者在运行时对Java应用程序进行性能分析和诊断。BTrace 1.3.9是其一个重要版本,特别...
Btrace 是一个强大的Java应用程序动态跟踪工具,它允许开发者在不修改代码的情况下,对正在运行的应用程序进行实时监控和诊断。这个资源包包含了Btrace的多个组件,下面我们将逐一介绍。 1. **btracec.bat 和 ...
BTrace是一款强大的Java应用动态追踪工具,它允许开发者在运行时对Java应用程序进行性能分析和诊断,而无需修改源代码或重新部署应用。这个版本可能是对早期版本的改进,包含了修复的bug、新的功能或性能优化。 ...
Btrace 是一款强大的Java应用程序诊断工具,它允许开发者在不修改或重启应用的情况下,实时监控和分析运行中的Java程序。这款工具的核心特性在于其无侵入性,对于繁忙的生产环境而言,这意味着可以在不影响系统正常...
BTrace是一款强大的Java诊断工具,专用于实时、安全地进行生产环境中的应用程序性能监控和故障排查。它的核心特性在于能够在不中断程序运行的情况下,动态插入代码进行跟踪和分析,这对于理解复杂的系统行为和定位...
【标题】"btrace1.3.9"指的是BTrace工具的一个特定版本,1.3.9,这是一款强大的Java应用程序动态跟踪工具。BTrace利用Java的JVMTI(Java Virtual Machine Tool Interface)和Serviceability Agent(SA)来提供安全、...
BTrace 是一个强大的、安全的、动态的Java应用程序诊断工具,它允许开发者在运行时对Java应用进行细粒度的监控和性能分析。BTrace利用了Java的动态代理机制(Java Agent)和ASM字节码库,能够在不中断程序运行的情况...
**BTrace调试工具详解** BTrace是一款强大的Java应用程序动态跟踪工具,它允许开发者在不修改源代码或重新启动应用的情况下,对正在运行的Java应用程序进行实时...合理运用BTrace,可以极大地提升线上问题解决的效率。
Btrace 是一个强大的开源工具,专为 Java 虚拟机(JVM)设计,用于在生产环境中进行动态、无侵入式的应用程序性能监控。标题中的 "btrace-release-1.3.11.3.zip" 表明这是一个 Btrace 的特定发布版本,版本号为 1.3....
【标题】"btrace workbench" 是一个专为Java开发者设计的强大工具,它与jvisualvm结合使用,提供了深入的应用程序性能分析能力。BTrace(Business Trace)是一种动态跟踪工具,允许开发者在运行时对Java应用程序进行...
bTrace是一款强大的、无侵入式的Java运行时代码注入工具,允许开发者在运行中的Java应用上动态添加调试和监控代码,而无需重新编译或重启应用。它通过字节码增强技术来实现这一功能,对于理解复杂系统的行为和性能...
**BTrace:深入理解与应用** BTrace 是一个强大的动态代码跟踪工具,它允许开发者在运行时对Java应用程序进行安全的、低开销的、无侵入性的性能和行为分析。这个工具的独特之处在于,它不需要修改或重新编译源代码...
BTrace 是一个强大的、安全的、动态的Java应用程序诊断工具,由Sun Microsystems(现已被Oracle收购)开发。它允许开发者在运行时对应用程序进行探查,而无需修改源代码或重启服务。BTrace 使用Java Agent技术,通过...
Btrace(Business Tracing for Java)是一种强大的动态追踪工具,专为Java应用程序设计。它允许开发者在不修改源代码的情况下,实时监控和分析应用程序的行为。Btrace利用Java代理(Java Agents)技术,在运行时对...
BTrace通过其独特的字节码注入技术,为开发者提供了对应用程序的细粒度监控能力。本文将基于提供的"Btrace源代码"进行深入探讨,揭示BTrace的工作原理与核心机制。 首先,我们关注的是"Btrace~hg"这个文件,这很...
【btrace.jar】是一款强大的Java在线诊断工具,它允许开发者在不重启应用程序的情况下,实时地对Java程序进行动态追踪和分析。这个工具的核心价值在于它能够帮助我们在生产环境中无侵入地解决性能问题或者追踪特定的...
【标题】:“btrace支持jdk1.7 linux下使用” 【描述】:“btrace支持jdk1.7 linux下使用 非常好用哦 呵呵呵呵” 【知识点详解】 ...理解并熟练运用BTrace,可以帮助我们更好地理解和优化Java应用程序的性能。