diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Handler.java b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Handler.java index e5405f85dfd350ef4c6729eb73ed90090530d121..4df807a1b7e89745a35e309c1c359760c0aaa5b2 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Handler.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Handler.java @@ -7,6 +7,7 @@ import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -125,7 +126,6 @@ public class Handler implements PageHandler { case SERVICE_REPORT: case SERVICE_HISTORY_REPORT: ServiceReport serviceReport = queryServiceReport(payload); - List dHisList = sort(serviceReport, payload.getSortBy()); model.setServiceList(dHisList); model.setServiceReport(serviceReport); @@ -162,9 +162,18 @@ public class Handler implements PageHandler { case UTILIZATION_HISTORY_REPORT: UtilizationReport utilizationReport = queryUtilizationReport(payload); List dUList = sort(utilizationReport, payload.getSortBy()); - + List dUWebList = new LinkedList(); + List dUServiceList = new LinkedList(); + for(com.dianping.cat.home.utilization.entity.Domain d : dUList){ + if(d.getUrlCount() > 0) + dUWebList.add(d); + if(d.getServiceCount() > 0) + dUServiceList.add(d); + } model.setUtilizationReport(utilizationReport); model.setUtilizationList(dUList); + model.setUtilizationWebList(dUWebList); + model.setUtilizationServiceList(dUServiceList); break; } model.setPage(ReportPage.BUG); @@ -215,9 +224,7 @@ public class Handler implements PageHandler { private UtilizationReport queryUtilizationReport(Payload payload) { Pair pair = queryStartEndTime(payload); - UtilizationReport report = m_reportService.queryUtilizationReport(CatString.CAT, pair.getKey(), pair.getValue()); - new UtilizationReportScore().visitUtilizationReport(report); return report; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Model.java b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Model.java index dfdf5b176e5405d3c44c3f363e7a24f93c5b24b2..a815ccdc27277534a52bbc69a414d88bb3f0e574 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Model.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Model.java @@ -44,6 +44,24 @@ public class Model extends AbstractReportModel { private List m_utilizationList; + private List m_utilizationWebList; + + private List m_utilizationServiceList; + + public List getUtilizationWebList() { + return m_utilizationWebList; + } + + + public List getUtilizationServiceList() { + return m_utilizationServiceList; + } + + public void setUtilizationServiceList( + List utilizationServiceList) { + m_utilizationServiceList = utilizationServiceList; + } + public Model(Context ctx) { super(ctx); } @@ -171,4 +189,9 @@ public class Model extends AbstractReportModel { m_utilizationReport = utilizationReport; } + public void setUtilizationWebList( + List utilizationWebList) { + m_utilizationWebList = utilizationWebList; + } + } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Payload.java b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Payload.java index 33f8199706a6d934513afb3f1db86df568f477fb..a3dc2a2511ba3955ddba55d8a579ca957ec6e542 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/bug/Payload.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/bug/Payload.java @@ -14,6 +14,17 @@ public class Payload extends AbstractReportPayload { @FieldMeta("sort") private String m_sortBy = "avg"; + + @FieldMeta("tab") + private String m_tab = "tab1"; + + public String getTab() { + return m_tab; + } + + public void setTab(String tab) { + m_tab = tab; + } public Payload() { super(ReportPage.BUG); diff --git a/cat-home/src/main/java/com/dianping/cat/report/service/impl/BugReportService.java b/cat-home/src/main/java/com/dianping/cat/report/service/impl/BugReportService.java index 8de5f387cd98e79a9fdb5259c48d45cdd98860d9..25163ac70884bc5457c3db8d966f62460de34eab 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/service/impl/BugReportService.java +++ b/cat-home/src/main/java/com/dianping/cat/report/service/impl/BugReportService.java @@ -91,6 +91,7 @@ public class BugReportService extends AbstractReportService { try { BugReport reportModel = com.dianping.cat.home.bug.transform.DefaultSaxParser.parse(xml); reportModel.accept(merger); + System.out.println(reportModel); } catch (Exception e) { Cat.logError(e); Cat.getProducer().logEvent("ErrorXML", name, Event.SUCCESS, diff --git a/cat-home/src/main/java/com/dianping/cat/report/service/impl/UtilizationReportService.java b/cat-home/src/main/java/com/dianping/cat/report/service/impl/UtilizationReportService.java index 72e508b04dbd32bd340314af2f9145bad481f348..b9714991df5486df30f50ea681f4e9c7cafaa75a 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/service/impl/UtilizationReportService.java +++ b/cat-home/src/main/java/com/dianping/cat/report/service/impl/UtilizationReportService.java @@ -56,6 +56,7 @@ public class UtilizationReportService extends AbstractReportService domains = m_reportService.queryAllDomainNames(start, end, "matrix"); + Set domains = m_reportService.queryAllDomainNames(start, end, "transaction"); TransactionReportVisitor visitor = new TransactionReportVisitor().setReport(utilizationReport); for (String domainName : domains) { @@ -60,9 +60,6 @@ public class UtilizationReportBuilder implements ReportTaskBuilder { utilizationReport.findOrCreateDomain(domainName).setMachineNumber(size); } HourlyReport report = new HourlyReport(); - - System.out.println(utilizationReport); - report.setContent(utilizationReport.toString()); report.setCreationDate(new Date()); report.setDomain(domain); diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportMerger.java b/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportMerger.java index c3414e4b672a455f0454aa80c2f7297378740553..01e43f28fafa65fb7aa373d0531d6303d7a3e022 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportMerger.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportMerger.java @@ -9,12 +9,20 @@ public class UtilizationReportMerger extends DefaultMerger { public UtilizationReportMerger(UtilizationReport utilizationReport) { super(utilizationReport); } + + + @Override + public void visitUtilizationReport(UtilizationReport utilizationReport) { + UtilizationReport oldReport = getUtilizationReport(); + + oldReport.setDomain(utilizationReport.getDomain()); + oldReport.setStartTime(utilizationReport.getStartTime()); + oldReport.setEndTime(utilizationReport.getEndTime()); + super.visitUtilizationReport(utilizationReport); + } @Override protected void mergeUtilizationReport(UtilizationReport old, UtilizationReport bugReport) { - old.setStartTime(bugReport.getStartTime()); - old.setEndTime(bugReport.getEndTime()); - old.setDomain(bugReport.getDomain()); super.mergeUtilizationReport(old, bugReport); } @@ -25,6 +33,8 @@ public class UtilizationReportMerger extends DefaultMerger { } old.setUrlCount(old.getUrlCount() + domain.getUrlCount()); old.setUrlResponseTime(old.getUrlResponseTime() + domain.getUrlResponseTime()); + old.setServiceCount(old.getServiceCount() + domain.getServiceCount()); + old.setServiceResponseTime(old.getServiceResponseTime() + domain.getServiceResponseTime()); old.setSqlCount(old.getSqlCount() + domain.getSqlCount()); old.setPigeonCallCount(old.getPigeonCallCount() + domain.getPigeonCallCount()); old.setSwallowCallCount(old.getSwallowCallCount() + domain.getSwallowCallCount()); diff --git a/cat-home/src/main/webapp/jsp/report/utilization/detail.jsp b/cat-home/src/main/webapp/jsp/report/utilization/detail.jsp index f77f51f2dd6406062a4ca7e6e321db93555764d5..706454e19be5ab094e450e6c1f14f27adcd555f2 100644 --- a/cat-home/src/main/webapp/jsp/report/utilization/detail.jsp +++ b/cat-home/src/main/webapp/jsp/report/utilization/detail.jsp @@ -4,42 +4,83 @@ <%@include file="../bugTree.jsp"%>
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
idMachine NumberURL CountURL Response TimeService CountService Response TimeService CountService Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountScore
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.score,'#,###,###,###,##0')}
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idMachine NumberURL CountURL Response TimeService CountService Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountWeb Score
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.webScore,'#,###,###,###,##0')}
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idMachine NumberURL CountURL Response TimeService CountService Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountService Score
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.serviceScore,'#,###,###,###,##0')}
+
+
+
\ No newline at end of file diff --git a/cat-home/src/main/webapp/jsp/report/utilization/utilization.jsp b/cat-home/src/main/webapp/jsp/report/utilization/utilization.jsp index 98d67f47bd6915fdf29bb1bd59a619abf08f387c..57f2710eeb6e8152193cb28df39bd4692585fa53 100644 --- a/cat-home/src/main/webapp/jsp/report/utilization/utilization.jsp +++ b/cat-home/src/main/webapp/jsp/report/utilization/utilization.jsp @@ -43,3 +43,13 @@ + diff --git a/cat-home/src/main/webapp/jsp/report/utilization/utilizationHistory.jsp b/cat-home/src/main/webapp/jsp/report/utilization/utilizationHistory.jsp index e7f85f49f7de28af621b558c5e4d3f536b80dc30..d526e6712fdba00144fd82afa2b4472eebd03bfa 100644 --- a/cat-home/src/main/webapp/jsp/report/utilization/utilizationHistory.jsp +++ b/cat-home/src/main/webapp/jsp/report/utilization/utilizationHistory.jsp @@ -45,34 +45,83 @@ <%@include file="../bugTree.jsp"%>
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
idMachine NumberURL CountURL Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountScore
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.score,'#,###,###,###,##0')}
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idMachine NumberURL CountURL Response TimeService CountService Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountWeb Score
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.webScore,'#,###,###,###,##0')}
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idMachine NumberURL CountURL Response TimeService CountService Response TimeSQL CountPigeon Call CountSwallow Call CountMemcache CountService Score
${item.id}${item.machineNumber}${w:format(item.urlCount,'#,###,###,###,##0')}${w:format(item.urlResponseTime,'0.0')}${w:format(item.serviceCount,'#,###,###,###,##0')}${w:format(item.serviceResponseTime,'0.0')}${w:format(item.sqlCount,'#,###,###,###,##0')}${w:format(item.pigeonCallCount,'#,###,###,###,##0')}${w:format(item.swallowCallCount,'#,###,###,###,##0')}${w:format(item.memcacheCount,'#,###,###,###,##0')}${w:format(item.serviceScore,'#,###,###,###,##0')}
+
+
+
diff --git a/cat-home/src/test/java/com/dianping/cat/report/task/utilization/UtilizationBuilderTest.java b/cat-home/src/test/java/com/dianping/cat/report/task/utilization/UtilizationBuilderTest.java index 5935350007f92dfa6050fe9e8dcd47740d3d7d2f..d3e2348ac1aa5269fad4194c5a5bcf4bfac57acb 100644 --- a/cat-home/src/test/java/com/dianping/cat/report/task/utilization/UtilizationBuilderTest.java +++ b/cat-home/src/test/java/com/dianping/cat/report/task/utilization/UtilizationBuilderTest.java @@ -7,6 +7,7 @@ import org.unidal.lookup.ComponentTestCase; import com.dianping.cat.Cat; import com.dianping.cat.DomainManager; +import com.dianping.cat.helper.CatString; public class UtilizationBuilderTest extends ComponentTestCase{ @@ -17,7 +18,7 @@ public class UtilizationBuilderTest extends ComponentTestCase{ DomainManager manager = lookup(DomainManager.class); manager.initialize(); - builder.buildHourlyTask("utilization", "cat", new SimpleDateFormat("yyyyMMddHH").parse("2013082508")); + builder.buildHourlyTask("utilization",CatString.CAT, new SimpleDateFormat("yyyyMMddHH").parse("2013082505")); } @Test @@ -26,7 +27,7 @@ public class UtilizationBuilderTest extends ComponentTestCase{ DomainManager manager = lookup(DomainManager.class); manager.initialize(); - builder.buildDailyTask("utilization", "cat", new SimpleDateFormat("yyyyMMdd").parse("20130825")); + builder.buildDailyTask("utilization", CatString.CAT, new SimpleDateFormat("yyyyMMdd").parse("20130825")); } @Test @@ -35,7 +36,7 @@ public class UtilizationBuilderTest extends ComponentTestCase{ DomainManager manager = lookup(DomainManager.class); manager.initialize(); - builder.buildWeeklyTask("utilization", "cat", new SimpleDateFormat("yyyyMMdd").parse("20130717")); + builder.buildWeeklyTask("utilization", CatString.CAT, new SimpleDateFormat("yyyyMMdd").parse("20130717")); } @Test @@ -44,7 +45,7 @@ public class UtilizationBuilderTest extends ComponentTestCase{ DomainManager manager = lookup(DomainManager.class); manager.initialize(); - builder.buildMonthlyTask("utilization", "cat", new SimpleDateFormat("yyyyMMdd").parse("20130701")); + builder.buildMonthlyTask("utilization", CatString.CAT, new SimpleDateFormat("yyyyMMdd").parse("20130701")); }