[유치수] [NOBTS] transaction detail view bug fix, cause . SpanAlign.spanBo

git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@1116 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
Chisu Yu
2013-01-25 04:32:24 +00:00
parent e39aed5488
commit 5608ea986b
7 changed files with 42 additions and 37 deletions
@@ -37,7 +37,7 @@ public class SpanAlign {
return depth;
}
public SpanBo getSpan() {
public SpanBo getSpanBo() {
return spanBo;
}
@@ -35,7 +35,7 @@ public class SpanPopulator {
private void populatedSpan(List<SpanAlign> populatedList) {
SpanAlign spanAlign = list.get(index);
SpanBo span = spanAlign.getSpan();
SpanBo span = spanAlign.getSpanBo();
populatedList.add(spanAlign);
long startTime = span.getStartTime();
List<SubSpanBo> 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<SubSpanBo> sortSubSpan(SpanBo span) {
@@ -37,34 +37,39 @@ public class BusinessTransactionController {
public ModelAndView flow(@RequestParam(value = "traceId") String traceId) {
logger.debug("traceId:{}", traceId);
// select spans
List<SpanAlign> 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<SpanAlign> 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;
}
@@ -60,7 +60,7 @@ public class SpanServiceImpl implements SpanService {
for (SpanAlign spanAlign : spans) {
List<AnnotationBo> 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();
}
@@ -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) {