Btrace使用入门】的更多相关文章

前言: 对线上的java服务, 往往采用日志进行问题处理和分析. 倘若日志缺乏相关的信息时, 那又该如何处理? 远程调试会影响服务的正常工作, 修改代码重新部署的方案其实时性和灵活性难以保证(线上服务的流程繁琐, 问题追踪的不确定性), 有没有两全的完美方案(不影响正常服务, 又灵活/无侵入性)呢? 答案是有, 它就是人见人爱, 花见花开的神器BTrace. 那BTrace究竟是这么样的神器, 为何它只要998(啊呸..., -_-bbb). 好了, 让我们一步一步的掀起它的红盖头来. 本系列讲…
1.什么是BTrace BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源. 2.BTrace使用场景 在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉.一般情况下是通过修改程序,添加打印日志:然后重新发布程序来完成. 然而,这不仅麻烦,而且带来很多不可控的因素.有没有一种方式,在不修改原有运行程序的情况下…
JVM调优(三)--基于Btrace的监控调试 简介 Btrace可以动态地向目标应用程序的字节码注入追踪代码 用到的技术: JavaComplierApi.JVMTI.Agent.Instrumentation+ASM Btrace安装入门 通过github搜索进行下载 新建环境变量BTRACE_HOME 添加Path:%BTRACE_HOME%\bin 两种运行脚本的方式 在JVisualVM中添加Btrace插件,添加classpath 使用命令行btracce <pid> Btrace…
bin版:https://kenai.com/projects/btrace/downloads/directory/releases 源码:https://github.com/btraceio/btrace 如果要在eclipse中编写btrace脚本文件,需要引用:btrace-bin-1.3.8.3/build/btrace-client.jar 江南白衣的一个blog写的还可以:http://calvin1978.blogcn.com/articles/btrace1.html…
BTrace是神器,每一个需要每天解决线上问题,但完全不用BTrace的Java工程师,都是可疑的. BTrace的最大好处,是可以通过自己编写的脚本,获取应用的一切调用信息.而不需要不断地修改代码,加入System.out.println(), 然后重启,然后重启,然后重启应用!!! 同时,特别严格的约束,保证自己的消耗特别小,只要定义脚本时不作大死,直接在生产环境打开也没影响. 在网上搜索BTrace出来的文章都有点旧了,而且不够详细,于是决定,重新写一份. 码这么多的字好辛苦,请保留原文链…
转载请注明原链接地址 http://www.cnblogs.com/dongxiao-yang/p/6134393.html btrace 是一个可以不用重启线上java业务查问题的神器,记一下自己折腾半天写的几个demo java业务代码 package com.youku.data.test.kfktest; /** * Hello world! * */ public class App { public static void main(String[] args) throws Int…
简介 BTrace是一个安全的JVM动态追踪工具,最初为原Sun公司Kenai项目下面的一个子项目. 典型的使用场景是,“我要查个问题,可那个方法没有打印入口参数和返回结果日志”,“我想看某个方法的执行耗时”,“我想查看某方法如System.GC()的调用栈”等等,这些都是BTrace可以小试牛刀的地方.它的优势是,直接attach应用JVM,不用重启应用进程,可比较快速方便地定位问题. 不错的教程 如果想简单学习一下BTrace,推荐几个不错的教程,建议先看看下面几篇文章: Btrace入门到…
BTrace在解决现场问题的时候非常有用. 1.概述 1.1下载 https://github.com/btraceio/btrace,最新版本是1.3.9 目前1.3.x系列最低支持JDK1.7,要想使用JDK1.6的话,可以下载http://download.csdn.net/detail/ccscu/9899450 1.2开始使用 使用命令:./btrace pid HelloWorld.java 1.3安全限制 默认不支持for循环等,可以使用-u来突破限制 1.4定义classpath…
BTrace 是什么? BTrace 是一个动态安全的 Java 追踪工具,它通过向运行中的 Java 程序植入字节码文件,来对运行中的 Java 程序热更新,方便的获取程序运行时的数据信息,并且,保证自己的消耗特别小,大部分情况下不会影响 Java 程序的性能. BTrace 能干什么? 相信每一位开发都或多或少的干过这档子事:为了解决线上的一个 bug,不得不在代码中打印下入参.出参数据,然后再重启服务器,观察日志.BTrace 的出现就是为了解决这类事宜,BTrace 的最大好处,是可以通…
在日常业务代码开发中,我们经常接触到AOP,比如熟知的Spring AOP.我们用它来做业务切面,比如登录校验,日志记录,性能监控,全局过滤器等.但Spring AOP有一个局限性,并不是所有的类都托管在 Spring 容器中,例如很多中间件代码.三方包代码,Java原生代码,都不能被Spring AOP代理到.如此一来,一旦你想要做的切面逻辑并不属于Spring的管辖范围,或者你想实现脱离Spring限制的切面功能,就无法实现了. 那对于Java后端应用,有没有一种更为通用的AOP方式呢?答案…