主要参考以下几篇博客:
http://agapple.iteye.com/blog/1005918
https://github.com/btraceio/btrace/releases/tag/v1.3.9
https://github.com/btraceio/btrace/issues
介绍javaAgent用法的文章(相当于在 JVM层加了一个AOP,获取方法的相关执行信息):
http://blog.csdn.net/catoop/article/details/51034739
http://blog.csdn.net/catoop/article/details/51034778
目前 先做两件 最简单的事情:
第一件是:
写一下 JavaAgent 简单例子,看看效果。
第二件是:
搭一个linux系统,然后编写一个 btrace 脚本 ,监控已经在运行的系统的性能情况: 具体步骤如下:
BTrace 是一个可以在生产环境定位程序运行时数据的一个开源工具,利用它能够捕获指定方法的入参、返回值、执行时间。(这里通过在linux 上的简单实例讨论btrace,关于它的概念请读者百度)
一、安装
下载后解压
tar -zxvf btrace-bin-1.3.9.tgz // 解压
mv btrace-bin-1.3.9 btrace //更改名称
设置环境路径
cd ~
vim .bash_profile
BTRACE_HOME=/opt/btrace
PATH=$PATH:$BTRACE_HOME/bin
退出编辑之后
source .bash_profile
二、使用
编辑一个 btrace 脚本,随后用于监测 这个脚本放在 /opt/btrace-bin-1.3.9/script 下
此处是 btrace 脚本, 验证通过后 再贴上来
获取被监控的 java进程的 pid
ps -ef | grep protal
开始监控
btrace 25123 TestScript.java #我的当前目录在 /opt/btrace-bin-1.3.9
按下回车访问 portal.wdtets.cc 的系统监控页面,可以看到返回值( className@hashCode ) 和 duration( 在下次访问 系统监控页面时输出duration 单位us )