diff --git a/src/main/java/com/nhn/hippo/web/calltree/span/SpanAlign.java b/src/main/java/com/nhn/hippo/web/calltree/span/SpanAlign.java index 9946d8b42..5af38793a 100644 --- a/src/main/java/com/nhn/hippo/web/calltree/span/SpanAlign.java +++ b/src/main/java/com/nhn/hippo/web/calltree/span/SpanAlign.java @@ -37,7 +37,7 @@ public class SpanAlign { return depth; } - public SpanBo getSpan() { + public SpanBo getSpanBo() { return spanBo; } diff --git a/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java b/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java index 862a571e9..884554f37 100644 --- a/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java +++ b/src/main/java/com/nhn/hippo/web/calltree/span/SpanPopulator.java @@ -35,7 +35,7 @@ public class SpanPopulator { private void populatedSpan(List populatedList) { SpanAlign spanAlign = list.get(index); - SpanBo span = spanAlign.getSpan(); + SpanBo span = spanAlign.getSpanBo(); populatedList.add(spanAlign); long startTime = span.getStartTime(); List subSpanBos = sortSubSpan(span); @@ -62,7 +62,7 @@ public class SpanPopulator { if (nextIndex >= list.size()) { return Long.MAX_VALUE; } - return list.get(nextIndex).getSpan().getStartTime(); + return list.get(nextIndex).getSpanBo().getStartTime(); } private List sortSubSpan(SpanBo span) { diff --git a/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java b/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java index b80f7f8fa..146cd0f69 100644 --- a/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java +++ b/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java @@ -37,34 +37,39 @@ public class BusinessTransactionController { public ModelAndView flow(@RequestParam(value = "traceId") String traceId) { logger.debug("traceId:{}", traceId); - // select spans - List spanAligns = spanService.selectSpan(traceId); - ModelAndView mv = new ModelAndView("selectTransaction"); - if (spanAligns.isEmpty()) { - mv.addObject("errorCode", 9); - mv.setViewName("error"); - return mv; + try { + // select spans + List spanAligns = spanService.selectSpan(traceId); + + if (spanAligns.isEmpty()) { + mv.addObject("errorCode", 9); + mv.setViewName("error"); + return mv; + } + + // debug + mv.addObject("spanList", spanAligns); + + mv.addObject("traceId", traceId); + + // call tree + ServerCallTree callTree = flow.selectServerCallTree(new TraceId(UUID.fromString(traceId))); + mv.addObject("nodes", callTree.getNodes()); + mv.addObject("links", callTree.getLinks()); + + // call stacks + RecordSet recordset = new RecordSet(spanAligns); + mv.addObject("applicationName", recordset.getApplicationName()); + mv.addObject("callstack", recordset.getIterator()); + mv.addObject("timeline", recordset.getIterator()); + mv.addObject("callstackStart", recordset.getStartTime()); + mv.addObject("callstackEnd", recordset.getEndTime()); + + } catch (Exception e) { + e.printStackTrace(); } - - // debug - mv.addObject("spanList", spanAligns); - - mv.addObject("traceId", traceId); - - // call tree - ServerCallTree callTree = flow.selectServerCallTree(new TraceId(UUID.fromString(traceId))); - mv.addObject("nodes", callTree.getNodes()); - mv.addObject("links", callTree.getLinks()); - - // call stacks - RecordSet recordset = new RecordSet(spanAligns); - mv.addObject("applicationName", recordset.getApplicationName()); - mv.addObject("callstack", recordset.getIterator()); - mv.addObject("timeline", recordset.getIterator()); - mv.addObject("callstackStart", recordset.getStartTime()); - mv.addObject("callstackEnd", recordset.getEndTime()); return mv; } diff --git a/src/main/java/com/nhn/hippo/web/service/SpanServiceImpl.java b/src/main/java/com/nhn/hippo/web/service/SpanServiceImpl.java index 726981392..96ce84212 100644 --- a/src/main/java/com/nhn/hippo/web/service/SpanServiceImpl.java +++ b/src/main/java/com/nhn/hippo/web/service/SpanServiceImpl.java @@ -60,7 +60,7 @@ public class SpanServiceImpl implements SpanService { for (SpanAlign spanAlign : spans) { List annotationBoList; if (spanAlign.isSpan()) { - annotationBoList = spanAlign.getSpan().getAnnotationBoList(); + annotationBoList = spanAlign.getSpanBo().getAnnotationBoList(); annotationReplacementCallback.replacement(spanAlign, annotationBoList); } else { annotationBoList = spanAlign.getSubSpanBo().getAnnotationBoList(); @@ -79,7 +79,7 @@ public class SpanServiceImpl implements SpanService { } String agentId = getAgentId(spanAlign); - long startTime = spanAlign.getSpan().getStartTime(); + long startTime = spanAlign.getSpanBo().getStartTime(); long agentStartTime = agentInfoDao.selectAgentInfoBeforeStartTime(agentId, startTime); logger.info("{} Agent StartTime fonud:{}", agentId, agentStartTime); @@ -145,7 +145,7 @@ public class SpanServiceImpl implements SpanService { private String getAgentId(SpanAlign spanAlign) { if (spanAlign.isSpan()) { - return spanAlign.getSpan().getAgentId(); + return spanAlign.getSpanBo().getAgentId(); } else { return spanAlign.getSubSpanBo().getAgentId(); } 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 a50ae9597..4ade9c0c7 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 @@ -79,7 +79,7 @@ public class RecordSet { for (SpanAlign sa : spanAligns) { if (sa.isSpan()) { - SpanBo span = sa.getSpan(); + SpanBo span = sa.getSpanBo(); AnnotationUtils.sortAnnotationListByKey(span); String method = (String) AnnotationUtils.getDisplayMethod(span); String arguments = (String) AnnotationUtils.getDisplayArgument(span); @@ -103,7 +103,7 @@ public class RecordSet { String method = (String) AnnotationUtils.getDisplayMethod(subSpan); Object arguments = AnnotationUtils.getDisplayArgument(subSpan); - long begin = sa.getSpan().getStartTime() + subSpan.getStartElapsed(); + long begin = sa.getSpanBo().getStartTime() + subSpan.getStartElapsed(); long elapsed = subSpan.getEndElapsed(); if (!marked) { diff --git a/src/main/webapp/WEB-INF/views/selectTransaction.jsp b/src/main/webapp/WEB-INF/views/selectTransaction.jsp index e3381e491..5155d7d60 100644 --- a/src/main/webapp/WEB-INF/views/selectTransaction.jsp +++ b/src/main/webapp/WEB-INF/views/selectTransaction.jsp @@ -287,8 +287,8 @@ - - + + ${span.depth} @@ -304,7 +304,7 @@   - + diff --git a/src/test/java/com/nhn/hippo/web/service/SpanServiceTest.java b/src/test/java/com/nhn/hippo/web/service/SpanServiceTest.java index 7cd412ced..770da1424 100644 --- a/src/test/java/com/nhn/hippo/web/service/SpanServiceTest.java +++ b/src/test/java/com/nhn/hippo/web/service/SpanServiceTest.java @@ -104,7 +104,7 @@ public class SpanServiceTest { List sort = spanService.selectSpan(uuid.toString()); for (SpanAlign spanAlign : sort) { - logger.info("depth:{} {}", spanAlign.getDepth(), spanAlign.getSpan()); + logger.info("depth:{} {}", spanAlign.getDepth(), spanAlign.getSpanBo()); } // reorder(spans); }