public class UrsInterfaceCalls{
/**
* 备注2
* 本代码用于监控 CookieDecoder 中 requestDecode 办法的履行时光,如不雅履行时光大年夜于 500ms,则打印花费的时光和客栈
* @param duration
@OnMethod(
clazz="com.netease.urs.CookieDecoder",
method="requestDecode",
location=@Location(Kind.RETURN)) // 备注2
public static void requestDecode( @Duration long duration ) { // 备注3
//备注4
+---[5282,5280ms]com.netease.urs.http.CustomHttpComponent:execute(@60)
if(duration /1000000 > 500){
println("==CookieDecoder requestDecode spend: " + duration /1000000 + " ms");
jstack();
}
/**
* @param duration
*/
@OnMethod(
clazz="com.netease.urs.http.CustomHttpComponent",
一个是监听CookieDecoder.requestDecode()的履行时光,如不雅大年夜于 500ms,则打印日记,并打印相干客栈;
method="execute",
location=@Location(Kind.RETURN))
public static void execute( @Duration long duration ) {
if(duration /1000000 > 500){
println("==ursCookieHttp doExecute spend: " + duration /1000000 + " ms");
jstack();
}
}
6
30
}
扼要解释
本监控类,写了两个监控办法:
另一个监听CustomHttpComponent.execute()的履行时光。
备注1: 添加注释 @BTrace ,代表本脚本将应用btrace相干功能;
备注2: 拦截办法定义 ,@OnMethod 可以指定 clazz 、 method、location。由此构成了在什么机会(location 决定)监控某个类/某些类(clazz 决定)下的某个办法/某些办法(method 决定)。
@OnMethod(clazz="com.netease.urs.CookieDecoder",method="requestDecode",location=@Location(Kind.RETURN))
推荐阅读
Kotlin将超越Java成为Android开发的第一语言?
Realm 公司供给了一款备受移动开辟者迎接的及时数据库,在查询拜访了大年夜约十万名活泼的开辟者后,Realm 发明在本年 5 月份谷歌 I/O 大年夜会之前用 Java 编写的 Android 应用中有 20% >>>详细阅读
本文标题:Java在线问题排查利器之Btrace&Greys
地址:http://www.17bianji.com/lsqh/37853.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示