btrace 实践笔记
ps -A|grep java
import static com.sun.btrace.BTraceUtils.*;
import com.sun.btrace.annotations.*; @BTrace public class TraceObject{ @TLS static long beginTime; @OnMethod(
clazz="com.task.CheckTask",
method="getItem"
)
public static void traceBegin(){
beginTime = timeMillis();
} @OnMethod(
clazz="com.task.CheckTask",
method="getItem",
location=@Location(Kind.RETURN)
)
public static void trace(long itemId,@Return Object result){
println("---------start-------------");
println(strcat("itemId:",str(itemId)));
println(strcat("result itemName:",str(get(field("com.info.ItemInfoDO","itemIdStr"),result))));
println(strcat(str(sizeof(result)),"bytes"));
println(strcat(strcat("execute time is:",str(timeMillis()-beginTime)),"ms"));
println("method stack:");
jstack();
println("---------end-------------");
}
}
这个脚本主要的作用是监控CheckTask这个类的对象的getItem方法的入参是什么,返回值是什么,返回值占多少个字节(仅仅是该对象占的字节,不包括对象属性指向对象的大小)。以及这个方法的调用堆,以及这个方法的运行时间。
sudo -u admin -H sh btrace 1671 TraceObject.java
btrace 实践笔记的更多相关文章
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——类
Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python编程从入门到实践笔记——字典
Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
随机推荐
- Bitmap 多语言实现及应用
http://blog.studygolang.com/2014/09/bitmap_multi_language/
- CoreDate的使用
勾选 xcode的 CoreDate会帮我们自动创建 CoreData 但是我们通常不那样使用,通常把 CoreDate 在单利类中创建, // // ZYDAO.h // StoryboardTes ...
- java.lang.IllegalStateException
java.lang.IllegalStateExceptionorg.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFac ...
- MSSQL系统表常用操作
1:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status>=0 2:获取某一个表的所有字段 select n ...
- sql 自定义函数-16进制转10进制
做过笔记,好记性不如烂笔头: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[HEXTOINT]') and ...
- ListView使用自定义适配器的情况下实现适配器的控件点击事件执行Activity界面中的方法
如果ListView使用的是自定义的适配器,比如MyArrayAdapter extends ArrayAdapter<String> 那么,如何实现适配器中的点击事件执行activity ...
- asp.net的CascadingDropDown取值和赋值
获取选择的值 可以使用形如以下的方式获得选择的值: Label1.Text = ddlProvince.SelectedValue; Label2.Text=ddlCity.Select ...
- 20个2014年最优秀的PHP框架
http://www.php100.com/html/it/mobile/2014/0813/7198.htmlhttp://medoo.in/api/select
- Java Concurrency - invokeAny & invokeAll
Running multiple tasks and processing the first result A common problem in concurrent programming is ...
- CSS之图片关闭
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...