最新文章列表

Java程序排查问题利器之Btrace

(一)Btrace的介绍 BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源。 正如上面描述的一些特性,所以btrace一般是用来排 ...
qindongliang1922 评论(0) 有1987人浏览 2018-01-23 20:13

Btrace的javaagent参数之script的坑

简单来说,这篇文章只是个笔记,纪念我与btrace参数拼搏的青春……(好吧……,我似乎不年轻了)   先写结论:windows环境下,javaagent方式的instrumen ...
jejoker 评论(0) 有1223人浏览 2017-11-07 11:41

btrace跟踪组数创建

之前有人问我怎么用btrace跟踪数组的创建,这里记录一下。 需要靠Kind.NEWARRAY,比如要跟踪int数组的创建可以这么写 @BTrace public class BtraceCreateArray { @OnMethod(clazz = "/.*/", method = "/.*/", location = @Locatio ...
szhnet 评论(0) 有699人浏览 2016-09-18 17:05

使用BTrace检查死锁

产生死锁的代码: package neicun; public class DeadLockTest { static class SynAddRunnable implements Runnable { private Object a, b; public SynAddRunnable(Object a, Object b) { this.a = a; ...
qiang08 评论(0) 有611人浏览 2016-08-26 11:30

JVM动态调整字节码

粗略的点开btrace的源码看了一下,实际上他只是封装了JDK自带的功能而已   1. attach client到java进程   VirtualMachine vm = null; if (debug) { debugPrint("attaching to " + pid); } ...
jimmee 评论(0) 有1232人浏览 2016-04-14 19:27

BTrace试用

说明: BTrace是Java进程诊断分析工具,优点是无侵入性,跟踪时对原有应用无干扰,不需要重启应用。    项目主页:https://kenai.com/projects/btrace     实验过程: 1、环境说明:         操作系统:windows 7     JDK版本:1.6    BTrace 版本:1.24     BTrace安装路径:c: ...
jackiee_cn 评论(0) 有1402人浏览 2016-03-28 16:35

用BTrace排查性能问题

BTrace是一个可以动态跟踪Java代码执行的工具,网上已经有很多文章介绍,我这里分享一个我在实际工作中排查性能问题的例子。 现象 我的一个REST接口调用非常慢,postman耗时3873 ms,这个接口就是从redis里把一批数据取出来,redis性能很好,理论上不会这么慢,于是用btrace,trace方法调用。   /* BTrace Script Template */ i ...
jamie.wang 评论(1) 有3293人浏览 2015-12-11 19:04

使用Btrace查看某个线程池活跃线程大小

某一天想查看某个应用里的hsf活跃线程数(工作线程)。 第一个想到的jstack,根据jstack打出的日志分析。 典型日志:   Xml代码   "HSFBizProcessor-thread-6"prio=10 tid=0x00002aaabdffd800 nid=0x201f runnable [0x000000004768e000]     ...
wbj0110 评论(0) 有847人浏览 2015-02-26 15:17

通过btrace查找dbcp数据库连接池泄露的方法

    下面是一个通过btrace查找dbcp数据库连接池泄露的方法,如果使用的是其他的连接池,方法大同小异,只是更换一下打开和关闭数据库连接的类就好 ...
xiaodaoliu1 评论(0) 有2180人浏览 2014-06-16 21:30

Btrace的实战应用

最近在处理一个准线上问题的时候一个前辈介绍了一个很好用的检测工具:Btrace(强大之处就不多说了,不了解的自行google)。实现原理可以参考http://www.ib ...
fengg694 评论(0) 有777人浏览 2014-03-11 17:00

BTrace使用简介(转)

很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日 志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引 用的其他的外部的包什么的,就很麻烦了,BTrace就是一个可以在不改代码、不重启应用的情况下,动态的查看程序运行 ...
wbj0110 评论(0) 有814人浏览 2014-01-30 09:35

BTrace用户手册<转>

BTrace(https://btrace.dev.java.net/) 是一个非常不错的java诊断工具, 最近试着用了一下, 文档比较少, 主要是看例子吧. BTrace 中的B表示bytecode, 表明它是在字节码层面上对代码进行trace 用来在运行中的java类中注入trace代码, 并对运行中的目标程序进行热交换(hotswap) 术语 Probe Point 在何处执行trace语 ...
wbj0110 评论(0) 有975人浏览 2013-12-26 10:52

Btrace实践指南

  一、背景        在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境。通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应;另一方面重新部署后环境可能已被破坏,很难重新问题的场景。 二、BTrace功能        ...
zhlj11 评论(0) 有978人浏览 2013-12-26 09:56

Btrace实战

btrace可以对是针对java平台的一个动态追踪工具。简单点说就是可以在不停服务的情况下,对现网数据进行追踪分析和定位。最近为了定位一个jvm进程退出时java进程的运行情况,我学习了下btrace的使用。 例子:分析指定类中方法的调用和返回情况。 代码: package com.sun.btrace.samples; import com.sun.btrace.annotations.* ...
pcpig 评论(0) 有1392人浏览 2013-08-22 16:36

BTrace实现原理的分析

什么是BTrace?BTrace是SUN Kenai云计算开发平台下的一个开源项目。旨在为java提供安全可靠的动态跟踪分析工具。 Btrace基于动态字节码修改技术(Hotswap)来实现运行时java程序的跟踪和替换。(还记得javarebel不?)Btrace的脚本是用纯java编写的,基于一套官方提供的annotation,使跟踪逻辑实现起来异常简单。 实现原理 用一个简单的公式来 ...
wbj0110 评论(0) 有978人浏览 2013-08-20 09:02

BTrace 神器 简单实用教程

BTrace本身也是可以独立运行的程序,作用是在不停止目标程序运行的前提下,通过HotSpot虚拟机的HotSwap技术动态插入原本不存在的调试代码。 比如遇到了我们的程序出问题,而又没有足够的打印语句时,我们一般的方法是不得不停掉服务,然后修改代码,增加打印语句,重新编译重新运行来解决,效率很低。 但有了BTrace,我们需要做的就很简单了,举例说明: 比如环境上运行着一个简单程序: ...
wbj0110 评论(0) 有1060人浏览 2013-08-19 10:58

BTrace实际案例分析

问题表象 问题描述 1.最近有项目组的童鞋反馈,web页面频繁出现假死的状态。 2.web页面的假死出现是概率事件,且无法确定假死的引发原因。 3.是在一定的操作之后出现的,但是无法确定究竟是哪些操作引发这些操作。 问题分析 初步分析
wbj0110 评论(0) 有958人浏览 2013-08-14 17:16

在线调试工具BTrace 的使用--例子

BTrace 是一款利用hotSpot虚拟机可以动态替换class的特点而完成的,可以对online的程序动态的改变类的行为(一般为加些打印日志),进而进行线上调试的一个工具。 主要步骤如下(本次测试只针对BTrace和测试的程序在同一台机器上,remote的还待实验): 1、下载地址:http://kenai.com/projects/btrace/downloads/download/r ...
wbj0110 评论(0) 有1817人浏览 2013-08-14 14:50

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics