From f68b6ddd6486c074b7c5b73b7078803969fa5aa4 Mon Sep 17 00:00:00 2001 From: Chisu Yu Date: Thu, 25 Oct 2012 01:43:28 +0000 Subject: [PATCH] =?UTF-8?q?[=EC=9C=A0=EC=B9=98=EC=88=98]=20[NOBTS]=20add?= =?UTF-8?q?=20sankey=20chart=20on=20the=20transaction=20detail=20view.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@820 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../BusinessTransactionController.java | 49 ++- .../java/com/nhn/hippo/web/vo/TraceId.java | 6 + .../WEB-INF/views/selectTransaction.jsp | 267 +++++++++------- src/main/webapp/common/js/hippo/hippo.js | 176 +++++++++++ src/main/webapp/index.html | 298 ++++-------------- 5 files changed, 424 insertions(+), 372 deletions(-) create mode 100644 src/main/webapp/common/js/hippo/hippo.js 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 00b7ae656..b6a21e3ee 100644 --- a/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java +++ b/src/main/java/com/nhn/hippo/web/controller/BusinessTransactionController.java @@ -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 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 spanAligns = spanService.selectSpan(traceId); + + ModelAndView mv = new ModelAndView("selectTransaction"); + mv.addObject("spanList", spanAligns); + mv.addObject("traceId", traceId); + + Set traceIds = new HashSet(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; + } } diff --git a/src/main/java/com/nhn/hippo/web/vo/TraceId.java b/src/main/java/com/nhn/hippo/web/vo/TraceId.java index e35863c72..beb4c6e44 100644 --- a/src/main/java/com/nhn/hippo/web/vo/TraceId.java +++ b/src/main/java/com/nhn/hippo/web/vo/TraceId.java @@ -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; diff --git a/src/main/webapp/WEB-INF/views/selectTransaction.jsp b/src/main/webapp/WEB-INF/views/selectTransaction.jsp index 14ebe0e95..444b43814 100644 --- a/src/main/webapp/WEB-INF/views/selectTransaction.jsp +++ b/src/main/webapp/WEB-INF/views/selectTransaction.jsp @@ -8,9 +8,13 @@ Transaction details (${traceId}) + + + + -