From 76b215d8a852f52d722af903e4e19f23cf259b5e Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Fri, 15 Mar 2013 04:51:19 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20=EA=B0=9C=EB=B3=84=20=ED=8A=B8=EB=A0=88=EC=9D=B4=EC=8A=A4?= =?UTF-8?q?=EC=97=90=EC=84=9C=20remoteaddress=EB=A5=BC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=EB=A1=9C=20=EB=B3=B4=EC=97=AC=EC=A3=BC=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=ED=95=A8.=20agentId,=20applicationId=EB=A5=BC=20?= =?UTF-8?q?=EB=B3=B4=EC=97=AC=EC=A3=BC=EB=8F=84=EB=A1=9D=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-web/trunk@1336 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../hippo/web/service/RecordSetServiceImpl.java | 11 +++++++++++ src/main/java/com/nhn/hippo/web/vo/TraceId.java | 12 ++++++++++-- .../com/nhn/hippo/web/vo/callstacks/Record.java | 10 ++++++++++ .../nhn/hippo/web/vo/callstacks/RecordSet.java | 17 +++++++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/nhn/hippo/web/service/RecordSetServiceImpl.java b/src/main/java/com/nhn/hippo/web/service/RecordSetServiceImpl.java index fe8a9bb01..0bb03d09d 100644 --- a/src/main/java/com/nhn/hippo/web/service/RecordSetServiceImpl.java +++ b/src/main/java/com/nhn/hippo/web/service/RecordSetServiceImpl.java @@ -38,6 +38,8 @@ public class RecordSetServiceImpl implements RecordSetService { // 오류로 인해 foucs를 못찾을수 도있으므로, 없을 경우 별도 mark가 추가적으로 있어야 함. // TODO 잘못 될수 있는점 foucusTime은 실제로 2개 이상 나올수 잇음. 서버의 time을 사용하므로 오차로 인해 2개가 나올수도 있음. SpanBo focusTimeSpanBo = findFocusTimeSpanBo(spanAlignList, focusTimestamp); + recordSet.setAgentId(focusTimeSpanBo.getAgentId()); + recordSet.setApplicationId(focusTimeSpanBo.getApplicationId()); String applicationName = getRpcArgument(focusTimeSpanBo); recordSet.setApplicationName(applicationName); @@ -148,6 +150,11 @@ public class RecordSetServiceImpl implements RecordSetService { return recordList; } + private Record createParameterRecord(int depth, String method, String argument) { + Record record = new Record(depth, false, method, argument, 0L, 0L, null, null, null, null); + return record; + } + private SpanBo findFocusTimeSpanBo(List spanAlignList, long focusTimestamp) { SpanBo firstSpan = null; for (SpanAlign spanAlign : spanAlignList) { @@ -186,6 +193,10 @@ public class RecordSetServiceImpl implements RecordSetService { List annotationRecord = createAnnotationRecord(spanAlign.getDepth() + 1, spanBo.getAnnotationBoList()); recordList.addAll(annotationRecord); + if(spanBo.getRemoteAddr() != null) { + Record remoteAddress = createParameterRecord(spanAlign.getDepth() + 1, "REMOTE_ADDRESS", spanBo.getRemoteAddr()); + recordList.add(remoteAddress); + } } else { SpanEventBo spanEventBo = spanAlign.getSpanEventBo(); diff --git a/src/main/java/com/nhn/hippo/web/vo/TraceId.java b/src/main/java/com/nhn/hippo/web/vo/TraceId.java index 454ec19dc..6e0d9e09a 100644 --- a/src/main/java/com/nhn/hippo/web/vo/TraceId.java +++ b/src/main/java/com/nhn/hippo/web/vo/TraceId.java @@ -30,8 +30,8 @@ public class TraceId { } String[] parsedTraceId = TraceIdUtils.parseTraceId(traceId); this.most = TraceIdUtils.parseMostId(parsedTraceId); - this.least = TraceIdUtils.parseLeastId(parsedTraceId); - } + this.least = TraceIdUtils.parseLeastId(parsedTraceId); + } public byte[] getBytes() { return BytesUtils.longLongToBytes(most, least); @@ -62,4 +62,12 @@ public class TraceId { String traceId = TraceIdUtils.formatString(most, least); return "TraceId [" + traceId + "]"; } + + public String getFormatString() { + return TraceIdUtils.formatString(most, least); + } + + public String getFormatLong() { + return this.most + ":" + this.least; + } } diff --git a/src/main/java/com/nhn/hippo/web/vo/callstacks/Record.java b/src/main/java/com/nhn/hippo/web/vo/callstacks/Record.java index ec49e99ea..27f229433 100644 --- a/src/main/java/com/nhn/hippo/web/vo/callstacks/Record.java +++ b/src/main/java/com/nhn/hippo/web/vo/callstacks/Record.java @@ -47,6 +47,16 @@ public class Record { public int getTab() { return tab; } + public String getTabspace() { + if(tab == 0) { + return ""; + } + StringBuilder sb = new StringBuilder(); + for(int i=0; i< tab; i++) { + sb.append(" "); + } + return sb.toString(); + } public boolean isMethod() { return method; diff --git a/src/main/java/com/nhn/hippo/web/vo/callstacks/RecordSet.java b/src/main/java/com/nhn/hippo/web/vo/callstacks/RecordSet.java index 8119fd3d2..79c1d517b 100644 --- a/src/main/java/com/nhn/hippo/web/vo/callstacks/RecordSet.java +++ b/src/main/java/com/nhn/hippo/web/vo/callstacks/RecordSet.java @@ -14,6 +14,9 @@ public class RecordSet { private String applicationName; private long beginTimestamp; + private String agentId; + private String applicationId; + public RecordSet() { } @@ -66,5 +69,19 @@ public class RecordSet { } + public String getAgentId() { + return agentId; + } + public void setAgentId(String agentId) { + this.agentId = agentId; + } + + public String getApplicationId() { + return applicationId; + } + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } }