动态跟踪Java代码的执行状况工具
Posted on动态跟踪Java代码的执行状况工具--BTrace
BlueDavy之技术Blog
理论不懂就实践,实践不会就学理论!
动态跟踪Java代码的执行状况工具--BTrace
非常强烈的推荐下BTrace这个工具,用了后不得不说太强大了,BTrace简单来说,就是能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等,官方网站上有非常多详细的例子,我不说太多,只在下面举一个简单的例子来说明它的作用,BTrace的User Guide请见:http://kenai.com/projects/btrace/pages/UserGuide。 对于运行中的Java程序,尤其是出了问题的程序,会需要跟踪其执行状况,例如传入的参数是什么、执行了多少时间,返回的对象是什么,抛出了什么异常,传统的做法只能是把程序改一遍,加上一堆log,一个例子来展示下用BTrace的情况下,怎么来跟踪一个方法的执行时间: @BTrace public class MethodResponseTime {
@TLS private static long startTime;
@OnMethod(clazz="类名",method="方法名")
public static void onCall(){
println("enter this method");
startTime=timeMillis();
}
@OnMethod(clazz="类名",method="方法名",location=@Location(Kind.RETURN))
public static void onReturn(){
println("method end!");
println(strcat("Time taken ms",str(timeMillis()-startTime)));
}
} 用btrace执行上面的代码,就可以动态的监控任意的目前运行的Java程序中某类的某方法的执行时间,执行上面代码的方式如下(jdk 6+): btrace [pid] MethodResponseTime.class 还有例如获取调用参数、调用者的对象实例以及返回值等请参看User Guide。 btrace为了保持JVM运行的安全性,因此做了很多的限制,例如不能抛出异常、修改传入的参数的值、修改返回值等,基本是一个只读的动态分析代码运行状况的工具,但仍然是非常的有用,其实现机制是attach api + asm + instrumentation。
posted on 2009-10-10 12:41 BlueDavy 阅读(11121) 评论(8) 编辑 收藏 所属分类: Java
[
评论
]()
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-10 14:02 argan
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-11 01:02 隔叶黄莺
/# re: 动态跟踪Java代码的执行状况工具--BTrace[未登录] 2009-10-11 23:28 海边沫沫
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-12 03:54 duguo
试了一下trace Apache Felix 2.0.0, 已加载了的类不好使,抛出NullPointerException。 回复 更多评论
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-12 17:12 weager
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-13 00:13 gengmao
/# re: 动态跟踪Java代码的执行状况工具--BTrace 2009-10-13 00:57 sswv
林昊朋友,你好, 首先祝贺你的blog被ZDNet评为了“最受欢迎中国技术博客”之一。 不过你的照片……不知你弄错了还是ZDNet弄错了,是我的头像呵。 详情参考: http://blog.linjian.org/articles/my-photo-misused-again/ 有机会看看你写的书。我前不久也与博文视点合作过,是《我是一只IT小小鸟》的合作者之一。 回复 更多评论
/# re: 动态跟踪Java代码的执行状况工具--BTrace[未登录] 2009-10-13 08:13 BlueDavy
@sswv
...我并不知道ZDNET评选这件事情,我联系下他们吧,不好意思了,
推荐购买云服务器(15%返利+最高千元奖金) 博客园 博问 IT新闻 Java程序员招聘 标题 请输入标题 姓名 请输入你的姓名 主页 请输入验证码 验证码 /* 内容(请不要发表任何与政治相关的内容) 请输入评论内容 Remember Me? 登录 [使用Ctrl+Enter键可以直接提交] 网站导航:
博客园 IT新闻 知识库 C++博客 程序员招聘 管理 相关文章:
- 关于《分布式Java应用:基础与实践》一书
- 杭州程序员圆桌交流第二期视频
- 第一次杭州程序员交流会总结
- 杭州程序员圆桌交流第一期–并发编程PPT
- GCLogViewer(tool to visualize gc log) V0.2 Release
- Simple Scala actor Vs java Thread Vs Kilim Test
- 《构建高性能的大型分布式Java应用》目录&试读样章
- 动态跟踪Java代码的执行状况工具--BTrace
- GC策略的调优
- Hessian 3.2.0的两个bug
Powered by: BlogJava Copyright © BlueDavy公告
导航
- BlogJava
- 首页
- 新随笔
- 联系
- 聚合
- 管理 <2009年10月>日一二三四五六27282930123456789101112131415161718192021222324252627282930311234567
统计
- 随笔 - 294
- 文章 - 2
- 评论 - 2068
- 引用 - 1
随笔分类
- @RIAWork(10) (rss)
- Internet(20) (rss)
- Java(82) (rss)
- Javascript(7) (rss)
- OSGi、SOA、SCA(81) (rss)
- Plugin Architecture(10) (rss)
- Workflow(4) (rss)
- 业界随想(28) (rss)
- 数据集成(8) (rss)
- 系统设计(38) (rss)
- 软件工程(22) (rss)
随笔档案
- 2010年5月 (3)
- 2010年4月 (4)
- 2010年3月 (3)
- 2010年2月 (1)
- 2010年1月 (2)
- 2009年12月 (1)
- 2009年11月 (3)
- 2009年10月 (2)
- 2009年9月 (2)
- 2009年8月 (2)
- 2009年7月 (3)
- 2009年6月 (1)
- 2009年5月 (4)
- 2009年4月 (5)
- 2009年3月 (5)
- 2009年1月 (1)
- 2008年11月 (3)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (1)
- 2008年7月 (4)
- 2008年6月 (4)
- 2008年5月 (3)
- 2008年4月 (1)
- 2008年3月 (3)
- 2008年2月 (1)
- 2008年1月 (10)
- 2007年12月 (2)
- 2007年11月 (2)
- 2007年10月 (6)
- 2007年9月 (2)
- 2007年8月 (4)
- 2007年7月 (5)
- 2007年6月 (2)
- 2007年5月 (4)
- 2007年4月 (2)
- 2007年3月 (2)
- 2007年2月 (2)
- 2007年1月 (1)
- 2006年12月 (6)
- 2006年11月 (5)
- 2006年10月 (8)
- 2006年9月 (13)
- 2006年8月 (15)
- 2006年7月 (3)
- 2006年6月 (7)
- 2006年5月 (9)
- 2006年4月 (12)
- 2006年3月 (13)
- 2006年2月 (9)
- 2006年1月 (14)
- 2005年12月 (11)
- 2005年11月 (14)
- 2005年10月 (9)
- 2005年9月 (10)
- 2005年8月 (5)
- 2005年7月 (9)
- 2005年6月 (9)
- 2005年5月 (2)
- 2005年2月 (1)
文章档案
Blogger's
- DBANotes
- 大名鼎鼎了,勿需多说
- ESBZone (rss)
- SOA实战者,强烈推荐
- kenwu's blog[推荐] (rss)
- Java底层和JVM的很多文章,强烈推荐。
- 梦想风暴
- 西湖边的穷秀才
搜索
*
最新评论
- 1. re: 关于《分布式Java应用:基础与实践》一书
- 博主 大神啊 这个博客很久没有更新了
- --1836567962@qq.com
- 2. re: 网站架构相关PPT、文章整理(更新于2009-7-15)
- 这个文章很有用,收藏
- --度哥网
- 3. re: OSGi Opendoc & Book
- 评论内容较长,点击标题查看
- --stono
- 4. re: OSGi Opendoc & Book
- 我再看《OSGi》原理与最佳实践,可是源码没有办法下载呀; 有没有什么办法呢?
- --stono
- 5. re: 关于《分布式Java应用:基础与实践》一书
- 在这篇blog中放置了我收集的一些网站架构相关的PPT和文章
- --色都
阅读排行榜
- 1. 大型网站架构演变和知识体系(57638)
- 2. 网站架构相关PPT、文章整理(更新于2009-7-15)(38732)
- 3. Hibernate实践(31780)
- 4. 系统设计说明书(架构、概要、详细)目录结构(24258)
- 5. 发布《OSGi实战》正式版(17725)