提交 3f3d94cb 编写于 作者: Y youyong205

modify the server config manager

上级 2ea4d385
......@@ -86,7 +86,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
.req(ReportDelegate.class, ID) //
.req(BucketManager.class, HourlyReportDao.class, HourlyReportContentDao.class) //
.config(E("name").value(ID)));
all.add(C(ReportDelegate.class, ID, EventDelegate.class).req(TaskManager.class));
all.add(C(ReportDelegate.class, ID, EventDelegate.class).req(TaskManager.class, ServerConfigManager.class));
return all;
}
......
......@@ -6,6 +6,7 @@ import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.ServerConfigManager;
import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.event.model.transform.DefaultNativeBuilder;
import com.dianping.cat.consumer.event.model.transform.DefaultNativeParser;
......@@ -19,6 +20,9 @@ public class EventDelegate implements ReportDelegate<EventReport> {
@Inject
private TaskManager m_taskManager;
@Inject
private ServerConfigManager m_manager;
@Override
public void afterLoad(Map<String, EventReport> reports) {
}
......@@ -47,7 +51,13 @@ public class EventDelegate implements ReportDelegate<EventReport> {
@Override
public boolean createHourlyTask(EventReport report) {
return m_taskManager.createTask(report.getStartTime(), report.getDomain(), EventAnalyzer.ID, TaskProlicy.ALL);
String domain = report.getDomain();
if (m_manager.validateDomain(domain)) {
return m_taskManager.createTask(report.getStartTime(), report.getDomain(), EventAnalyzer.ID, TaskProlicy.ALL);
}else{
return true;
}
}
@Override
......
......@@ -72,7 +72,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
for (String name : domains) {
try {
if (m_serverConfigManager.filterDomain(name) && !name.equals(Constants.ALL)) {
if (m_serverConfigManager.validateDomain(name) || Constants.FRONT_END.equals(domain)) {
TransactionReport report = m_transactionAnalyzer.getRawReport(name);
transactionReportVisitor.visitTransactionReport(report);
......@@ -94,7 +94,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
for (String name : domains) {
try {
if (m_serverConfigManager.filterDomain(name) && !name.equals(Constants.ALL)) {
if (m_serverConfigManager.validateDomain(name) || Constants.FRONT_END.equals(domain)) {
ProblemReport report = m_problemAnalyzer.getReport(name);
problemReportVisitor.visitProblemReport(report);
......
......@@ -110,6 +110,9 @@
<requirement>
<role>com.dianping.cat.task.TaskManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.ServerConfigManager</role>
</requirement>
</requirements>
</component>
<component>
......
......@@ -39,6 +39,8 @@ public class ServerConfigManager implements Initializable, LogEnabled {
private Set<String> m_unusedNames = new HashSet<String>();
private Set<String> m_invalidateDomains = new HashSet<String>();
public boolean discardTransaction(Transaction t) {
// pigeon default heartbeat is no use
String type = t.getType();
......@@ -249,6 +251,13 @@ public class ServerConfigManager implements Initializable, LogEnabled {
m_unusedNames.add("/inspect/healthcheck");
m_unusedNames.add("/MonitorServlet");
m_unusedNames.add("/monitorServlet?client=f5");
m_invalidateDomains.add("PhoenixAgent");
m_invalidateDomains.add("cat-agent");
m_invalidateDomains.add("AndroidCrashLog");
m_invalidateDomains.add("iOSCrashLog");
m_invalidateDomains.add(Constants.ALL);
m_invalidateDomains.add(Constants.FRONT_END);
}
public void initialize(File configFile) throws Exception {
......@@ -349,12 +358,8 @@ public class ServerConfigManager implements Initializable, LogEnabled {
}
}
public boolean filterDomain(String domain) {
return !domain.equals("PhoenixAgent") && !domain.equals("cat-agent") && !domain.equals(Constants.ALL);
}
public boolean validateDomain(String domain) {
return !domain.equals(Constants.FRONT_END) && filterDomain(domain);
return !m_invalidateDomains.contains(domain);
}
public boolean isOffline() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册