用btrace定位问题】的更多相关文章

btrace 截取方法出入参 用btrace的手法,网上有很多.简单记录下我自己的使用经历. btrace脚本: import static com.sun.btrace.BTraceUtils.exit; import static com.sun.btrace.BTraceUtils.field; import static com.sun.btrace.BTraceUtils.get; import static com.sun.btrace.BTraceUtils.jstack; imp…
BTrace是调试神器,可以通过自己编写的脚本,获取应用的一切调用信息.而不需要重启应用! Btrace 项目源码信息(你行你上~) 项目地址:http://github.com/btraceio/btrace 但是应用下载地址是: https://github.com/btraceio/btrace/releases   (因为一般你并不想编译这些代码) 小白的打开姿势,操作步骤: 1. 打开 jvisualVm 工具; 2. 加载 BTrace 工具, 先把 插件中心地址更改掉: https…
占小狼 转载请注明原创出处,谢谢! 背景 记得前几天有人问我:在生产环境中可能经常遇到各种问题,你们一般是如何进行调试的? 很惭愧,没有经验.因为平时碰不到生产环境的服务器,定位问题需要各种数据,所以大多数问题的解决方式都是在本地打断点进行调试,或者在测试环境利用输出日志进行调试,这种方式简单粗暴,但过程比较繁琐,需要各种重新发布,重启应用,还不能保证一次就找到问题的根源.直到最近才了解到Btrace这个工具,对于这样一个神器,我觉得有必要记录一篇,让更多的人知道. Btrace BTrace是…
Btrace BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源. 项目地址:Btrace用户指南:UserGuide Btrace使用 在Release页面里下载最新Zip版,解压就能用tar -zxvf btrace-bin-1.3.8.3.tgzexport JAVA_HOME=/opt/taobao/javaexpo…
会后江南白衣花费数日整理PPT,到1.4版本共66页,内容翔实且旁征博引,不断校正且力求做到极致的匠艺精神值得尊敬! 技术大牛飒然Hang如是说到: “技术大神中,除了陈皓就是白衣了,四十岁还能钻研.深究低层技术细节,且视之为乐趣,计算机基础知识也非常扎实,看他们的文章确实获益匪浅:  关于java性能调优的文章自己也一直想总结一下,看了白衣的ppt,发现自己某些地方还有一些盲点,不得不说,技术这一行永远不敢说精通,无论如何都总会有你的盲点,也总会有比你聪明则更努力的人” 本文在江南白衣博客原文…
一.背景        在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数.返回值.全局变量.堆栈信息等.为了获取这些数据信息,我们可以 通过改写代码,增加日志信息的打印,再发布到生产环境.通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应:另一方面重新部 署后环境可能已被破坏,很难重新问题的场景. 二.BTrace功能        BTrace天生就为解决这类问题而来,它可以动态地跟踪java运行程序.通过hotswap技术,动态将跟…
btracejvisualvmhotswap  一.背景        在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数.返回值.全局变量.堆栈信息等.为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境.通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应:另一方面重新部署后环境可能已被破坏,很难重新问题的场景. 二.BTrace功能        BTrace天生就为解决这类问题而来,它可以动态地跟踪jav…
简介 BTrace是一个安全的JVM动态追踪工具,最初为原Sun公司Kenai项目下面的一个子项目. 典型的使用场景是,“我要查个问题,可那个方法没有打印入口参数和返回结果日志”,“我想看某个方法的执行耗时”,“我想查看某方法如System.GC()的调用栈”等等,这些都是BTrace可以小试牛刀的地方.它的优势是,直接attach应用JVM,不用重启应用进程,可比较快速方便地定位问题. 不错的教程 如果想简单学习一下BTrace,推荐几个不错的教程,建议先看看下面几篇文章: Btrace入门到…
http://www.jianshu.com/p/26f19095d396 背景 生产环境中可能出现各种问题,但是这些问题又不是程序error导致的,可能是逻辑性错误,这时候需要获取程序运行时的数据信息,如方法参数.返回值来定位问题,通过传统的增加日志记录的方式非常繁琐,而且需要重启server,代价很大.BTrace应运而生,可以动态地跟踪java运行程序,将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计. 配置及用法 去官网下载BTrace,配置环境变量以便在任何路…
概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值.外部调用情况 以及 函数执行时间等信息以便定位问题.传统的日志记录方式的确可以,但有时非常麻烦,甚至可能需要重启服务,因此代价太大,这时可以借助一个牛批的工具:BTrace ! BTrace 可用于动态跟踪正在运行的 Java程序,其原理是通过动态地检测目标应用程序的类并注入跟踪代码 ( "字节码跟踪" ),因此可以直接用于监控和追踪线上问题…