diff --git a/cat-home/src/main/java/com/dianping/cat/build/AlarmComponentConfigurator.java b/cat-home/src/main/java/com/dianping/cat/build/AlarmComponentConfigurator.java index fcc1d93c39507f69a7fb6b8deb9e6c93a5bb8d8a..f058208478df9829ef4b6372ca3ffdb08e00291b 100644 --- a/cat-home/src/main/java/com/dianping/cat/build/AlarmComponentConfigurator.java +++ b/cat-home/src/main/java/com/dianping/cat/build/AlarmComponentConfigurator.java @@ -16,6 +16,7 @@ import com.dianping.cat.consumer.metric.MetricConfigManager; import com.dianping.cat.consumer.metric.ProductLineConfigManager; import com.dianping.cat.consumer.problem.ProblemAnalyzer; import com.dianping.cat.consumer.top.TopAnalyzer; +import com.dianping.cat.consumer.transaction.TransactionAnalyzer; import com.dianping.cat.core.config.ConfigDao; import com.dianping.cat.home.dal.report.AlertDao; import com.dianping.cat.home.dal.report.AlertSummaryDao; @@ -67,17 +68,13 @@ import com.dianping.cat.report.task.alert.sender.spliter.Spliter; import com.dianping.cat.report.task.alert.sender.spliter.SpliterManager; import com.dianping.cat.report.task.alert.sender.spliter.WeixinSpliter; import com.dianping.cat.report.task.alert.service.AlertEntityService; -import com.dianping.cat.report.task.alert.summary.AlertSummaryDataGenerator; +import com.dianping.cat.report.task.alert.summary.AlertSummaryContentGenerator; import com.dianping.cat.report.task.alert.summary.AlertSummaryExecutor; -import com.dianping.cat.report.task.alert.summary.AlertSummaryFTLDecorator; import com.dianping.cat.report.task.alert.summary.AlertSummaryGenerator; import com.dianping.cat.report.task.alert.summary.AlertSummaryManager; -import com.dianping.cat.report.task.alert.summary.AlterationDataGenerator; -import com.dianping.cat.report.task.alert.summary.AlterationDecorator; -import com.dianping.cat.report.task.alert.summary.FailureDataGenerator; -import com.dianping.cat.report.task.alert.summary.FailureDecorator; -import com.dianping.cat.report.task.alert.summary.SummaryDataGenerator; -import com.dianping.cat.report.task.alert.summary.SummaryDecorator; +import com.dianping.cat.report.task.alert.summary.AlterationSummaryContentGenerator; +import com.dianping.cat.report.task.alert.summary.FailureSummaryContentGenerator; +import com.dianping.cat.report.task.alert.summary.SummaryContentGenerator; import com.dianping.cat.report.task.alert.system.SystemAlert; import com.dianping.cat.report.task.alert.thirdParty.HttpConnector; import com.dianping.cat.report.task.alert.thirdParty.ThirdPartyAlert; @@ -185,8 +182,9 @@ class AlarmComponentConfigurator extends AbstractResourceConfigurator { all.add(C(HeartbeatAlert.class) .req(ProductLineConfigManager.class, BaselineService.class) - .req(ProjectService.class, RemoteMetricReportService.class, HeartbeatRuleConfigManager.class, - DataChecker.class, AlertManager.class, AlertInfo.class).req(ModelService.class, HeartbeatAnalyzer.ID)); + .req(RemoteMetricReportService.class, HeartbeatRuleConfigManager.class, DataChecker.class, + AlertManager.class, AlertInfo.class).req(ModelService.class, HeartbeatAnalyzer.ID, "m_service") + .req(ModelService.class, TransactionAnalyzer.ID, "m_transactionService")); all.add(C(SystemAlert.class).req(ProductLineConfigManager.class, BaselineService.class, AlertInfo.class).req( RemoteMetricReportService.class, SystemRuleConfigManager.class, DataChecker.class, AlertManager.class)); @@ -217,28 +215,20 @@ class AlarmComponentConfigurator extends AbstractResourceConfigurator { all.add(C(AlertSummaryManager.class).req(AlertSummaryDao.class)); - all.add(C(SummaryDataGenerator.class, AlertSummaryDataGenerator.ID, AlertSummaryDataGenerator.class).req( + all.add(C(SummaryContentGenerator.class, AlertSummaryContentGenerator.ID, AlertSummaryContentGenerator.class).req( AlertSummaryGenerator.class, AlertSummaryManager.class)); - all.add(C(SummaryDataGenerator.class, FailureDataGenerator.ID, FailureDataGenerator.class).req( + all.add(C(SummaryContentGenerator.class, FailureSummaryContentGenerator.ID, FailureSummaryContentGenerator.class).req( ModelService.class, ProblemAnalyzer.ID)); - all.add(C(SummaryDataGenerator.class, AlterationDataGenerator.ID, AlterationDataGenerator.class).req( + all.add(C(SummaryContentGenerator.class, AlterationSummaryContentGenerator.ID, AlterationSummaryContentGenerator.class).req( AlterationDao.class)); - all.add(C(SummaryDecorator.class, AlertSummaryFTLDecorator.ID, AlertSummaryFTLDecorator.class)); - - all.add(C(SummaryDecorator.class, FailureDecorator.ID, FailureDecorator.class)); - - all.add(C(SummaryDecorator.class, AlterationDecorator.ID, AlterationDecorator.class)); - - all.add(C(AlertSummaryExecutor.class).req(SenderManager.class) - .req(SummaryDataGenerator.class, AlertSummaryDataGenerator.ID, "m_alertSummaryDataGenerator") - .req(SummaryDataGenerator.class, FailureDataGenerator.ID, "m_failureDataGenerator") - .req(SummaryDataGenerator.class, AlterationDataGenerator.ID, "m_alterationDataGenerator") - .req(SummaryDecorator.class, AlertSummaryFTLDecorator.ID, "m_alertSummaryDecorator") - .req(SummaryDecorator.class, FailureDecorator.ID, "m_failureDecorator") - .req(SummaryDecorator.class, AlterationDecorator.ID, "m_alterationDecorator")); + all.add(C(AlertSummaryExecutor.class) + .req(SenderManager.class) + .req(SummaryContentGenerator.class, AlertSummaryContentGenerator.ID, "m_alertSummaryContentGenerator") + .req(SummaryContentGenerator.class, FailureSummaryContentGenerator.ID, "m_failureSummaryContentGenerator") + .req(SummaryContentGenerator.class, AlterationSummaryContentGenerator.ID, "m_alterationSummaryContentGenerator")); return all; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/cache/CacheReport.java b/cat-home/src/main/java/com/dianping/cat/report/page/cache/CacheReport.java index 0fd36c60044da086c4a338f26c7296acbc32c3bf..a3abed62308768a941c695dc90460c139161bcba 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/cache/CacheReport.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/cache/CacheReport.java @@ -103,16 +103,6 @@ public class CacheReport { return result; } - public List getAllMethods() { - CacheNameItem allItem = m_nameItems.get(ALL); - - if (allItem != null) { - return new ArrayList(allItem.getMethodCounts().keySet()); - } else { - return new ArrayList(); - } - } - public java.util.Date getStartTime() { return m_startTime; } @@ -160,14 +150,18 @@ public class CacheReport { private long m_missed; - private long m_getCount; - + private long m_add; + + private long m_get; + + private long m_mget; + + private long m_remove; + private TransactionName m_name; private String m_category; - private Map m_methodCounts = new HashMap(); - public void add(TransactionName transactionName, EventName eventName, String method) { long transactionTotalCount = transactionName.getTotalCount(); @@ -177,16 +171,16 @@ public class CacheReport { m_name.setTps(m_name.getTps() + transactionName.getTps()); if (!StringUtil.isEmpty(method)) { - Long value = m_methodCounts.get(method); - - if (value == null) { - value = 0L; - } - m_methodCounts.put(method, value + transactionTotalCount); if ("get".equals(method)) { + m_get += transactionTotalCount; m_missed = m_missed + eventName.getTotalCount(); - m_getCount = m_getCount + transactionTotalCount; - m_hited = 1 - (double) m_missed / m_getCount; + m_hited = 1 - (double) m_missed / m_get; + } else if ("mget".equals(method)) { + m_mget += transactionTotalCount; + } else if ("add".equals(method)) { + m_add += transactionTotalCount; + } else if ("remove".equals(method)) { + m_remove += transactionTotalCount; } } } @@ -199,26 +193,28 @@ public class CacheReport { return m_missed; } - public TransactionName getName() { - return m_name; + public long getAdd() { + return m_add; } - public String getCategory() { - return m_category; + public long getGet() { + return m_get; } - public Map getMethodCounts() { - return m_methodCounts; + public long getMget() { + return m_mget; } - public long getMethodCount(String method) { - Long count = m_methodCounts.get(method); + public long getRemove() { + return m_remove; + } - if (count == null) { - return 0L; - } else { - return count; - } + public TransactionName getName() { + return m_name; + } + + public String getCategory() { + return m_category; } public void setHited(double hited) { @@ -260,9 +256,14 @@ public class CacheReport { return (int) (o2.getName().getAvg() * 1000 - o1.getName().getAvg() * 1000); } else if (m_sort.equals("name")) { return o1.getName().getId().compareTo(o2.getName().getId()); - } else if (m_sort.startsWith("method:")) { - String method = m_sort.substring(7); - return (int) (o2.getMethodCount(method) - o1.getMethodCount(method)); + } else if (m_sort.equals("add")) { + return (int) (o2.getAdd() - o1.getAdd()); + } else if (m_sort.equals("get")) { + return (int) (o2.getGet() - o1.getGet()); + } else if (m_sort.equals("mget")) { + return (int) (o2.getMget() - o1.getMget()); + } else if (m_sort.equals("remove")) { + return (int) (o2.getRemove() - o1.getRemove()); } return 0; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/heartbeat/HeartbeatAlert.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/heartbeat/HeartbeatAlert.java index 89b0862933640f270e09899f5a6821bb5714107c..4c9c4c27e462fa77064a605bfaae9af6f75b4fbb 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/heartbeat/HeartbeatAlert.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/heartbeat/HeartbeatAlert.java @@ -1,6 +1,7 @@ package com.dianping.cat.report.task.alert.heartbeat; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -14,6 +15,8 @@ import com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer; import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport; import com.dianping.cat.consumer.heartbeat.model.entity.Machine; import com.dianping.cat.consumer.heartbeat.model.entity.Period; +import com.dianping.cat.consumer.transaction.TransactionAnalyzer; +import com.dianping.cat.consumer.transaction.model.entity.TransactionReport; import com.dianping.cat.helper.TimeHelper; import com.dianping.cat.home.rule.entity.Condition; import com.dianping.cat.home.rule.entity.Config; @@ -25,16 +28,15 @@ import com.dianping.cat.report.task.alert.BaseAlert; import com.dianping.cat.report.task.alert.sender.AlertEntity; import com.dianping.cat.service.ModelRequest; import com.dianping.cat.service.ModelResponse; -import com.dianping.cat.service.ProjectService; public class HeartbeatAlert extends BaseAlert implements Task { - @Inject - private ProjectService m_projectService; - @Inject(type = ModelService.class, value = HeartbeatAnalyzer.ID) private ModelService m_service; + @Inject(type = ModelService.class, value = TransactionAnalyzer.ID) + private ModelService m_transactionService; + private static final String[] m_metrics = { "ThreadCount", "DaemonCount", "TotalStartedCount", "CatThreadCount", "PiegonThreadCount", "HttpThreadCount", "NewGcCount", "OldGcCount", "MemoryFree", "HeapUsage", "NoneHeapUsage", "SystemLoadAverage", "CatMessageOverflow", "CatMessageSize" }; @@ -220,6 +222,17 @@ public class HeartbeatAlert extends BaseAlert implements Task { } } + private Set queryDomains() { + Set domains = new HashSet(); + ModelRequest request = new ModelRequest("cat", System.currentTimeMillis()); + + if (m_transactionService.isEligable(request)) { + ModelResponse response = m_transactionService.invoke(request); + domains.addAll(response.getModel().getDomainNames()); + } + return domains; + } + @Override public void run() { boolean active = true; @@ -234,7 +247,9 @@ public class HeartbeatAlert extends BaseAlert implements Task { long current = System.currentTimeMillis(); try { - for (String domain : m_projectService.findAllDomain()) { + Set domains = queryDomains(); + + for (String domain : domains) { try { processDomain(domain); } catch (Exception e) { diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryDataGenerator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryContentGenerator.java similarity index 89% rename from cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryDataGenerator.java rename to cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryContentGenerator.java index 5ab4e6fa5c5146f3a36e51bdc331a50fb018a9d1..a0cce83678e1cc645a4d00268e53a9b7b0a01cef 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryDataGenerator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryContentGenerator.java @@ -10,7 +10,7 @@ import org.unidal.lookup.annotation.Inject; import com.dianping.cat.home.alert.summary.entity.AlertSummary; -public class AlertSummaryDataGenerator extends SummaryDataGenerator { +public class AlertSummaryContentGenerator extends SummaryContentGenerator { @Inject private AlertSummaryGenerator m_alertSummaryGenerator; @@ -18,7 +18,7 @@ public class AlertSummaryDataGenerator extends SummaryDataGenerator { @Inject private AlertSummaryManager m_alertSummaryManager; - public static final String ID = "AlertSummaryDataGenerator"; + public static final String ID = "AlertSummaryContentGenerator"; @SuppressWarnings("unchecked") private Map gatherDomainsForDependBusiness(Map map) { @@ -64,4 +64,10 @@ public class AlertSummaryDataGenerator extends SummaryDataGenerator { public String getID() { return ID; } + + @Override + protected String getTemplateAddress() { + return "summary.ftl"; + } + } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryExecutor.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryExecutor.java index 71b956496670d29d118fad65dc9c3891abae21d8..59212853e0de37e1b4e62b3c2b491076789ceef2 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryExecutor.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryExecutor.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; -import java.util.Map; import org.unidal.lookup.annotation.Inject; @@ -19,23 +18,14 @@ import com.site.lookup.util.StringUtils; public class AlertSummaryExecutor { - @Inject(type = SummaryDataGenerator.class, value = AlertSummaryDataGenerator.ID) - private SummaryDataGenerator m_alertSummaryDataGenerator; + @Inject(type = SummaryContentGenerator.class, value = AlertSummaryContentGenerator.ID) + private SummaryContentGenerator m_alertSummaryContentGenerator; - @Inject(type = SummaryDataGenerator.class, value = FailureDataGenerator.ID) - private SummaryDataGenerator m_failureDataGenerator; + @Inject(type = SummaryContentGenerator.class, value = FailureSummaryContentGenerator.ID) + private SummaryContentGenerator m_failureSummaryContentGenerator; - @Inject(type = SummaryDataGenerator.class, value = AlterationDataGenerator.ID) - private SummaryDataGenerator m_alterationDataGenerator; - - @Inject(type = SummaryDecorator.class, value = AlertSummaryFTLDecorator.ID) - private SummaryDecorator m_alertSummaryDecorator; - - @Inject(type = SummaryDecorator.class, value = FailureDecorator.ID) - private SummaryDecorator m_failureDecorator; - - @Inject(type = SummaryDecorator.class, value = AlterationDecorator.ID) - private SummaryDecorator m_alterationDecorator; + @Inject(type = SummaryContentGenerator.class, value = AlterationSummaryContentGenerator.ID) + private SummaryContentGenerator m_alterationSummaryContentGenerator; @Inject private SenderManager m_sendManager; @@ -72,16 +62,13 @@ public class AlertSummaryExecutor { try { StringBuilder builder = new StringBuilder(); - Map summaryModel = m_alertSummaryDataGenerator.generateModel(domain, date); - String summaryContent = m_alertSummaryDecorator.generateHtml(summaryModel); + String summaryContent = m_alertSummaryContentGenerator.generateHtml(domain, date); builder.append(summaryContent); - Map failureModel = m_failureDataGenerator.generateModel(domain, date); - String failureContext = m_failureDecorator.generateHtml(failureModel); + String failureContext = m_failureSummaryContentGenerator.generateHtml(domain, date); builder.append(failureContext); - Map alterationModel = m_alterationDataGenerator.generateModel(domain, date); - String alterationContext = m_alterationDecorator.generateHtml(alterationModel); + String alterationContext = m_alterationSummaryContentGenerator.generateHtml(domain, date); builder.append(alterationContext); t.setStatus(Transaction.SUCCESS); diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryFTLDecorator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryFTLDecorator.java deleted file mode 100644 index 91fcf9f98512bc3fe15d9ed7c86a78c3ca969cc0..0000000000000000000000000000000000000000 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlertSummaryFTLDecorator.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.dianping.cat.report.task.alert.summary; - -public class AlertSummaryFTLDecorator extends SummaryDecorator { - - public static final String ID = "AlertSummaryFTLDecorator"; - - @Override - protected String getID() { - return ID; - } - - @Override - protected String getTemplateAddress() { - return "summary.ftl"; - } - -} diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDecorator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDecorator.java deleted file mode 100644 index bfd34f7673997e984c78ff7dd88e1b71583f263e..0000000000000000000000000000000000000000 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDecorator.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.dianping.cat.report.task.alert.summary; - -public class AlterationDecorator extends SummaryDecorator { - - public static final String ID = "AlterationDecorator"; - - @Override - protected String getID() { - return ID; - } - - @Override - protected String getTemplateAddress() { - return "alterationInfo.ftl"; - } - -} diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDataGenerator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationSummaryContentGenerator.java similarity index 82% rename from cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDataGenerator.java rename to cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationSummaryContentGenerator.java index 2a1a335278bfe95eec225969968b1f39db8c8085..ccf5d2879b077c39c4f1925daea8b71a3ddc02b9 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationDataGenerator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/AlterationSummaryContentGenerator.java @@ -13,13 +13,13 @@ import com.dianping.cat.home.dal.report.Alteration; import com.dianping.cat.home.dal.report.AlterationDao; import com.dianping.cat.home.dal.report.AlterationEntity; -public class AlterationDataGenerator extends SummaryDataGenerator { - - public static final String ID = "AlterationDataGenerator"; +public class AlterationSummaryContentGenerator extends SummaryContentGenerator { @Inject private AlterationDao m_alterationDao; + public static final String ID = "AlterationSummaryContentGenerator"; + @Override public Map generateModel(String domain, Date date) { Map dataMap = new HashMap(); @@ -36,13 +36,18 @@ public class AlterationDataGenerator extends SummaryDataGenerator { return dataMap; } + @Override + public String getID() { + return ID; + } + private Date getStartDate(Date date) { return new Date(date.getTime() - AlertSummaryExecutor.SUMMARY_DURATION); } @Override - public String getID() { - return ID; + protected String getTemplateAddress() { + return "alterationInfo.ftl"; } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDecorator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDecorator.java deleted file mode 100644 index 2fba00c8930f1976cc7840e0b84a9b144c851bd1..0000000000000000000000000000000000000000 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDecorator.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.dianping.cat.report.task.alert.summary; - -public class FailureDecorator extends SummaryDecorator { - - public static final String ID = "FailureDecorator"; - - @Override - protected String getID() { - return ID; - } - - @Override - protected String getTemplateAddress() { - return "errorInfo.ftl"; - } - -} diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDataGenerator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureSummaryContentGenerator.java similarity index 93% rename from cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDataGenerator.java rename to cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureSummaryContentGenerator.java index 98e6c67709a7e281511e7f2833b554fd5a1261d9..b06721f593dfe51ef522b969f78c408dfb13e911 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureDataGenerator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/FailureSummaryContentGenerator.java @@ -19,9 +19,9 @@ import com.dianping.cat.report.page.problem.ProblemStatistics.TypeStatistics; import com.dianping.cat.service.ModelRequest; import com.dianping.cat.service.ModelResponse; -public class FailureDataGenerator extends SummaryDataGenerator { +public class FailureSummaryContentGenerator extends SummaryContentGenerator { - public static final String ID = "FailureDataGenerator"; + public static final String ID = "FailureDecorator"; @Inject(type = ModelService.class, value = ProblemAnalyzer.ID) private ModelService m_service; @@ -89,4 +89,10 @@ public class FailureDataGenerator extends SummaryDataGenerator { public String getID() { return ID; } + + @Override + protected String getTemplateAddress() { + return "errorInfo.ftl"; + } + } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDecorator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryContentGenerator.java similarity index 75% rename from cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDecorator.java rename to cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryContentGenerator.java index 42e76c1030fb5ede7c6f559777df3c5c732d99c2..945e3157de22266a11fa80e59d808dc1ea519e83 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDecorator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryContentGenerator.java @@ -1,6 +1,7 @@ package com.dianping.cat.report.task.alert.summary; import java.io.StringWriter; +import java.util.Date; import java.util.Map; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; @@ -11,11 +12,14 @@ import com.dianping.cat.Cat; import freemarker.template.Configuration; import freemarker.template.Template; -public abstract class SummaryDecorator implements Initializable { +public abstract class SummaryContentGenerator implements Initializable { public Configuration m_configuration; - public String generateHtml(Map dataMap) { + protected abstract Map generateModel(String domain, Date date); + + public String generateHtml(String domain, Date date) { + Map dataMap = generateModel(domain, date); StringWriter sw = new StringWriter(5000); try { @@ -40,5 +44,5 @@ public abstract class SummaryDecorator implements Initializable { protected abstract String getTemplateAddress(); - protected abstract String getID(); + public abstract String getID(); } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDataGenerator.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDataGenerator.java deleted file mode 100644 index 9d8cdfb50187d2ec05ba16613d57842187ba5246..0000000000000000000000000000000000000000 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/summary/SummaryDataGenerator.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.dianping.cat.report.task.alert.summary; - -import java.util.Date; -import java.util.Map; - -public abstract class SummaryDataGenerator { - - public abstract Map generateModel(String domain, Date date); - - public abstract String getID(); - -} 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 e90ccf328eda40fea320872eb0985ae5b54ad2a0..4c272f877a172f4276174f9c964c5510190f66b7 100755 --- a/cat-home/src/main/resources/META-INF/plexus/components.xml +++ b/cat-home/src/main/resources/META-INF/plexus/components.xml @@ -2706,9 +2706,6 @@ com.dianping.cat.report.baseline.BaselineService - - com.dianping.cat.service.ProjectService - com.dianping.cat.report.task.alert.RemoteMetricReportService @@ -2727,6 +2724,12 @@ com.dianping.cat.report.page.model.spi.ModelService heartbeat + m_service + + + com.dianping.cat.report.page.model.spi.ModelService + transaction + m_transactionService @@ -2898,9 +2901,9 @@ - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlertSummaryDataGenerator - com.dianping.cat.report.task.alert.summary.AlertSummaryDataGenerator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlertSummaryContentGenerator + com.dianping.cat.report.task.alert.summary.AlertSummaryContentGenerator com.dianping.cat.report.task.alert.summary.AlertSummaryGenerator @@ -2911,9 +2914,9 @@ - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - FailureDataGenerator - com.dianping.cat.report.task.alert.summary.FailureDataGenerator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + FailureDecorator + com.dianping.cat.report.task.alert.summary.FailureSummaryContentGenerator com.dianping.cat.report.page.model.spi.ModelService @@ -2922,30 +2925,15 @@ - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlterationDataGenerator - com.dianping.cat.report.task.alert.summary.AlterationDataGenerator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlterationSummaryContentGenerator + com.dianping.cat.report.task.alert.summary.AlterationSummaryContentGenerator com.dianping.cat.home.dal.report.AlterationDao - - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlertSummaryFTLDecorator - com.dianping.cat.report.task.alert.summary.AlertSummaryFTLDecorator - - - com.dianping.cat.report.task.alert.summary.SummaryDecorator - FailureDecorator - com.dianping.cat.report.task.alert.summary.FailureDecorator - - - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlterationDecorator - com.dianping.cat.report.task.alert.summary.AlterationDecorator - com.dianping.cat.report.task.alert.summary.AlertSummaryExecutor com.dianping.cat.report.task.alert.summary.AlertSummaryExecutor @@ -2954,34 +2942,19 @@ com.dianping.cat.report.task.alert.sender.sender.SenderManager - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlertSummaryDataGenerator - m_alertSummaryDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - FailureDataGenerator - m_failureDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlterationDataGenerator - m_alterationDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlertSummaryFTLDecorator - m_alertSummaryDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlertSummaryContentGenerator + m_alertSummaryContentGenerator - com.dianping.cat.report.task.alert.summary.SummaryDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator FailureDecorator - m_failureDecorator + m_failureSummaryContentGenerator - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlterationDecorator - m_alterationDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlterationSummaryContentGenerator + m_alterationSummaryContentGenerator @@ -4100,34 +4073,19 @@ com.dianping.cat.report.task.alert.summary.AlertSummaryExecutor - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlertSummaryDataGenerator - m_alertSummaryDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - FailureDataGenerator - m_failureDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDataGenerator - AlterationDataGenerator - m_alterationDataGenerator - - - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlertSummaryFTLDecorator - m_alertSummaryDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlertSummaryContentGenerator + m_alertSummaryContentGenerator - com.dianping.cat.report.task.alert.summary.SummaryDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator FailureDecorator - m_failureDecorator + m_failureSummaryContentGenerator - com.dianping.cat.report.task.alert.summary.SummaryDecorator - AlterationDecorator - m_alterationDecorator + com.dianping.cat.report.task.alert.summary.SummaryContentGenerator + AlterationSummaryContentGenerator + m_alterationSummaryContentGenerator com.dianping.cat.report.task.alert.sender.sender.SenderManager diff --git a/cat-home/src/main/webapp/jsp/report/cache/cache.jsp b/cat-home/src/main/webapp/jsp/report/cache/cache.jsp index ad3bac8f725b2a1f6f8bd29a579f29186952c781..48cd574383536952b21354ac8bf5d02c7d5e8b80 100644 --- a/cat-home/src/main/webapp/jsp/report/cache/cache.jsp +++ b/cat-home/src/main/webapp/jsp/report/cache/cache.jsp @@ -77,9 +77,8 @@
- - - - - + + + + @@ -118,16 +118,10 @@ - - - - - - - - - - + + + + diff --git a/cat-home/src/main/webapp/jsp/report/cache/cacheHistory.jsp b/cat-home/src/main/webapp/jsp/report/cache/cacheHistory.jsp index a5f55d92c04ff783a1ce5efaa255159973e86157..f86d15289a191bc2af63ca336befe44d98616aab 100644 --- a/cat-home/src/main/webapp/jsp/report/cache/cacheHistory.jsp +++ b/cat-home/src/main/webapp/jsp/report/cache/cacheHistory.jsp @@ -70,9 +70,8 @@
Name Total${method}GetmGetAddRemove Missed Hit Rate(%) Avg(ms)${w:shorten(e.id, 80)} ${w:format(e.totalCount,'#,###,###,###,##0')}0${w:format(item.methodCounts[method],'#,###,###,###,##0')}${w:format(item.get,'#,###,###,###,##0')}${w:format(item.mget,'#,###,###,###,##0')}${w:format(item.add,'#,###,###,###,##0')}${w:format(item.remove,'#,###,###,###,##0')} ${item.missed} ${w:format(item.hited,'0.0000%')} ${w:format(e.avg,'0.0')}
- - - - - + + + + @@ -115,16 +115,10 @@ style="text-align: left; word-wrap: break-word; word-break: break-all;"> ${w:shorten(e.id, 80)} - - - - - - - - - - + + + +
Name Total${method}GetmGetAddRemove Missed Hit Rate(%) Avg(ms) ${w:format(e.totalCount,'#,###,###,###,##0')}0${w:format(item.methodCounts[method],'#,###,###,###,##0')}${w:format(item.get,'#,###,###,###,##0')}${w:format(item.mget,'#,###,###,###,##0')}${w:format(item.add,'#,###,###,###,##0')}${w:format(item.remove,'#,###,###,###,##0')} ${item.missed} ${w:format(item.hited,'0.0000%')} ${w:format(e.avg,'0.0')}