package traces.issues; import com.sun.btrace.annotations.*; import com.sun.btrace.BTraceUtils; import com.sun.btrace.Profiler; import com.sun.btrace.services.impl.Statsd; @BTrace class BTRACE256 { @Injected(factoryMethod = "getInstance") private Statsd sd; @Property Profiler swingProfiler = BTraceUtils.Profiling.newProfiler(); @OnMethod(clazz="/.*\\.BTRACE256/", method="doStuff") void entry(@ProbeMethodName(fqn=true) String probeMethod) { BTraceUtils.Profiling.recordEntry(swingProfiler, probeMethod); } @OnMethod(clazz="/.*\\.BTRACE256/", method="doStuff", location=@Location(value=Kind.RETURN)) void exit(@ProbeMethodName(fqn=true) String probeMethod, @Duration long duration) { BTraceUtils.Profiling.recordExit(swingProfiler, probeMethod, duration); sd.increment("my.metric.b", "regular,distribution:gaussian"); } @OnTimer(5000) void timer() { BTraceUtils.Profiling.printSnapshot("AM performance profile", swingProfiler); } }