提交 3ba906aa 编写于 作者: Y youyong

modify the last hour report domain show bug

上级 69826337
......@@ -2,6 +2,7 @@ package com.dianping.cat.report.page.cache;
import java.io.IOException;
import java.util.Date;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -21,6 +22,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionName;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.consumer.transaction.model.entity.TransactionType;
import com.dianping.cat.helper.CatString;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.model.event.EventReportMerger;
import com.dianping.cat.report.page.model.spi.ModelRequest;
......@@ -216,7 +218,16 @@ public class Handler implements PageHandler<Context> {
merger.visitTransactionReport(memcachedReport);
merger.visitTransactionReport(kvdbReport);
merger.visitTransactionReport(tuangouReport);
return merger.getTransactionReport();
TransactionReport report = merger.getTransactionReport();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "transaction");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
request.setProperty("type", type);
ModelResponse<TransactionReport> response = m_transactionService.invoke(request);
......
......@@ -3,6 +3,7 @@ package com.dianping.cat.report.page.cross;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -16,6 +17,7 @@ import org.unidal.web.mvc.annotation.PayloadMeta;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.helper.CatString;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.cross.display.HostInfo;
import com.dianping.cat.report.page.cross.display.MethodInfo;
......@@ -54,6 +56,14 @@ public class Handler implements PageHandler<Context> {
if (m_service.isEligable(request)) {
ModelResponse<CrossReport> response = m_service.invoke(request);
CrossReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "cross");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable cross service registered for " + request + "!");
......
......@@ -2,6 +2,7 @@ package com.dianping.cat.report.page.database;
import java.io.IOException;
import java.util.Date;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -45,6 +46,14 @@ public class Handler implements PageHandler<Context> {
if (m_service.isEligable(request)) {
ModelResponse<DatabaseReport> response = m_service.invoke(request);
DatabaseReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDatabaseNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "database");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable database service registered for " + request + "!");
......
......@@ -5,6 +5,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -23,6 +24,7 @@ import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.event.model.entity.EventType;
import com.dianping.cat.consumer.event.model.entity.Machine;
import com.dianping.cat.helper.CatString;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.graph.GraphBuilder;
import com.dianping.cat.report.page.PieChart;
......@@ -136,6 +138,15 @@ public class Handler implements PageHandler<Context> {
ModelResponse<EventReport> response = m_service.invoke(request);
EventReport report = response.getModel();
calculateTps(payload, report);
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "event");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable event service registered for " + request + "!");
......
......@@ -18,6 +18,7 @@ import org.unidal.web.mvc.annotation.PayloadMeta;
import com.dianping.cat.Cat;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.home.dal.report.Graph;
import com.dianping.cat.home.dal.report.GraphDao;
import com.dianping.cat.home.dal.report.GraphEntity;
......@@ -27,6 +28,7 @@ import com.dianping.cat.report.page.model.spi.ModelPeriod;
import com.dianping.cat.report.page.model.spi.ModelRequest;
import com.dianping.cat.report.page.model.spi.ModelResponse;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.view.StringSortHelper;
import com.google.gson.Gson;
......@@ -46,6 +48,9 @@ public class Handler implements PageHandler<Context> {
@Inject
private ServerConfigManager m_manager;
@Inject
private ReportService m_reportService;
@Inject(type = ModelService.class, value = "heartbeat")
private ModelService<HeartbeatReport> m_service;
......@@ -95,6 +100,13 @@ public class Handler implements PageHandler<Context> {
ModelResponse<HeartbeatReport> response = m_service.invoke(request);
HeartbeatReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "heartbeat");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable ip service registered for " + request + "!");
......
......@@ -2,6 +2,7 @@ package com.dianping.cat.report.page.matrix;
import java.io.IOException;
import java.util.Date;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -14,6 +15,7 @@ import org.unidal.web.mvc.annotation.PayloadMeta;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.model.spi.ModelRequest;
import com.dianping.cat.report.page.model.spi.ModelResponse;
......@@ -45,6 +47,14 @@ public class Handler implements PageHandler<Context> {
if (m_service.isEligable(request)) {
ModelResponse<MatrixReport> response = m_service.invoke(request);
MatrixReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "matrix");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable matrix service registered for " + request + "!");
......
package com.dianping.cat.report.page.model.cross;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
......@@ -43,14 +40,7 @@ public class LocalCrossService extends BaseLocalModelService<CrossReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new CrossReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.database;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.database.model.entity.DatabaseReport;
......@@ -43,14 +40,7 @@ public class LocalDatabaseService extends BaseLocalModelService<DatabaseReport>
report = getLocalReport(date, database);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new DatabaseReport(database);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, database);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.event;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.event.model.entity.EventReport;
......@@ -43,14 +40,7 @@ public class LocalEventService extends BaseLocalModelService<EventReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new EventReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.heartbeat;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
......@@ -43,14 +40,7 @@ public class LocalHeartbeatService extends BaseLocalModelService<HeartbeatReport
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new HeartbeatReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.matrix;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
......@@ -43,14 +40,7 @@ public class LocalMatrixService extends BaseLocalModelService<MatrixReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new MatrixReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.problem;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
......@@ -43,14 +40,7 @@ public class LocalProblemService extends BaseLocalModelService<ProblemReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new ProblemReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.sql;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.sql.model.entity.SqlReport;
......@@ -43,14 +40,7 @@ public class LocalSqlService extends BaseLocalModelService<SqlReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new SqlReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
package com.dianping.cat.report.page.model.state;
import java.util.Date;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.state.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.ModelPeriod;
import com.dianping.cat.report.page.model.spi.ModelRequest;
import com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService;
......@@ -39,11 +36,7 @@ public class LocalStateService extends BaseLocalModelService<StateReport> {
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
report = new StateReport(domain);
report.setStartTime(start);
report.setEndTime(new Date(date + TimeUtil.ONE_HOUR));
}
}
......
package com.dianping.cat.report.page.model.transaction;
import java.util.Date;
import java.util.Set;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
......@@ -43,14 +40,7 @@ public class LocalTransactionService extends BaseLocalModelService<TransactionRe
report = getLocalReport(date, domain);
if (report == null) {
Date start = new Date(date);
Date end = new Date(date + TimeUtil.ONE_HOUR);
report = new TransactionReport(domain);
Set<String> domains = m_reportSerivce.queryAllDomainNames(start, end, domain);
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
}
......
......@@ -7,6 +7,7 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -22,6 +23,7 @@ import com.dianping.cat.configuration.server.entity.Domain;
import com.dianping.cat.consumer.problem.model.entity.Machine;
import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import com.dianping.cat.helper.CatString;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.model.spi.ModelPeriod;
import com.dianping.cat.report.page.model.spi.ModelRequest;
......@@ -75,6 +77,13 @@ public class Handler implements PageHandler<Context> {
ModelResponse<ProblemReport> response = m_service.invoke(request);
ProblemReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "problem");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligible problem service registered for " + request + "!");
......
......@@ -2,6 +2,7 @@ package com.dianping.cat.report.page.sql;
import java.io.IOException;
import java.util.Date;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -50,6 +51,15 @@ public class Handler implements PageHandler<Context> {
if (m_service.isEligable(request)) {
ModelResponse<SqlReport> response = m_service.invoke(request);
SqlReport report = response.getModel();
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "sql");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable sql service registered for " + request + "!");
......
......@@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import javax.servlet.ServletException;
......@@ -22,6 +23,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionName;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.consumer.transaction.model.entity.TransactionType;
import com.dianping.cat.helper.CatString;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.graph.GraphBuilder;
import com.dianping.cat.report.page.PieChart;
......@@ -134,6 +136,14 @@ public class Handler implements PageHandler<Context> {
ModelResponse<TransactionReport> response = m_service.invoke(request);
TransactionReport report = response.getModel();
calculateTps(payload, report);
if (payload.getPeriod().isLast()) {
Set<String> domains = m_reportService.queryAllDomainNames(new Date(payload.getDate()),
new Date(payload.getDate() + TimeUtil.ONE_DAY), "transaction");
Set<String> domainNames = report.getDomainNames();
domainNames.addAll(domains);
}
return report;
} else {
throw new RuntimeException("Internal error: no eligable transaction service registered for " + request + "!");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册