博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BTrace生产调试
阅读量:6570 次
发布时间:2019-06-24

本文共 793 字,大约阅读时间需要 2 分钟。

  hot3.png

 

一、简单介绍

btrace是一个生产环境中可能出现各种问题,但是这些问题又不是程序error导致的,可能是逻辑性错误,这时候需要获取程序运行时的数据信息,如方法参数、返回值来定位问题,通过传统的增加日志记录的方式非常繁琐,而且需要重启server,代价很大。BTrace应运而生,可以动态地跟踪java运行程序,将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计。

*(简单来说,btrace是一个没有代码侵入性的,动态监控的debug工具)

在下载好后解压,进入bin目录

 

##Btrace代码,代码中需要制定包名+类名+方法名,用于打印需要的debug信息

HfBtrace.java

import java.util.Date;

import com.sun.btrace.BTraceUtils;

import static com.sun.btrace.BTraceUtils.*;

import com.sun.btrace.annotations.*;

@BTrace

public class Btrace {

   @OnMethod(

       clazz = "com.hf.demo.JavaDemo",

       method = "print",

       location = (Kind.RETURN)

   )

   public static void print(@Duration long duration) {

//单位是纳秒,要转为毫秒

        println(strcat("duration(ns): ", str(duration )));

        //println(strcat("duration(ms): ", str(duration / 1000000)));

   }

}

 

转载于:https://my.oschina.net/dyyweb/blog/1838613

你可能感兴趣的文章
学习spring aop 和代理
查看>>
【POJ 1025 Department 解题报告】
查看>>
【源码分享】HTML5经典游戏——曲线谜团
查看>>
H3C交换机通过以太口应用ftp方式升级bootrom软件
查看>>
H3C路由器tracert超时解决办法
查看>>
Myeclipse 启动时 An error has occurred.see the log file
查看>>
晒晒多次收到的51CTO奖品
查看>>
AirTight AP/Sensor
查看>>
应届毕业生该如何选择自己的正确方向
查看>>
无线网络共享命令
查看>>
我的友情链接
查看>>
笨方法学Python,Lesson1,2,3,4,5
查看>>
***初级技术讲解(上)
查看>>
Hibernate 里一些常用操作
查看>>
使用expect实现shell自动交互
查看>>
mysql row binlog event
查看>>
char 与byte的区别
查看>>
wifidog认证
查看>>
递归实现一个数的N次方
查看>>
maraidb高可用——MHA
查看>>