mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-28 06:08:43 +10:00
[유치수] [NOBTS] add sankey chart on the transaction detail view.
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@820 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.nhn.hippo.web.controller;
|
||||
|
||||
import com.nhn.hippo.web.calltree.span.SpanAlign;
|
||||
import com.nhn.hippo.web.service.SpanService;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -12,24 +14,41 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.util.List;
|
||||
import com.nhn.hippo.web.calltree.server.ServerCallTree;
|
||||
import com.nhn.hippo.web.calltree.span.SpanAlign;
|
||||
import com.nhn.hippo.web.service.FlowChartService;
|
||||
import com.nhn.hippo.web.service.SpanService;
|
||||
import com.nhn.hippo.web.vo.TraceId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class BusinessTransactionController {
|
||||
private Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
@Autowired
|
||||
private SpanService spanService;
|
||||
|
||||
@RequestMapping(value = "/selectTransaction", method = RequestMethod.GET)
|
||||
public ModelAndView flow(@RequestParam(value = "traceId") String traceId) {
|
||||
logger.debug("traceId:{}", traceId);
|
||||
List<SpanAlign> spanAligns = spanService.selectSpan(traceId);
|
||||
ModelAndView mv = new ModelAndView("selectTransaction");
|
||||
mv.addObject("spanList", spanAligns);
|
||||
mv.addObject("traceId", traceId);
|
||||
return mv;
|
||||
}
|
||||
private Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private SpanService spanService;
|
||||
|
||||
@Autowired
|
||||
private FlowChartService flow;
|
||||
|
||||
@RequestMapping(value = "/selectTransaction", method = RequestMethod.GET)
|
||||
public ModelAndView flow(@RequestParam(value = "traceId") String traceId) {
|
||||
logger.debug("traceId:{}", traceId);
|
||||
List<SpanAlign> spanAligns = spanService.selectSpan(traceId);
|
||||
|
||||
ModelAndView mv = new ModelAndView("selectTransaction");
|
||||
mv.addObject("spanList", spanAligns);
|
||||
mv.addObject("traceId", traceId);
|
||||
|
||||
Set<TraceId> traceIds = new HashSet<TraceId>(1);
|
||||
traceIds.add(new TraceId(UUID.fromString(traceId)));
|
||||
ServerCallTree callTree = flow.selectServerCallTree(traceIds);
|
||||
mv.addObject("nodes", callTree.getNodes());
|
||||
mv.addObject("links", callTree.getLinks());
|
||||
|
||||
return mv;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,12 @@ public class TraceId {
|
||||
this.most = BytesUtils.bytesToFirstLong(id);
|
||||
this.least = BytesUtils.bytesToSecondLong(id);
|
||||
}
|
||||
|
||||
public TraceId(UUID uuid) {
|
||||
this.most = uuid.getMostSignificantBits();
|
||||
this.least = uuid.getLeastSignificantBits();
|
||||
this.id = BytesUtils.longLongToBytes(most, least);
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
return id;
|
||||
|
||||
Reference in New Issue
Block a user