From 4e9c60147971dbeaeb8d0efbf8e51acc7d8abe10 Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Mon, 14 Oct 2013 05:37:26 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20Annotation=20value=EC=97=90=20single=20Value=EA=B0=80=20?= =?UTF-8?q?=EC=95=84=EB=8B=8C=20complexType=EC=9D=84=20=EB=84=A3=EC=9D=84?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@2515 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../pinpoint/profiler/context/Annotation.java | 6 +++++ .../profiler/context/DefaultTrace.java | 27 ++++++++++++++----- .../profiler/context/RootStackFrame.java | 5 ++++ .../nhn/pinpoint/profiler/context/Span.java | 13 +++++++-- .../profiler/context/SpanEventStackFrame.java | 5 ++++ .../pinpoint/profiler/context/StackFrame.java | 2 ++ 6 files changed, 49 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/Annotation.java b/src/main/java/com/nhn/pinpoint/profiler/context/Annotation.java index 42942768b..dd39e21ff 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/Annotation.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/Annotation.java @@ -3,6 +3,7 @@ package com.nhn.pinpoint.profiler.context; import com.nhn.pinpoint.profiler.util.AnnotationValueMapper; import com.nhn.pinpoint.thrift.dto.TAnnotation; import com.nhn.pinpoint.thrift.dto.TAnnotationValue; +import com.nhn.pinpoint.thrift.dto.TIntStringValue; /** * @author netspider @@ -18,6 +19,11 @@ public class Annotation extends TAnnotation { AnnotationValueMapper.mappingValue(this, value); } + public Annotation(int key, TIntStringValue value) { + super(key); + this.setValue(TAnnotationValue.intStringValue(value)); + } + public Annotation(int key, String value) { super(key); this.setValue(TAnnotationValue.stringValue(value)); diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/DefaultTrace.java b/src/main/java/com/nhn/pinpoint/profiler/context/DefaultTrace.java index fb29d571f..4c61b760a 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/DefaultTrace.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/DefaultTrace.java @@ -5,11 +5,10 @@ import com.nhn.pinpoint.common.ServiceType; import com.nhn.pinpoint.common.util.ParsingResult; import com.nhn.pinpoint.profiler.interceptor.MethodDescriptor; import com.nhn.pinpoint.profiler.util.StringUtils; +import com.nhn.pinpoint.thrift.dto.TIntStringValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; - /** * @author netspider @@ -224,14 +223,16 @@ public final class DefaultTrace implements Trace { @Override public void recordException(Object result) { if (result instanceof Throwable) { - Throwable th = (Throwable) result; - String drop = StringUtils.drop(th.getMessage(), 256); + final Throwable th = (Throwable) result; + final String drop = StringUtils.drop(th.getMessage(), 256); + +// this.currentStackFrame.setExceptionId(); recordAttribute(AnnotationKey.EXCEPTION, drop); recordAttribute(AnnotationKey.EXCEPTION_CLASS, th.getClass().getName()); - Span span = getCallStack().getSpan(); - if (span.getException() == 0) { - span.setException(1); + final Span span = getCallStack().getSpan(); + if (span.getErrCode() == 0) { + span.setErrCode(1); } } } @@ -316,6 +317,18 @@ public final class DefaultTrace implements Trace { if (output != null && output.length() != 0) { recordAttribute(AnnotationKey.SQL_PARAM, output); } +// final String sql = parsingResult.getSql(); +// final TIntStringValue tSqlValue = new TIntStringValue(sql.hashCode()); +// final String output = parsingResult.getOutput(); +// if (output != null && output.length() != 0) { +// tSqlValue.setBindValue(output); +// } +// recordSqlParam(tSqlValue); + } + + private void recordSqlParam(TIntStringValue tIntStringValue) { + final StackFrame currentStackFrame = this.currentStackFrame; + currentStackFrame.addAnnotation(new Annotation(AnnotationKey.SQL_ID.getCode(), tIntStringValue)); } @Override diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/RootStackFrame.java b/src/main/java/com/nhn/pinpoint/profiler/context/RootStackFrame.java index 04c316cdf..f9e6946b0 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/RootStackFrame.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/RootStackFrame.java @@ -67,6 +67,11 @@ public class RootStackFrame implements StackFrame { this.span.setApiId(apiId); } + @Override + public void setExceptionId(int id) { + this.span.setExceptionId(id); + } + @Override public void setServiceType(short serviceType) { this.span.setServiceType(serviceType); diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/Span.java b/src/main/java/com/nhn/pinpoint/profiler/context/Span.java index 1d5c36e82..28d8ed6aa 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/Span.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/Span.java @@ -58,12 +58,21 @@ public class Span extends TSpan implements Thriftable { this.addToAnnotations(annotation); } + @Override + public void setExceptionId(int exceptionId) { + super.setExceptionId(exceptionId); + } - public int getException() { + @Override + public int getExceptionId() { + return super.getExceptionId(); + } + + public int getErrCode() { return getErr(); } - public void setException(int exception) { + public void setErrCode(int exception) { super.setErr(exception); } diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/SpanEventStackFrame.java b/src/main/java/com/nhn/pinpoint/profiler/context/SpanEventStackFrame.java index f027281b0..f451a9cc0 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/SpanEventStackFrame.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/SpanEventStackFrame.java @@ -67,6 +67,11 @@ public class SpanEventStackFrame implements StackFrame { this.spanEvent.setApiId(apiId); } + @Override + public void setExceptionId(int id) { + this.spanEvent.setExceptionId(id); + } + @Override public void setServiceType(short serviceType) { spanEvent.setServiceType(serviceType); diff --git a/src/main/java/com/nhn/pinpoint/profiler/context/StackFrame.java b/src/main/java/com/nhn/pinpoint/profiler/context/StackFrame.java index 4d2c89d33..674d388bc 100644 --- a/src/main/java/com/nhn/pinpoint/profiler/context/StackFrame.java +++ b/src/main/java/com/nhn/pinpoint/profiler/context/StackFrame.java @@ -23,6 +23,8 @@ public interface StackFrame { void setApiId(int apiId); + void setExceptionId(int id); + void setServiceType(short serviceType); void addAnnotation(Annotation annotation);