[유치수] [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:
Chisu Yu
2012-10-25 01:43:28 +00:00
parent d1ec659dea
commit f68b6ddd64
5 changed files with 424 additions and 372 deletions
@@ -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;