[유치수] [NOBTS] add InvokeMethodInterceptor unit test.

git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@550 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
Chisu Yu
2012-08-28 06:31:37 +00:00
parent 5e55d34ca1
commit a2994cffa0
3 changed files with 59 additions and 12 deletions
@@ -8,6 +8,7 @@ import com.profiler.context.Annotation;
import com.profiler.context.Header;
import com.profiler.context.Trace;
import com.profiler.context.TraceID;
import com.profiler.context.tracer.DefaultTracer;
import com.profiler.interceptor.StaticAroundInterceptor;
import com.profiler.trace.RequestTracer;
@@ -22,31 +23,36 @@ public class InvokeMethodInterceptor implements StaticAroundInterceptor {
String traceID = request.getHeader(Header.HTTP_TRACE_ID.toString());
String parentSpanID = request.getHeader(Header.HTTP_PARENT_SPAN_ID.toString());
String spanID = request.getHeader(Header.HTTP_PARENT_SPAN_ID.toString());
String spanID = request.getHeader(Header.HTTP_SPAN_ID.toString());
Boolean sampled = Boolean.valueOf(request.getHeader(Header.HTTP_SAMPLED.toString()));
Integer flags = Integer.valueOf(request.getHeader(Header.HTTP_FLAGS.toString()));
String parameters = getParameter(request);
// record
// TODO: traceid 유무 확인.
Trace.setTraceId(new TraceID(traceID, parentSpanID, spanID, sampled, flags));
Trace.recordRpcName("service_name", requestURL);
if (traceID != null) {
Trace.setTraceId(new TraceID(traceID, parentSpanID, spanID, sampled, flags));
} else {
Trace.setTraceId(TraceID.newTraceId());
}
Trace.addTracer(new DefaultTracer());
Trace.recordRpcName("tomcat", requestURL);
Trace.recordServerAddr(request.getLocalAddr(), request.getLocalPort());
Trace.recordBinary("http.uri", parameters);
Trace.record("Parameter=" + parameters);
Trace.record(new Annotation.ServerRecv());
RequestTracer.startTransaction(requestURL, clientIP, System.currentTimeMillis(), parameters);
} catch (Exception e) {
e.printStackTrace();
// To change body of catch statement use File | Settings | File
// Templates.
}
System.out.println("end--------------");
}
@Override
public void after(Object target, String className, String methodName, Object[] args, Object result) {
Trace.record(new Annotation.ServerSend());
RequestTracer.endTransaction();
}