From 1c5ea99182fe7617e80f0c721cdb9ab7b9afe4b2 Mon Sep 17 00:00:00 2001 From: jialinsun Date: Tue, 29 Jul 2014 15:13:55 +0800 Subject: [PATCH] reslove conflicts --- .../cat/consumer/top/TopAnalyzer.java | 4 +-- .../com/dianping/cat/ServerConfigManager.java | 6 +++- .../java/com/dianping/cat/CatHomeModule.java | 5 ++- .../page/dependency/ExternalInfoBuilder.java | 8 ++++- .../page/system/graph/SystemGraphCreator.java | 34 ++++++++++++------- .../dianping/cat/report/page/top/Handler.java | 5 ++- .../cat/report/page/top/TopMetric.java | 16 +++++++-- .../task/alert/exception/ExceptionAlert.java | 4 +-- .../main/resources/META-INF/cat/client.xml | 2 +- .../src/main/webapp/jsp/report/system.jsp | 1 + .../report/task/alert/ExceptionBuilder.java | 16 +++++++++ 11 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 cat-home/src/test/java/com/dianping/cat/report/task/alert/ExceptionBuilder.java diff --git a/cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java b/cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java index c8dd57a7a..b15b21fd5 100644 --- a/cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java +++ b/cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java @@ -77,7 +77,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer implements L for (String name : domains) { try { - if (m_serverConfigManager.validateDomain(name) && !name.equals(Constants.ALL)) { + if (m_serverConfigManager.filterDomain(name) && !name.equals(Constants.ALL)) { TransactionReport report = m_transactionAnalyzer.getRawReport(name); transactionReportVisitor.visitTransactionReport(report); @@ -99,7 +99,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer implements L for (String name : domains) { try { - if (m_serverConfigManager.validateDomain(name) && !name.equals(Constants.ALL)) { + if (m_serverConfigManager.filterDomain(name) && !name.equals(Constants.ALL)) { ProblemReport report = m_problemAnalyzer.getReport(name); problemReportVisitor.visitProblemReport(report); diff --git a/cat-core/src/main/java/com/dianping/cat/ServerConfigManager.java b/cat-core/src/main/java/com/dianping/cat/ServerConfigManager.java index bba0954b9..e48af99ef 100644 --- a/cat-core/src/main/java/com/dianping/cat/ServerConfigManager.java +++ b/cat-core/src/main/java/com/dianping/cat/ServerConfigManager.java @@ -339,8 +339,12 @@ public class ServerConfigManager implements Initializable, LogEnabled { } } + public boolean filterDomain(String domain) { + return !domain.equals("PhoenixAgent") && !domain.equals(Constants.ALL); + } + public boolean validateDomain(String domain) { - return !domain.equals("PhoenixAgent") && !domain.equals(Constants.FRONT_END) && !domain.equals(Constants.ALL); + return !domain.equals(Constants.FRONT_END) && filterDomain(domain); } } diff --git a/cat-home/src/main/java/com/dianping/cat/CatHomeModule.java b/cat-home/src/main/java/com/dianping/cat/CatHomeModule.java index 7803b14e3..115866f89 100644 --- a/cat-home/src/main/java/com/dianping/cat/CatHomeModule.java +++ b/cat-home/src/main/java/com/dianping/cat/CatHomeModule.java @@ -50,12 +50,15 @@ public class CatHomeModule extends AbstractModule { Threads.forGroup("Cat").start(domainNavManager); Threads.forGroup("Cat").start(taskConsumer); } + + ExceptionAlert exceptionAlert = ctx.lookup(ExceptionAlert.class); + Threads.forGroup("Cat").start(exceptionAlert); if (serverConfigManager.isAlertMachine() && !serverConfigManager.isLocalMode()) { BusinessAlert metricAlert = ctx.lookup(BusinessAlert.class); NetworkAlert networkAlert = ctx.lookup(NetworkAlert.class); SystemAlert systemAlert = ctx.lookup(SystemAlert.class); - ExceptionAlert exceptionAlert = ctx.lookup(ExceptionAlert.class); +// ExceptionAlert exceptionAlert = ctx.lookup(ExceptionAlert.class); ProjectUpdateTask productUpdateTask = ctx.lookup(ProjectUpdateTask.class); ThirdPartyAlert thirdPartyAlert = ctx.lookup(ThirdPartyAlert.class); ThirdPartyAlertBuilder alertBuildingTask = ctx.lookup(ThirdPartyAlertBuilder.class); diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/dependency/ExternalInfoBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/page/dependency/ExternalInfoBuilder.java index 4ac30abd6..ea4fc6033 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/dependency/ExternalInfoBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/dependency/ExternalInfoBuilder.java @@ -2,6 +2,7 @@ package com.dianping.cat.report.page.dependency; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.LinkedHashMap; @@ -13,6 +14,7 @@ import java.util.Set; import org.unidal.lookup.annotation.Inject; import com.dianping.cat.Constants; +import com.dianping.cat.ServerConfigManager; import com.dianping.cat.consumer.problem.ProblemAnalyzer; import com.dianping.cat.consumer.problem.model.entity.ProblemReport; import com.dianping.cat.consumer.top.TopAnalyzer; @@ -48,6 +50,9 @@ public class ExternalInfoBuilder { @Inject private ExceptionConfigManager m_configManager; + @Inject + private ServerConfigManager m_serverConfigManager; + private SimpleDateFormat m_dateFormat = new SimpleDateFormat("yyyyMMddHH"); private SimpleDateFormat m_sdf = new SimpleDateFormat("HH:mm"); @@ -114,7 +119,8 @@ public class ExternalInfoBuilder { int minuteCount = payload.getMinuteCounts(); int minute = model.getMinute(); TopReport report = queryTopReport(payload); - TopMetric topMetric = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager); + List excludeDomains = Arrays.asList("FrontEnd"); + TopMetric topMetric = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager, excludeDomains); Date end = new Date(payload.getDate() + TimeUtil.ONE_MINUTE * minute); Date start = new Date(end.getTime() - TimeUtil.ONE_MINUTE * minuteCount); diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/system/graph/SystemGraphCreator.java b/cat-home/src/main/java/com/dianping/cat/report/page/system/graph/SystemGraphCreator.java index 9f4d82cd4..ae0e68698 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/system/graph/SystemGraphCreator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/system/graph/SystemGraphCreator.java @@ -20,22 +20,31 @@ import com.dianping.cat.report.page.LineChart; public class SystemGraphCreator extends AbstractGraphCreator { + public static final String PAAS_SYSTEM = "paasSystem"; + public static final String SYSTEM_TYPE = "system"; public static final String JVM_TYPE = "jvm"; public static final String NGINX_TYPE = "nginx"; - private static final List SYSTEM_KEY_LIST = new ArrayList(Arrays.asList("sysCpu:avg", - "iowaitCpu:avg", "niceCpu:avg", "stealCpu:avg", "userCpu:avg", "softirqCpu:avg", "idleCpu:avg", "irqCpu:avg", - "/-usage:avg", "/-freeInodes:avg", "/-read:sum", "/-write:sum", "/data-usage:avg", "/data-freeInodes:avg", - "/data-read:sum", "/data-write:sum", "/usr-usage:avg", "/usr-freeInodes:avg", "/usr-read:sum", - "/usr-write:sum", "/var-usage:avg", "/var-freeInodes:avg", "/var-read:sum", "/var-write:sum", - "eth0-inFlow:sum", "eth0-outFlow:sum", "eth0-dropped:sum", "eth0-errors:sum", "eth0-collisions:sum", - "lo-inFlow:sum", "lo-outFlow:sum", "swapUsage:avg", "loadAvg1:avg", "loadAvg5:avg", "totalMem:avg", - "usedMem:avg", "freeMem:avg", "sharedMem:avg", "buffersMem:avg", "cachedMem:avg", "totalProcess:avg", - "runningProcess:avg", "swapUsage:avg", "establishedTcp:avg", "loginUsers:avg", "uptime:avg", "md5Change:avg", - "hostNameChange:avg", "hostIpChange:avg")); + private static final List SYSTEM_KEY_LIST = Arrays.asList("sysCpu:avg", "iowaitCpu:avg", "niceCpu:avg", + "stealCpu:avg", "userCpu:avg", "softirqCpu:avg", "idleCpu:avg", "irqCpu:avg", "/-usage:avg", + "/-freeInodes:avg", "/-read:sum", "/-write:sum", "/data-usage:avg", "/data-freeInodes:avg", "/data-read:sum", + "/data-write:sum", "/usr-usage:avg", "/usr-freeInodes:avg", "/usr-read:sum", "/usr-write:sum", + "/var-usage:avg", "/var-freeInodes:avg", "/var-read:sum", "/var-write:sum", "eth0-inFlow:sum", + "eth0-outFlow:sum", "eth0-dropped:sum", "eth0-errors:sum", "eth0-collisions:sum", "lo-inFlow:sum", + "lo-outFlow:sum", "swapUsage:avg", "loadAvg1:avg", "loadAvg5:avg", "totalMem:avg", "usedMem:avg", + "freeMem:avg", "sharedMem:avg", "buffersMem:avg", "cachedMem:avg", "totalProcess:avg", "runningProcess:avg", + "swapUsage:avg", "establishedTcp:avg", "loginUsers:avg", "uptime:avg", "md5Change:avg", "hostNameChange:avg", + "hostIpChange:avg"); + + private static final List PAAS_SYSTEM_KEY_LIST = Arrays.asList("sysCpu:avg", "userCpu:avg", "cpuUsage:avg", + "/-usage:avg", "/-freeInodes:avg", "/-read:sum", "/-write:sum", "eth0-inFlow:sum", "eth0-outFlow:sum", + "eth0-dropped:sum", "eth0-errors:sum", "eth0-collisions:sum", "lo-inFlow:sum", "lo-outFlow:sum", + "swapUsage:avg", "totalMem:avg", "usedMem:avg", "freeMem:avg", "sharedMem:avg", "buffersMem:avg", + "cachedMem:avg", "totalProcess:avg", "runningProcess:avg", "swapUsage:avg", "establishedTcp:avg", + "loginUsers:avg", "uptime:avg", "md5Change:avg"); private static final List JVM_KEY_LIST = new ArrayList(Arrays.asList("edenUsage:avg", "oldUsage:avg", "permUsage:avg", "catalinaLogSize:sum")); @@ -131,8 +140,9 @@ public class SystemGraphCreator extends AbstractGraphCreator { } protected List fetchExpectedKeys(String type) { - - if (SYSTEM_TYPE.equalsIgnoreCase(type)) { + if (PAAS_SYSTEM.equalsIgnoreCase(type)) { + return PAAS_SYSTEM_KEY_LIST; + } else if (SYSTEM_TYPE.equalsIgnoreCase(type)) { return SYSTEM_KEY_LIST; } else if (JVM_TYPE.equalsIgnoreCase(type)) { return JVM_KEY_LIST; diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/top/Handler.java b/cat-home/src/main/java/com/dianping/cat/report/page/top/Handler.java index a0a69f6cd..67ed613e5 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/top/Handler.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/top/Handler.java @@ -1,7 +1,9 @@ package com.dianping.cat.report.page.top; import java.io.IOException; +import java.util.Arrays; import java.util.Date; +import java.util.List; import javax.servlet.ServletException; @@ -79,7 +81,8 @@ public class Handler implements PageHandler { } else { minuteCount = payload.getMinuteCounts(); } - TopMetric displayTop = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager); + List excludeDomains = Arrays.asList("FrontEnd"); + TopMetric displayTop = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager, excludeDomains); displayTop.visitTopReport(report); model.setTopReport(report); diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java b/cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java index 03478ed2e..7c183ffcd 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java @@ -24,6 +24,8 @@ public class TopMetric extends BaseVisitor { private ExceptionConfigManager m_configManager; + private List m_excludedDomains; + private String m_currentDomain; private Date m_currentStart; @@ -60,6 +62,11 @@ public class TopMetric extends BaseVisitor { m_cache = new MetricItem(count, tops); } + public TopMetric(int count, int tops, ExceptionConfigManager configManager, List excludedDomains) { + this(count, tops, configManager); + m_excludedDomains = excludedDomains; + } + public MetricItem getCache() { return m_cache; } @@ -101,7 +108,12 @@ public class TopMetric extends BaseVisitor { @Override public void visitDomain(Domain domain) { m_currentDomain = domain.getName(); - super.visitDomain(domain); + + if (m_excludedDomains == null) { + super.visitDomain(domain); + } else if (!m_excludedDomains.contains(m_currentDomain)) { + super.visitDomain(domain); + } } @Override @@ -258,7 +270,7 @@ public class TopMetric extends BaseVisitor { public int compare(Item o1, Item o2) { int alert = o2.getAlert() - o1.getAlert(); int value = (int) (o2.getValue() - o1.getValue()); - + return alert == 0 ? value : alert; } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/ExceptionAlert.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/ExceptionAlert.java index 286e04beb..a92e53479 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/ExceptionAlert.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/ExceptionAlert.java @@ -114,8 +114,8 @@ public class ExceptionAlert implements Task { builder.buildDate(new Date()).buildLevel(exception.getType()).buildContent(exception.toString()); builder.buildMetric(metricName).buildProductline(domain).buildType(getName()).buildGroup(domain); AlertEntity alertEntity = builder.getAlertEntity(); - - m_dispatcherManager.send(alertEntity); + + //m_dispatcherManager.send(alertEntity); } } catch (Exception e) { Cat.logError(e); diff --git a/cat-home/src/main/resources/META-INF/cat/client.xml b/cat-home/src/main/resources/META-INF/cat/client.xml index 18f0324bd..27d57cd8f 100755 --- a/cat-home/src/main/resources/META-INF/cat/client.xml +++ b/cat-home/src/main/resources/META-INF/cat/client.xml @@ -1,3 +1,3 @@ - + diff --git a/cat-home/src/main/webapp/jsp/report/system.jsp b/cat-home/src/main/webapp/jsp/report/system.jsp index 2271d354f..b936ab42e 100644 --- a/cat-home/src/main/webapp/jsp/report/system.jsp +++ b/cat-home/src/main/webapp/jsp/report/system.jsp @@ -200,6 +200,7 @@ 查询类型