afredlyj / mynote

idea and note
1 stars 0 forks source link

btrace #6

Open afredlyj opened 8 years ago

afredlyj commented 8 years ago

简介

btrace用来动态监控java程序,在不需要重新发布目标服务的情况下,追踪函数调用次数、方法耗时等监控指标。

BTrace的实现基于Java语言规范和JVM实现所提供的机制:Instrumentation和 javaagent/Attach API。 Instrumentation 机制允许对已有类进行Retransform、对未加载类在加载时只需转换,这样BTrace可以将定义的Probe代码植入到目标中。javaagent/Attach API 机制为Instrumentation提供了切入点。BTrace在基于以上两点技术之上,实现了灵活性、易用性。灵活性表现在可以自定义Java代码,自定义Probe点等,应用性表现在对一些基本操作的封装上,使得使用非常便捷。 通过hotswap技术,动态将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计。

参考链接:

官网 源码 阿里使用介绍 http://alicsd.iteye.com/blog/803430 http://www.chinaxing.org/articles/Java/2014/11/06/2014-11-05-BTrace.html http://www.slideshare.net/ykdsg/btrace-intro

afredlyj commented 7 years ago

http://calvin1978.blogcn.com/articles/btrace1.html