mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-19 01:35:58 +10:00
[유치수] [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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user