BTrace: DTrace for Java2】的更多相关文章

BTrace: DTrace for Java… ish 时间 2012-04-24 16:17:55  dtrace.org 原文  http://dtrace.org/blogs/ahl/2012/04/24/btrace-dtrace-for-java-ish/ 主题 BTraceDTrace DTrace first peered into Java in early 2005 thanks to an early prototype by Jarod Jenson that led e…
BTrace: DTrace for Java… ish DTrace first peered into Java in early 2005 thanks to an early prototype by Jarod Jenson that led eventually to the inclusion of USDT probes in the HotSpot JVM. If you want to see where, say, the java.net.SocketOutputStre…
教程英文版来源:https://github.com/btraceio/btrace/blob/master/docs/usersguide.html BTrace用户指南 BTrace是一种安全,动态的Java跟踪工具.BTrace通过动态(字节码)检测正在运行的Java程序的类来工作.BTrace将跟踪操作插入到正在运行的Java程序的类中,并对跟踪的程序类进行热交换. BTrace术语 探针点 执行一组跟踪语句的“location”或“event”.探针点是我们想要执行一些跟踪语句的感兴趣…
一.简介: 在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉.一般情况下是通过修改程序,添加打印日志:然后重新发布程序来完成.然而,这不仅麻烦,而且带来很多不可控的因素.有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数.返回值.全局变量.堆栈信息等.Btrace就是这样一个工具,它可以在不修改原有代码的情况下动态地追踪java运行程序,通过hotswap技术,动态将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计. 在下列情…
BTrace是Java的一个动态代码追踪工具,通过编写btrace脚本,它可以动态的向目标应用程序的字节码注入追踪代码,通过修改字节码的方式,达到监控调试和定位问题的目的,是解决线上问题的利器. BTrace项目的Github主页 https://github.com/btraceio/btrace,本文中示例代码在 https://github.com/cellei/btrace-practice 快速开始 我们使用 BTrace User's Guide 中的示例来做一个快速开始: impo…
在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉.一般情况下是通过修改程序,添加打印日志:然后重新发布程序来完成.然而,这不仅麻烦,而且带来很多不可控的因素.有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数.返回值.全局变量.堆栈信息等.Btrace就是这样一个工具,它可以在不修改原有代码的情况下动态地追踪java运行程序,通过hotswap技术,动态将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计. 基础说明 由于Btr…
btrace使用 目录btracee是btrace的解压目录 btrace/btrace是btrace的项目工程 root@ubuntu:/usr/local/bogon/btrace# tree btrace btrace ├── bin ├── btrace-agent.jar ├── btrace-boot.jar ├── btrace-client.jar └── src ├── btrace ├── HelloWorld.class ├── HelloWorld.java └── Tr…
一.背景        在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数.返回值.全局变量.堆栈信息等.为了获取这些数据信息,我们可以 通过改写代码,增加日志信息的打印,再发布到生产环境.通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应:另一方面重新部 署后环境可能已被破坏,很难重新问题的场景. 二.BTrace功能        BTrace天生就为解决这类问题而来,它可以动态地跟踪java运行程序.通过hotswap技术,动态将跟…
主要翻译自:https://wiki.freebsd.org/DTrace FreeBSD跟Linux发行版一个比较大的差异,就是提倡源码构建.因此这里提到比较多的编译开关设置.自2012年5月后,DTrace支持默认是打开的,因此以下步骤不再需要了.留意uname -a输出的日期即可. 添加内核编译选项,打开DTrace支持 1.打开调试符号 makeoptions DEBUG=) debug symbols 2.对于10.0之前的FreeBSD,添加: options KDTRACE_HOO…
如果你使用的Oracle Linux,因为sun被Oracle收购后,Oracle Linux版本的DTrace可以直接在Oracle官网进行下载. 下载地址 http://www.oracle.com/technetwork/server-storage/linux/downloads/linux-dtrace-2800968.html 安装方法 http://docs.oracle.com/cd/E37670_01/E50705/html/ol_intro_dtrace.html 使用方法…