提交 1c5ea991 编写于 作者: J jialinsun

reslove conflicts

上级 e8ef7e66
......@@ -77,7 +77,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> 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<TopReport> 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);
......
......@@ -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);
}
}
......@@ -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);
......
......@@ -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<String> 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);
......
......@@ -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<String> SYSTEM_KEY_LIST = new ArrayList<String>(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<String> 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<String> 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<String> JVM_KEY_LIST = new ArrayList<String>(Arrays.asList("edenUsage:avg",
"oldUsage:avg", "permUsage:avg", "catalinaLogSize:sum"));
......@@ -131,8 +140,9 @@ public class SystemGraphCreator extends AbstractGraphCreator {
}
protected List<String> 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;
......
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<Context> {
} else {
minuteCount = payload.getMinuteCounts();
}
TopMetric displayTop = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager);
List<String> excludeDomains = Arrays.asList("FrontEnd");
TopMetric displayTop = new TopMetric(minuteCount, payload.getTopCounts(), m_configManager, excludeDomains);
displayTop.visitTopReport(report);
model.setTopReport(report);
......
......@@ -24,6 +24,8 @@ public class TopMetric extends BaseVisitor {
private ExceptionConfigManager m_configManager;
private List<String> 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<String> 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;
}
}
......
......@@ -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);
......
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
<domain id="Cat"/>
<domain id="FrontEnd"/>
</config>
......@@ -200,6 +200,7 @@
<select style="width: 200px;" name="domain" id="domain" ></select>
查询类型
<select style="width: 100px;" name="type" id="type" >
<option value="paasSystem">Paas系统</option>
<option value="system">系统</option>
<option value="jvm">JVM</option>
<option value="nginx">Nginx</option>
......
package com.dianping.cat.report.task.alert;
import com.dianping.cat.Cat;
public class ExceptionBuilder {
public static void main(String args[]) {
while (true) {
Cat.logError(new RuntimeException("just test for FrontEnd"));
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册