From f480aeabc4e5f5031f4f58b255179c660f4c5b9b Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Tue, 7 May 2013 06:39:55 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20metadata=20=EC=84=B1=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EC=9D=98?= =?UTF-8?q?=20rowKey=20=EA=B0=92=20=EA=B8=B0=EC=A4=80=EC=97=90=20agnetStar?= =?UTF-8?q?tTime=EC=9D=84=20=EC=A0=95=ED=99=95=ED=95=98=EA=B2=8C=20?= =?UTF-8?q?=EC=A7=80=EC=A0=95=ED=95=B4=EC=84=9C=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD=ED=95=A8.?= 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@1614 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../profiler/context/DefaultTraceContext.java | 11 ++-- src/main/thrift/Trace.thrift | 54 +++++++++++-------- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/profiler/context/DefaultTraceContext.java b/src/main/java/com/profiler/context/DefaultTraceContext.java index 7865c6338..440eff8ae 100644 --- a/src/main/java/com/profiler/context/DefaultTraceContext.java +++ b/src/main/java/com/profiler/context/DefaultTraceContext.java @@ -181,9 +181,8 @@ public class DefaultTraceContext implements TraceContext { ApiMetaData apiMetadata = new ApiMetaData(); DefaultAgent agent = DefaultAgent.getInstance(); apiMetadata.setAgentId(agent.getAgentId()); - apiMetadata.setAgentIdentifier(agent.getIdentifier()); + apiMetadata.setAgentStartTime(agent.getStartTime()); - apiMetadata.setStartTime(agent.getStartTime()); apiMetadata.setApiId(result.getId()); apiMetadata.setApiInfo(methodDescriptor.getApiDescriptor()); apiMetadata.setLine(methodDescriptor.getLineNumber()); @@ -195,8 +194,8 @@ public class DefaultTraceContext implements TraceContext { } @Override - public TraceID createTraceId(UUID uuid, int parentSpanID, int spanID, boolean sampled, short flags) { - return new DefaultTraceID(uuid, parentSpanID, spanID, sampled, flags); + public TraceID createTraceId(UUID uuid, int parentSpanID, int spanID, short flags) { + return new DefaultTraceID(uuid, parentSpanID, spanID, flags); } @@ -206,6 +205,7 @@ public class DefaultTraceContext implements TraceContext { ParsingResult parsingResult = this.sqlParser.normalizedSql(sql); String normalizedSql = parsingResult.getSql(); // 파싱시 변경되지 않았다면 동일 객체를 리턴하므로 그냥 ==비교를 하면 됨 + boolean newValue = this.sqlCache.put(normalizedSql); if (newValue) { if (logger.isDebugEnabled()) { @@ -218,9 +218,8 @@ public class DefaultTraceContext implements TraceContext { SqlMetaData sqlMetaData = new SqlMetaData(); sqlMetaData.setAgentId(DefaultAgent.getInstance().getAgentId()); - sqlMetaData.setAgentIdentifier(DefaultAgent.getInstance().getIdentifier()); + sqlMetaData.setAgentStartTime(DefaultAgent.getInstance().getStartTime()); - sqlMetaData.setStartTime(DefaultAgent.getInstance().getStartTime()); sqlMetaData.setHashCode(normalizedSql.hashCode()); sqlMetaData.setSql(normalizedSql); diff --git a/src/main/thrift/Trace.thrift b/src/main/thrift/Trace.thrift index 35822385e..b2c8b497a 100644 --- a/src/main/thrift/Trace.thrift +++ b/src/main/thrift/Trace.thrift @@ -5,7 +5,7 @@ struct Annotation { 2: optional string stringValue 3: optional bool boolValue; - 4: optional i32 intValue + 4: optional i32 intValue; 5: optional i64 longValue; 6: optional i16 shortValue 7: optional double doubleValue; @@ -13,12 +13,19 @@ struct Annotation { 9: optional byte byteValue; } +struct AgentKey { + 1: string agentId; + 2: optional string applicationName; + 3: i64 agentStartTime; +} + struct SpanEvent { - 1: optional string agentId - 2: optional string applicationId + // spanEvent의 agentKey는 매우 특별한 경우에만 생성되므로 필드사이즈를 줄이기 위해 별도 객체로 분리. + 1: optional AgentKey agentKey; + 17: optional i16 parentServiceType 18: optional string parentEndPoint - 3: optional i16 agentIdentifier + 4: optional i64 mostTraceId 5: optional i64 leastTraceId @@ -34,7 +41,7 @@ struct SpanEvent { 13: optional string endPoint 14: list annotations - + 15: optional i32 depth 16: optional i32 nextSpanId @@ -46,32 +53,33 @@ struct SpanEvent { } struct Span { + 1: string agentId - 2: string applicationId - 3: i16 agentIdentifier - + 2: string applicationName + 3: i64 agentStartTime + 4: i64 mostTraceId 5: i64 leastTraceId - + 6: i32 spanId 7: optional i32 parentSpanId = -1 - + 8: i64 startTime 9: i32 elapsed - + 10: optional string rpc -// 11: optional string serviceName + 12: i16 serviceType 13: optional string endPoint 14: optional string remoteAddr - + 15: list annotations 16: optional i16 flag = 0 17: optional i32 err 18: optional list spanEventList - + 19: optional string parentApplicationName 20: optional i16 parentApplicationType 21: optional string acceptorHost @@ -79,24 +87,26 @@ struct Span { struct SpanChunk { 1: string agentId - 2: string applicationId - 3: i16 serviceType - 4: i16 agentIdentifier + 2: string applicationName + 3: i64 agentStartTime + + 4: i16 serviceType 5: i64 mostTraceId 6: i64 leastTraceId 7: i32 spanId - + 8: optional string endPoint 9: list spanEventList } struct SqlMetaData { + 1: string agentId - 2: i16 agentIdentifier - 3: i64 startTime; + 2: i64 agentStartTime + 4: i32 hashCode 5: string sql; } @@ -104,8 +114,8 @@ struct SqlMetaData { struct ApiMetaData { 1: string agentId - 2: i16 agentIdentifier - 3: i64 startTime; + 2: i64 agentStartTime + 4: i32 apiId, 5: string apiInfo, 6: optional i32 line,