实验环境:btrace1.3.3,hadoop2.8.1伪分布式,使用-javaagent的方式执行btrace脚本。
配置如下
btrace脚本:
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
@BTrace
public class BtraceProfiler {
@TLS private static long mapFunctionStartTime = 0l;
@OnMethod(clazz="org.apache.hadoop.mapredude.Reducer",
method="run",
location=@Location(where=Where.BEFORE, value=Kind.CALL,clazz="/.*/",
method="reduce"))
public static void onReducer_reduce_stage_startTime() {
reduceStageStartTime=timeMillis();
}
/*
* fetch reduce stage time
* */
@OnMethod(clazz="org.apache.hadoop.mapredude.Reducer",
method="run",
location=@Location(where=Where.AFTER, value=Kind.CALL,clazz="/.*/",
method="reduce"))
public static void onReducer_reduce_stage_Time() {
println("reduce_stage_time\t"+(timeMillis()-reduceStageStartTime));
}
}
执行过程
运行hibench的sort,查看相应的标准输出,结果如下:
t/upload/201712/08/1512720659_355155.png)
是我找的数据输出位置错误???还是什么地方出错了??请大佬指导