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,