From c662740a5202b985f66fcb99fa886254d4e084c0 Mon Sep 17 00:00:00 2001 From: "yong.you" Date: Tue, 27 Aug 2013 11:29:30 +0800 Subject: [PATCH] modify the compute score style --- .../dianping/cat/report/page/bug/Handler.java | 6 ++- .../page/bug/UtilizationReportScore.java | 38 +++++++++++++------ .../resources/META-INF/plexus/components.xml | 21 +++++----- .../src/main/webapp/jsp/report/bugTree.jsp | 2 +- 4 files changed, 45 insertions(+), 22 deletions(-) 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 4df807a1b..48b996c38 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 @@ -47,6 +47,7 @@ import com.dianping.cat.report.service.ReportService; import com.dianping.cat.report.task.heavy.HeavyReportMerger.ServiceComparator; import com.dianping.cat.report.task.heavy.HeavyReportMerger.UrlComparator; import com.dianping.cat.system.config.BugConfigManager; +import com.dianping.cat.system.config.UtilizationConfigManager; public class Handler implements PageHandler { @Inject @@ -61,6 +62,9 @@ public class Handler implements PageHandler { @Inject private BugConfigManager m_bugConfigManager; + @Inject + private UtilizationConfigManager m_configManager; + @Inject private PayloadNormalizer m_normalizePayload; @@ -225,7 +229,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); + new UtilizationReportScore().setConfigManager(m_configManager).visitUtilizationReport(report); return report; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/bug/UtilizationReportScore.java b/cat-home/src/main/java/com/dianping/cat/report/page/bug/UtilizationReportScore.java index d758b5e61..490c06ed5 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/bug/UtilizationReportScore.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/bug/UtilizationReportScore.java @@ -1,41 +1,57 @@ package com.dianping.cat.report.page.bug; +import com.dianping.cat.home.utilization.config.entity.UtilizationConfig; import com.dianping.cat.home.utilization.entity.Domain; import com.dianping.cat.home.utilization.transform.BaseVisitor; +import com.dianping.cat.system.config.UtilizationConfigManager; public class UtilizationReportScore extends BaseVisitor { + private UtilizationConfigManager m_configManager; + + private double m_callWeight; + + private double m_sqlWeight; + + private double m_cacheWeight; + + private double m_swallWeight; + @Override public void visitDomain(Domain domain) { long urlCount = domain.getUrlCount(); long serviceCount = domain.getServiceCount(); if (urlCount > 0) { - domain.setWebScore(computeWebScore(domain)); + domain.setWebScore(computeScore(domain)); } if (serviceCount > 0) { - domain.setServiceScore(computeServiceScore(domain)); + domain.setServiceScore(computeScore(domain)); } } - private int computeWebScore(Domain domain) { + private int computeScore(Domain domain) { long urlCount = domain.getUrlCount(); + long serviceCount = domain.getServiceCount(); long cacheCount = domain.getMemcacheCount(); long sqlCount = domain.getSqlCount(); long callCount = domain.getPigeonCallCount(); long swallowCount = domain.getSwallowCallCount(); - return (int) ((callCount * 100 + sqlCount * 10 + cacheCount + swallowCount * 10) * 1.0 / urlCount); + return (int) ((callCount * m_callWeight + sqlCount * m_sqlWeight + cacheCount * m_cacheWeight + swallowCount + * m_swallWeight) * 1.0 / (urlCount + serviceCount)); } - private int computeServiceScore(Domain domain) { + public UtilizationReportScore setConfigManager(UtilizationConfigManager configManager) { + m_configManager = configManager; - long serviceCount = domain.getServiceCount(); - long cacheCount = domain.getMemcacheCount(); - long sqlCount = domain.getSqlCount(); - long callCount = domain.getPigeonCallCount(); - long swallowCount = domain.getSwallowCallCount(); + UtilizationConfig utilizationConfig = m_configManager.getUtilizationConfig(); + m_callWeight = utilizationConfig.getPigeoncallWeight(); + m_sqlWeight = utilizationConfig.getSqlWeight(); + m_cacheWeight = utilizationConfig.getCacheWeight(); + m_swallWeight = utilizationConfig.getSwallowWeight(); - return (int) ((callCount * 100 + sqlCount * 10 + cacheCount + swallowCount * 10) * 1.0 / serviceCount); + return this; } + } diff --git a/cat-home/src/main/resources/META-INF/plexus/components.xml b/cat-home/src/main/resources/META-INF/plexus/components.xml index 46858d562..688d8b1d6 100755 --- a/cat-home/src/main/resources/META-INF/plexus/components.xml +++ b/cat-home/src/main/resources/META-INF/plexus/components.xml @@ -2767,6 +2767,9 @@ com.dianping.cat.system.config.BugConfigManager + + com.dianping.cat.system.config.UtilizationConfigManager + com.dianping.cat.report.page.PayloadNormalizer @@ -2790,6 +2793,15 @@ + + com.dianping.cat.system.config.UtilizationConfigManager + com.dianping.cat.system.config.UtilizationConfigManager + + + com.dianping.cat.core.config.ConfigDao + + + com.dianping.cat.system.SystemModule com.dianping.cat.system.SystemModule @@ -3060,15 +3072,6 @@ - - com.dianping.cat.system.config.UtilizationConfigManager - com.dianping.cat.system.config.UtilizationConfigManager - - - com.dianping.cat.core.config.ConfigDao - - - com.dianping.cat.system.page.abtest.Handler com.dianping.cat.system.page.abtest.Handler diff --git a/cat-home/src/main/webapp/jsp/report/bugTree.jsp b/cat-home/src/main/webapp/jsp/report/bugTree.jsp index 6986c67b9..f0c808cdc 100644 --- a/cat-home/src/main/webapp/jsp/report/bugTree.jsp +++ b/cat-home/src/main/webapp/jsp/report/bugTree.jsp @@ -4,7 +4,7 @@
  • 项目异常
  • 服务可用性
  • -
  • 应用节能排行榜
  • +
  • 应用排行榜
  • 重量级访问
  • -- GitLab