提交 744d11c6 编写于 作者: Y youyong205

refactor report service

上级 008f6ae3
......@@ -8,7 +8,7 @@ import org.unidal.lookup.configuration.Component;
import com.dianping.cat.ServerConfigManager;
import com.dianping.cat.home.dal.alarm.MailRecordDao;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.system.notify.ReportRender;
import com.dianping.cat.system.notify.ReportRenderImpl;
import com.dianping.cat.system.notify.ScheduledMailTask;
......@@ -26,7 +26,7 @@ class AlarmComponentConfigurator extends AbstractResourceConfigurator {
all.add(C(ScheduledMailTask.class).//
req(ReportRender.class, MailSMS.class)//
.req(ReportService.class, ScheduledManager.class)//
.req(ReportServiceManager.class, ScheduledManager.class)//
.req(MailRecordDao.class));
return all;
......
......@@ -56,7 +56,7 @@ import com.dianping.cat.report.page.state.StateGraphs;
import com.dianping.cat.report.page.system.graph.SystemGraphCreator;
import com.dianping.cat.report.page.userMonitor.graph.DefaultUserMonitGraphCreator;
import com.dianping.cat.report.page.userMonitor.graph.UserMonitorGraphCreator;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.alert.AlertInfo;
import com.dianping.cat.report.task.alert.DataChecker;
import com.dianping.cat.report.task.alert.DefaultDataChecker;
......@@ -159,7 +159,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all.add(C(PayloadNormalizer.class).req(ServerConfigManager.class));
all.add(C(StateGraphs.class, StateGraphs.class).//
req(ReportService.class));
req(ReportServiceManager.class));
all.add(C(DomainNavManager.class).req(ProjectDao.class));
all.add(C(EventCollectManager.class).req(EventDao.class, ServerConfigManager.class));
......@@ -244,7 +244,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all.add(C(IpService.class));
all.add(C(CachedMetricReportService.class, CachedMetricReportServiceImpl.class)
.req(ModelService.class, MetricAnalyzer.ID).req(ReportService.class).req(IpService.class));
.req(ModelService.class, MetricAnalyzer.ID).req(ReportServiceManager.class).req(IpService.class));
all.add(C(DataExtractor.class, DataExtractorImpl.class));
all.add(C(MetricDataFetcher.class, MetricDataFetcherImpl.class));
all.add(C(AlertInfo.class).req(MetricConfigManager.class));
......@@ -269,7 +269,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
ProductLineConfigManager.class, MetricGroupConfigManager.class, AlertInfo.class));
all.add(C(NetGraphManager.class).req(ServerConfigManager.class, RemoteMetricReportService.class).req(
ReportService.class, NetGraphBuilder.class, AlertInfo.class, NetGraphConfigManager.class));
ReportServiceManager.class, NetGraphBuilder.class, AlertInfo.class, NetGraphConfigManager.class));
all.add(C(MailSender.class).req(MailSMS.class));
......
......@@ -6,7 +6,18 @@ import java.util.List;
import org.unidal.lookup.configuration.AbstractResourceConfigurator;
import org.unidal.lookup.configuration.Component;
import com.dianping.cat.Constants;
import com.dianping.cat.consumer.advanced.dal.BusinessReportDao;
import com.dianping.cat.consumer.cross.CrossAnalyzer;
import com.dianping.cat.consumer.dependency.DependencyAnalyzer;
import com.dianping.cat.consumer.event.EventAnalyzer;
import com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer;
import com.dianping.cat.consumer.matrix.MatrixAnalyzer;
import com.dianping.cat.consumer.metric.MetricAnalyzer;
import com.dianping.cat.consumer.problem.ProblemAnalyzer;
import com.dianping.cat.consumer.state.StateAnalyzer;
import com.dianping.cat.consumer.top.TopAnalyzer;
import com.dianping.cat.consumer.transaction.TransactionAnalyzer;
import com.dianping.cat.core.dal.DailyReportDao;
import com.dianping.cat.core.dal.HourlyReportContentDao;
import com.dianping.cat.core.dal.HourlyReportDao;
......@@ -16,10 +27,11 @@ import com.dianping.cat.home.dal.report.DailyReportContentDao;
import com.dianping.cat.home.dal.report.MonthlyReportContentDao;
import com.dianping.cat.home.dal.report.WeeklyReportContentDao;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.service.impl.AlertReportService;
import com.dianping.cat.report.service.impl.BugReportService;
import com.dianping.cat.report.service.impl.CrossReportService;
import com.dianping.cat.report.service.impl.DefaultReportService;
import com.dianping.cat.report.service.impl.DefaultReportServiceManager;
import com.dianping.cat.report.service.impl.DependencyReportService;
import com.dianping.cat.report.service.impl.EventReportService;
import com.dianping.cat.report.service.impl.HeartbeatReportService;
......@@ -39,59 +51,58 @@ public class ReportServiceComponentConfigurator extends AbstractResourceConfigur
public List<Component> defineComponents() {
List<Component> all = new ArrayList<Component>();
all.add(C(TransactionReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(EventReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ProblemReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(MatrixReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(CrossReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(StateReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, TransactionAnalyzer.ID, TransactionReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, EventAnalyzer.ID, EventReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, ProblemAnalyzer.ID, ProblemReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, MatrixAnalyzer.ID, MatrixReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, CrossAnalyzer.ID, CrossReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, StateAnalyzer.ID, StateReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(BugReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(UtilizationReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ServiceReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(HeavyReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(NetTopologyReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(AlertReportService.class).req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class,
MonthlyReportDao.class, HourlyReportContentDao.class, DailyReportContentDao.class,
WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_BUG, BugReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_UTILIZATION, UtilizationReportService.class).req(
HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class,
HourlyReportContentDao.class, DailyReportContentDao.class, WeeklyReportContentDao.class,
MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_SERVICE, ServiceReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_HEAVY, HeavyReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_NET_TOPOLOGY, NetTopologyReportService.class).req(
HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class,
HourlyReportContentDao.class, DailyReportContentDao.class, WeeklyReportContentDao.class,
MonthlyReportContentDao.class));
all.add(C(ReportService.class, Constants.REPORT_ALERT, AlertReportService.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class, HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
all.add(C(TopReportService.class).req(HourlyReportDao.class, HourlyReportContentDao.class));
all.add(C(DependencyReportService.class).req(HourlyReportDao.class, HourlyReportContentDao.class));
all.add(C(HeartbeatReportService.class).req(HourlyReportDao.class, HourlyReportContentDao.class));
all.add(C(MetricReportService.class).req(HourlyReportDao.class, BusinessReportDao.class));
all.add(C(ReportService.class, TopAnalyzer.ID, TopReportService.class).req(HourlyReportDao.class,
HourlyReportContentDao.class));
all.add(C(ReportService.class, DependencyAnalyzer.ID, DependencyReportService.class).req(HourlyReportDao.class,
HourlyReportContentDao.class));
all.add(C(ReportService.class, HeartbeatAnalyzer.ID, HeartbeatReportService.class).req(HourlyReportDao.class,
HourlyReportContentDao.class));
all.add(C(ReportService.class, MetricAnalyzer.ID, MetricReportService.class).req(HourlyReportDao.class,
BusinessReportDao.class));
all.add(C(ReportService.class, DefaultReportService.class)
.req(HourlyReportDao.class, DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class)
.req(HourlyReportContentDao.class, DailyReportContentDao.class, WeeklyReportContentDao.class,
MonthlyReportContentDao.class)
.req(TransactionReportService.class, EventReportService.class, ProblemReportService.class)
.req(MatrixReportService.class, DependencyReportService.class)
.req(TopReportService.class, StateReportService.class, CrossReportService.class)
.req(HeartbeatReportService.class, MetricReportService.class, BugReportService.class)
.req(HeavyReportService.class, ServiceReportService.class, UtilizationReportService.class)
.req(NetTopologyReportService.class, AlertReportService.class));
all.add(C(ReportServiceManager.class, DefaultReportServiceManager.class).req(HourlyReportDao.class,
DailyReportDao.class, WeeklyReportDao.class, MonthlyReportDao.class).req(HourlyReportContentDao.class,
DailyReportContentDao.class, WeeklyReportContentDao.class, MonthlyReportContentDao.class));
return all;
}
......
......@@ -55,7 +55,7 @@ import com.dianping.cat.report.page.model.transaction.CompositeTransactionServic
import com.dianping.cat.report.page.model.transaction.HistoricalTransactionService;
import com.dianping.cat.report.page.model.transaction.LocalTransactionService;
import com.dianping.cat.report.service.CachedReportTask;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.storage.BucketManager;
import com.dianping.cat.storage.dump.LocalMessageBucketManager;
import com.dianping.cat.storage.dump.MessageBucketManager;
......@@ -69,7 +69,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "transaction-historical", HistoricalTransactionService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, TransactionAnalyzer.ID, CompositeTransactionService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "transaction-historical" }, "m_services"));
......@@ -78,7 +78,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "event-historical", HistoricalEventService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, EventAnalyzer.ID, CompositeEventService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "event-historical" }, "m_services"));
......@@ -87,7 +87,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "problem-historical", HistoricalProblemService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, ProblemAnalyzer.ID, CompositeProblemService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "problem-historical" }, "m_services"));
......@@ -96,7 +96,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "heartbeat-historical", HistoricalHeartbeatService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, HeartbeatAnalyzer.ID, CompositeHeartbeatService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "heartbeat-historical" }, "m_services"));
......@@ -105,7 +105,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "matrix-historical", HistoricalMatrixService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, MatrixAnalyzer.ID, CompositeMatrixService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "matrix-historical" }, "m_services"));
......@@ -114,7 +114,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "state-historical", HistoricalStateService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, StateAnalyzer.ID, CompositeStateService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "state-historical" }, "m_services"));
......@@ -123,7 +123,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "cross-historical", HistoricalCrossService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, CrossAnalyzer.ID, CompositeCrossService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "cross-historical" }, "m_services"));
......@@ -132,7 +132,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "top-historical", HistoricalTopService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, TopAnalyzer.ID, CompositeTopService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "top-historical" }, "m_services"));
......@@ -141,7 +141,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "dependency-historical", HistoricalDependencyService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, DependencyAnalyzer.ID, CompositeDependencyService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "dependency-historical" }, "m_services"));
......@@ -150,7 +150,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(BucketManager.class) //
.req(MessageConsumer.class));
all.add(C(ModelService.class, "metric-historical", HistoricalMetricService.class) //
.req(BucketManager.class, ReportService.class));
.req(BucketManager.class, ReportServiceManager.class));
all.add(C(ModelService.class, MetricAnalyzer.ID, CompositeMetricService.class) //
.req(ServerConfigManager.class) //
.req(ModelService.class, new String[] { "metric-historical" }, "m_services"));
......@@ -168,7 +168,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.req(MessageBucketManager.class, HdfsMessageBucketManager.ID, "m_hdfsBucketManager") //
.req(MessageCodec.class, "html"));
all.add(C(CachedReportTask.class).req(ReportService.class, ServerConfigManager.class));
all.add(C(CachedReportTask.class).req(ReportServiceManager.class, ServerConfigManager.class));
return all;
}
}
......@@ -23,7 +23,7 @@ import com.dianping.cat.report.baseline.impl.DefaultBaselineService;
import com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder;
import com.dianping.cat.report.page.network.nettopology.NetGraphBuilder;
import com.dianping.cat.report.page.transaction.TransactionMergeManager;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.DefaultTaskConsumer;
import com.dianping.cat.report.task.alert.exception.AlertReportBuilder;
import com.dianping.cat.report.task.bug.BugReportBuilder;
......@@ -42,6 +42,7 @@ import com.dianping.cat.report.task.network.NetTopologyReportBuilder;
import com.dianping.cat.report.task.problem.ProblemGraphCreator;
import com.dianping.cat.report.task.problem.ProblemMerger;
import com.dianping.cat.report.task.problem.ProblemReportBuilder;
import com.dianping.cat.report.task.router.RouterConfigBuilder;
import com.dianping.cat.report.task.service.ServiceReportBuilder;
import com.dianping.cat.report.task.spi.ReportFacade;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -52,6 +53,7 @@ import com.dianping.cat.report.task.transaction.TransactionReportBuilder;
import com.dianping.cat.report.task.utilization.UtilizationReportBuilder;
import com.dianping.cat.system.config.ExceptionConfigManager;
import com.dianping.cat.system.config.NetGraphConfigManager;
import com.dianping.cat.system.config.RouterConfigManager;
public class TaskComponentConfigurator extends AbstractResourceConfigurator {
@Override
......@@ -76,50 +78,53 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator {
all.add(C(BaselineConfigManager.class, BaselineConfigManager.class));
all.add(C(ReportTaskBuilder.class, MetricBaselineReportBuilder.ID, MetricBaselineReportBuilder.class)
.req(ReportService.class, MetricPointParser.class)//
.req(ReportServiceManager.class, MetricPointParser.class)//
.req(MetricConfigManager.class, ProductLineConfigManager.class)//
.req(BaselineCreator.class, BaselineService.class, BaselineConfigManager.class));
all.add(C(ReportTaskBuilder.class, TransactionReportBuilder.ID, TransactionReportBuilder.class) //
.req(GraphDao.class, DailyGraphDao.class, ReportService.class)//
.req(GraphDao.class, DailyGraphDao.class, ReportServiceManager.class)//
.req(TransactionGraphCreator.class, TransactionMerger.class));
all.add(C(ReportTaskBuilder.class, EventReportBuilder.ID, EventReportBuilder.class) //
.req(GraphDao.class, DailyGraphDao.class, ReportService.class)//
.req(GraphDao.class, DailyGraphDao.class, ReportServiceManager.class)//
.req(EventGraphCreator.class, EventMerger.class));//
all.add(C(ReportTaskBuilder.class, ProblemReportBuilder.ID, ProblemReportBuilder.class) //
.req(GraphDao.class, DailyGraphDao.class, ReportService.class)//
.req(GraphDao.class, DailyGraphDao.class, ReportServiceManager.class)//
.req(ProblemGraphCreator.class, ProblemMerger.class));
all.add(C(ReportTaskBuilder.class, HeartbeatReportBuilder.ID, HeartbeatReportBuilder.class) //
.req(GraphDao.class, ReportService.class) //
.req(GraphDao.class, ReportServiceManager.class) //
.req(HeartbeatGraphCreator.class));
all.add(C(ReportTaskBuilder.class, BugReportBuilder.ID, BugReportBuilder.class).req(ReportService.class));
all.add(C(ReportTaskBuilder.class, BugReportBuilder.ID, BugReportBuilder.class).req(ReportServiceManager.class));
all.add(C(ReportTaskBuilder.class, ServiceReportBuilder.ID, ServiceReportBuilder.class).req(ReportService.class,
all.add(C(ReportTaskBuilder.class, ServiceReportBuilder.ID, ServiceReportBuilder.class).req(ReportServiceManager.class,
DomainManager.class));
all.add(C(ReportTaskBuilder.class, MatrixReportBuilder.ID, MatrixReportBuilder.class).req(ReportService.class));
all.add(C(ReportTaskBuilder.class, MatrixReportBuilder.ID, MatrixReportBuilder.class).req(ReportServiceManager.class));
all.add(C(ReportTaskBuilder.class, CrossReportBuilder.ID, CrossReportBuilder.class).req(ReportService.class));
all.add(C(ReportTaskBuilder.class, CrossReportBuilder.ID, CrossReportBuilder.class).req(ReportServiceManager.class));
all.add(C(ReportTaskBuilder.class, StateReportBuilder.ID, StateReportBuilder.class).req(ReportService.class));
all.add(C(ReportTaskBuilder.class, StateReportBuilder.ID, StateReportBuilder.class).req(ReportServiceManager.class));
all.add(C(ReportTaskBuilder.class, AlertReportBuilder.ID, AlertReportBuilder.class).req(ReportService.class,
all.add(C(ReportTaskBuilder.class, RouterConfigBuilder.ID, RouterConfigBuilder.class).req(ReportServiceManager.class,
RouterConfigManager.class));
all.add(C(ReportTaskBuilder.class, AlertReportBuilder.ID, AlertReportBuilder.class).req(ReportServiceManager.class,
ExceptionConfigManager.class));
all.add(C(ReportTaskBuilder.class, HeavyReportBuilder.ID, HeavyReportBuilder.class).req(ReportService.class));
all.add(C(ReportTaskBuilder.class, HeavyReportBuilder.ID, HeavyReportBuilder.class).req(ReportServiceManager.class));
all.add(C(ReportTaskBuilder.class, UtilizationReportBuilder.ID, UtilizationReportBuilder.class).req(
ReportService.class, TransactionMergeManager.class, ServerConfigManager.class, DomainManager.class));
ReportServiceManager.class, TransactionMergeManager.class, ServerConfigManager.class, DomainManager.class));
all.add(C(ReportTaskBuilder.class, DependencyReportBuilder.ID, DependencyReportBuilder.class).req(
ReportService.class, TopologyGraphBuilder.class, TopologyGraphDao.class));
ReportServiceManager.class, TopologyGraphBuilder.class, TopologyGraphDao.class));
all.add(C(ReportTaskBuilder.class, NetTopologyReportBuilder.ID, NetTopologyReportBuilder.class).req(
ReportService.class, NetGraphBuilder.class, NetGraphConfigManager.class));
ReportServiceManager.class, NetGraphBuilder.class, NetGraphConfigManager.class));
all.add(C(ReportFacade.class));
......
......@@ -19,7 +19,7 @@ import com.dianping.cat.report.page.cdn.graph.CdnReportConvertor;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.page.system.graph.SystemReportConvertor;
import com.dianping.cat.report.page.userMonitor.graph.UserMonitorReportConvertor;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.IpService;
import com.dianping.cat.service.ModelPeriod;
import com.dianping.cat.service.ModelRequest;
......@@ -28,7 +28,7 @@ import com.dianping.cat.service.ModelResponse;
public class CachedMetricReportServiceImpl implements CachedMetricReportService {
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private ModelService<MetricReport> m_service;
......
......@@ -34,7 +34,7 @@ import com.dianping.cat.report.page.event.TpsStatistics;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.page.transaction.MergeAllMachine;
import com.dianping.cat.report.page.transaction.MergeAllName;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
......@@ -47,7 +47,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private PayloadNormalizer m_normalizePayload;
......
......@@ -26,7 +26,7 @@ import com.dianping.cat.report.page.cross.display.MethodInfo;
import com.dianping.cat.report.page.cross.display.ProjectInfo;
import com.dianping.cat.report.page.cross.display.TypeDetailInfo;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelPeriod;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
......@@ -36,7 +36,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private PayloadNormalizer m_normalizePayload;
......
......@@ -26,7 +26,7 @@ import com.dianping.cat.report.page.dependency.graph.GraphConstrant;
import com.dianping.cat.report.page.externalError.EventCollectManager;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.page.top.TopMetric;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
import com.dianping.cat.system.config.ExceptionConfigManager;
......@@ -43,7 +43,7 @@ public class ExternalInfoBuilder {
private EventCollectManager m_eventManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private ExceptionConfigManager m_configManager;
......
......@@ -31,7 +31,7 @@ import com.dianping.cat.report.page.PieChart;
import com.dianping.cat.report.page.PieChart.Item;
import com.dianping.cat.report.page.event.DisplayNames.EventNameModel;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
import com.dianping.cat.system.config.DomainGroupConfigManager;
......@@ -48,7 +48,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private EventMergeManager m_mergeManager;
......
......@@ -22,7 +22,7 @@ import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.graph.GraphBuilder;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.view.StringSortHelper;
import com.dianping.cat.service.ModelPeriod;
import com.dianping.cat.service.ModelRequest;
......@@ -39,7 +39,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject(type = ModelService.class, value = HeartbeatAnalyzer.ID)
private ModelService<HeartbeatReport> m_service;
......
......@@ -18,14 +18,14 @@ import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
public class Handler implements PageHandler<Context> {
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private JspViewer m_jspViewer;
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.consumer.cross.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalCrossService extends BaseHistoricalModelService<CrossRepo
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalCrossService() {
super(CrossAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.dependency.model.entity.DependencyReport;
import com.dianping.cat.consumer.dependency.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalDependencyService extends BaseHistoricalModelService<Depe
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalDependencyService() {
super(DependencyAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.event.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalEventService extends BaseHistoricalModelService<EventRepo
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalEventService() {
super(EventAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.consumer.heartbeat.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalHeartbeatService extends BaseHistoricalModelService<Heart
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalHeartbeatService() {
super(HeartbeatAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.consumer.matrix.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalMatrixService extends BaseHistoricalModelService<MatrixRe
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalMatrixService() {
super(MatrixAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.metric.model.entity.MetricReport;
import com.dianping.cat.consumer.metric.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalMetricService extends BaseHistoricalModelService<MetricRe
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalMetricService() {
super(MetricAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import com.dianping.cat.consumer.problem.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalProblemService extends BaseHistoricalModelService<Problem
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalProblemService() {
super(ProblemAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ 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.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalStateService extends BaseHistoricalModelService<StateRepo
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalStateService() {
super(StateAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.top.model.entity.TopReport;
import com.dianping.cat.consumer.top.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalTopService extends BaseHistoricalModelService<TopReport>
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalTopService() {
super(TopAnalyzer.ID);
......
......@@ -9,7 +9,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.consumer.transaction.model.transform.DefaultSaxParser;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.model.spi.internal.BaseHistoricalModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.storage.Bucket;
import com.dianping.cat.storage.BucketManager;
......@@ -19,7 +19,7 @@ public class HistoricalTransactionService extends BaseHistoricalModelService<Tra
private BucketManager m_bucketManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public HistoricalTransactionService() {
super(TransactionAnalyzer.ID);
......
......@@ -30,7 +30,7 @@ import com.dianping.cat.home.nettopo.entity.NetGraphSet;
import com.dianping.cat.home.nettopo.entity.NetTopology;
import com.dianping.cat.message.Transaction;
import com.dianping.cat.report.page.JsonBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.alert.AlertInfo;
import com.dianping.cat.report.task.alert.AlertInfo.AlertMetric;
import com.dianping.cat.report.task.alert.RemoteMetricReportService;
......@@ -46,7 +46,7 @@ public class NetGraphManager implements Initializable, LogEnabled {
private ServerConfigManager m_serverConfigManager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private NetGraphBuilder m_netGraphBuilder;
......@@ -83,7 +83,8 @@ public class NetGraphManager implements Initializable, LogEnabled {
} else if (startTime == currentHours - TimeUtil.ONE_HOUR) {
netGraphSet = m_lastNetGraphSet;
} else {
netGraphSet = m_reportService.queryNetTopologyReport(Constants.CAT, start, null);
netGraphSet = m_reportService.queryNetTopologyReport(Constants.CAT, start, new Date(start.getTime()
+ TimeUtil.ONE_HOUR));
}
if (netGraphSet != null) {
......
......@@ -30,7 +30,7 @@ import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.JsonBuilder;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelPeriod;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
......@@ -52,7 +52,7 @@ public class Handler implements PageHandler<Context> {
private ServerConfigManager m_manager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject(type = ModelService.class, value = ProblemAnalyzer.ID)
private ModelService<ProblemReport> m_service;
......
......@@ -26,7 +26,7 @@ import com.dianping.cat.report.page.JsonBuilder;
import com.dianping.cat.report.page.LineChart;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
......@@ -35,7 +35,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private StateGraphs m_stateGraphs;
......
......@@ -13,12 +13,12 @@ import com.dianping.cat.consumer.state.model.entity.ProcessDomain;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.page.LineChart;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
public class StateGraphs {
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
public LineChart buildGraph(StateReport report, String domain, Date start, Date end, String reportType, String key,
String ip) {
......
......@@ -46,7 +46,7 @@ import com.dianping.cat.home.service.entity.ServiceReport;
import com.dianping.cat.home.utilization.entity.UtilizationReport;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.alert.summary.AlertSummaryExecutor;
import com.dianping.cat.report.task.heavy.HeavyReportMerger.ServiceComparator;
import com.dianping.cat.report.task.heavy.HeavyReportMerger.UrlComparator;
......@@ -57,7 +57,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private ProjectDao m_projectDao;
......
......@@ -18,7 +18,7 @@ import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.ReportPage;
import com.dianping.cat.report.page.PayloadNormalizer;
import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
import com.dianping.cat.system.config.ExceptionConfigManager;
......@@ -28,7 +28,7 @@ public class Handler implements PageHandler<Context> {
private JspViewer m_jspViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject(type = ModelService.class, value = TopAnalyzer.ID)
private ModelService<TopReport> m_service;
......
......@@ -35,7 +35,7 @@ import com.dianping.cat.report.page.transaction.GraphPayload.AverageTimePayload;
import com.dianping.cat.report.page.transaction.GraphPayload.DurationPayload;
import com.dianping.cat.report.page.transaction.GraphPayload.FailurePayload;
import com.dianping.cat.report.page.transaction.GraphPayload.HitPayload;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse;
import com.dianping.cat.system.config.DomainGroupConfigManager;
......@@ -55,7 +55,7 @@ public class Handler implements PageHandler<Context> {
private XmlViewer m_xmlViewer;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private TransactionMergeManager m_mergeManager;
......
......@@ -24,7 +24,7 @@ import com.dianping.cat.home.dal.report.DailyReportContentDao;
import com.dianping.cat.home.dal.report.MonthlyReportContentDao;
import com.dianping.cat.home.dal.report.WeeklyReportContentDao;
public abstract class AbstractReportService<T> implements LogEnabled {
public abstract class AbstractReportService<T> implements LogEnabled, ReportService<T> {
@Inject
protected HourlyReportDao m_hourlyReportDao;
......@@ -120,11 +120,23 @@ public abstract class AbstractReportService<T> implements LogEnabled {
return domains;
}
public abstract T queryDailyReport(String domain, Date start, Date end);
/* (non-Javadoc)
* @see com.dianping.cat.report.service.RReportService#queryDailyReport(java.lang.String, java.util.Date, java.util.Date)
*/
@Override
public abstract T queryDailyReport(String domain, Date start, Date end);
public abstract T queryHourlyReport(String domain, Date start, Date end);
/* (non-Javadoc)
* @see com.dianping.cat.report.service.RReportService#queryHourlyReport(java.lang.String, java.util.Date, java.util.Date)
*/
@Override
public abstract T queryHourlyReport(String domain, Date start, Date end);
public abstract T queryMonthlyReport(String domain, Date start);
/* (non-Javadoc)
* @see com.dianping.cat.report.service.RReportService#queryMonthlyReport(java.lang.String, java.util.Date)
*/
@Override
public abstract T queryMonthlyReport(String domain, Date start);
public T queryReport(String domain, Date start, Date end) {
int type = computeQueryType(start, end);
......@@ -147,6 +159,10 @@ public abstract class AbstractReportService<T> implements LogEnabled {
return report;
}
public abstract T queryWeeklyReport(String domain, Date start);
/* (non-Javadoc)
* @see com.dianping.cat.report.service.RReportService#queryWeeklyReport(java.lang.String, java.util.Date)
*/
@Override
public abstract T queryWeeklyReport(String domain, Date start);
}
......@@ -37,7 +37,7 @@ public class CachedReportTask implements Task, LogEnabled {
private long m_end;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private ServerConfigManager m_configManger;
......
package com.dianping.cat.report.service;
import java.util.Date;
import java.util.Set;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.consumer.dependency.model.entity.DependencyReport;
import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.consumer.metric.model.entity.MetricReport;
import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.top.model.entity.TopReport;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.HourlyReport;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.home.alert.report.entity.AlertReport;
import com.dianping.cat.home.bug.entity.BugReport;
import com.dianping.cat.home.heavy.entity.HeavyReport;
import com.dianping.cat.home.nettopo.entity.NetGraphSet;
import com.dianping.cat.home.service.entity.ServiceReport;
import com.dianping.cat.home.utilization.entity.UtilizationReport;
public interface ReportService {
public boolean insertDailyReport(DailyReport report, byte[] content);
public boolean insertHourlyReport(HourlyReport report, byte[] content);
public boolean insertMonthlyReport(MonthlyReport report, byte[] content);
public boolean insertWeeklyReport(WeeklyReport report, byte[] content);
public Set<String> queryAllDomainNames(Date start, Date end, String reportName);
public BugReport queryBugReport(String domain, Date start, Date end);
public CrossReport queryCrossReport(String domain, Date start, Date end);
public DependencyReport queryDependencyReport(String domain, Date start, Date end);
public EventReport queryEventReport(String domain, Date start, Date end);
public HeartbeatReport queryHeartbeatReport(String domain, Date start, Date end);
public HeavyReport queryHeavyReport(String domain, Date start, Date end);
public AlertReport queryAlertReport(String domain, Date start, Date end);
public MatrixReport queryMatrixReport(String domain, Date start, Date end);
public MetricReport queryMetricReport(String domain, Date start, Date end);
public ProblemReport queryProblemReport(String domain, Date start, Date end);
public ServiceReport queryServiceReport(String domain, Date start, Date end);
public StateReport queryStateReport(String domain, Date start, Date end);
public TopReport queryTopReport(String domain, Date start, Date end);
public TransactionReport queryTransactionReport(String domain, Date start, Date end);
public UtilizationReport queryUtilizationReport(String domain, Date start, Date end);
public NetGraphSet queryNetTopologyReport(String domain, Date start, Date end);
}
package com.dianping.cat.report.service;
import java.util.Date;
import java.util.Set;
public interface ReportService<T> {
public Set<String> queryAllDomainNames(Date start, Date end, String name);
public T queryDailyReport(String domain, Date start, Date end);
public T queryHourlyReport(String domain, Date start, Date end);
public T queryMonthlyReport(String domain, Date start);
public T queryWeeklyReport(String domain, Date start);
public T queryReport(String domain, Date start, Date end);
}
\ No newline at end of file
package com.dianping.cat.report.service;
import java.util.Date;
import java.util.Set;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.consumer.dependency.model.entity.DependencyReport;
import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.consumer.metric.model.entity.MetricReport;
import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.top.model.entity.TopReport;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.HourlyReport;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.home.alert.report.entity.AlertReport;
import com.dianping.cat.home.bug.entity.BugReport;
import com.dianping.cat.home.heavy.entity.HeavyReport;
import com.dianping.cat.home.nettopo.entity.NetGraphSet;
import com.dianping.cat.home.service.entity.ServiceReport;
import com.dianping.cat.home.utilization.entity.UtilizationReport;
public interface ReportServiceManager {
public boolean insertDailyReport(DailyReport report, byte[] content);
public boolean insertHourlyReport(HourlyReport report, byte[] content);
public boolean insertMonthlyReport(MonthlyReport report, byte[] content);
public boolean insertWeeklyReport(WeeklyReport report, byte[] content);
public Set<String> queryAllDomainNames(Date start, Date end, String reportName);
public BugReport queryBugReport(String domain, Date start, Date end);
public CrossReport queryCrossReport(String domain, Date start, Date end);
public DependencyReport queryDependencyReport(String domain, Date start, Date end);
public EventReport queryEventReport(String domain, Date start, Date end);
public HeartbeatReport queryHeartbeatReport(String domain, Date start, Date end);
public HeavyReport queryHeavyReport(String domain, Date start, Date end);
public AlertReport queryAlertReport(String domain, Date start, Date end);
public MatrixReport queryMatrixReport(String domain, Date start, Date end);
public MetricReport queryMetricReport(String domain, Date start, Date end);
public ProblemReport queryProblemReport(String domain, Date start, Date end);
public ServiceReport queryServiceReport(String domain, Date start, Date end);
public StateReport queryStateReport(String domain, Date start, Date end);
public TopReport queryTopReport(String domain, Date start, Date end);
public TransactionReport queryTransactionReport(String domain, Date start, Date end);
public UtilizationReport queryUtilizationReport(String domain, Date start, Date end);
public NetGraphSet queryNetTopologyReport(String domain, Date start, Date end);
}
package com.dianping.cat.report.service.impl;
import java.util.Date;
import java.util.Map;
import java.util.Set;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.unidal.dal.jdbc.DalException;
import org.unidal.lookup.ContainerHolder;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.Cat;
import com.dianping.cat.Constants;
import com.dianping.cat.consumer.cross.CrossAnalyzer;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.consumer.dependency.DependencyAnalyzer;
import com.dianping.cat.consumer.dependency.model.entity.DependencyReport;
import com.dianping.cat.consumer.event.EventAnalyzer;
import com.dianping.cat.consumer.event.model.entity.EventReport;
import com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer;
import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.consumer.matrix.MatrixAnalyzer;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.consumer.metric.MetricAnalyzer;
import com.dianping.cat.consumer.metric.model.entity.MetricReport;
import com.dianping.cat.consumer.problem.ProblemAnalyzer;
import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import com.dianping.cat.consumer.state.StateAnalyzer;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.top.TopAnalyzer;
import com.dianping.cat.consumer.top.model.entity.TopReport;
import com.dianping.cat.consumer.transaction.TransactionAnalyzer;
import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.DailyReportDao;
......@@ -42,8 +57,10 @@ import com.dianping.cat.home.nettopo.entity.NetGraphSet;
import com.dianping.cat.home.service.entity.ServiceReport;
import com.dianping.cat.home.utilization.entity.UtilizationReport;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
public class DefaultReportService implements ReportService {
@SuppressWarnings({ "rawtypes", "unchecked" })
public class DefaultReportServiceManager extends ContainerHolder implements ReportServiceManager, Initializable {
@Inject
private HourlyReportDao m_hourlyReportDao;
......@@ -69,53 +86,7 @@ public class DefaultReportService implements ReportService {
@Inject
private MonthlyReportContentDao m_monthlyReportContentDao;
@Inject
private TransactionReportService m_transactionReportService;
@Inject
private EventReportService m_eventReportService;
@Inject
private ProblemReportService m_problemReportService;
@Inject
private HeartbeatReportService m_heartbeatReportService;
@Inject
private CrossReportService m_crossReportService;
@Inject
private MatrixReportService m_matrixReportService;
@Inject
private DependencyReportService m_dependencyReportService;
@Inject
private TopReportService m_topReportService;
@Inject
private BugReportService m_bugReportService;
@Inject
private HeavyReportService m_heavyReportService;
@Inject
private AlertReportService m_alertReportService;
@Inject
private ServiceReportService m_serviceReportService;
@Inject
private StateReportService m_stateReportService;
@Inject
private MetricReportService m_metricReportService;
@Inject
private UtilizationReportService m_utilizationReportService;
@Inject
private NetTopologyReportService m_netTopologyReportService;
private Map<String, ReportService> m_reportServices;
@Override
public boolean insertDailyReport(DailyReport report, byte[] content) {
......@@ -225,74 +196,113 @@ public class DefaultReportService implements ReportService {
}
public Set<String> queryAllDomainNames(Date start, Date end, String name) {
return m_transactionReportService.queryAllDomainNames(start, end, name);
ReportService<TransactionReport> reportService = m_reportServices.get(TransactionAnalyzer.ID);
return reportService.queryAllDomainNames(start, end, name);
}
public BugReport queryBugReport(String domain, Date start, Date end) {
return m_bugReportService.queryReport(domain, start, end);
ReportService<BugReport> reportService = m_reportServices.get(Constants.REPORT_BUG);
return reportService.queryReport(domain, start, end);
}
public CrossReport queryCrossReport(String domain, Date start, Date end) {
return m_crossReportService.queryReport(domain, start, end);
ReportService<CrossReport> reportService = m_reportServices.get(CrossAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public DependencyReport queryDependencyReport(String domain, Date start, Date end) {
return m_dependencyReportService.queryReport(domain, start, end);
ReportService<DependencyReport> reportService = m_reportServices.get(DependencyAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public EventReport queryEventReport(String domain, Date start, Date end) {
return m_eventReportService.queryReport(domain, start, end);
ReportService<EventReport> reportService = m_reportServices.get(EventAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public HeartbeatReport queryHeartbeatReport(String domain, Date start, Date end) {
return m_heartbeatReportService.queryReport(domain, start, end);
ReportService<HeartbeatReport> reportService = m_reportServices.get(HeartbeatAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public HeavyReport queryHeavyReport(String domain, Date start, Date end) {
return m_heavyReportService.queryReport(domain, start, end);
ReportService<HeavyReport> reportService = m_reportServices.get(Constants.REPORT_HEAVY);
return reportService.queryReport(domain, start, end);
}
public MatrixReport queryMatrixReport(String domain, Date start, Date end) {
return m_matrixReportService.queryReport(domain, start, end);
ReportService<MatrixReport> reportService = m_reportServices.get(MatrixAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public MetricReport queryMetricReport(String domain, Date start, Date end) {
return m_metricReportService.queryReport(domain, start, end);
ReportService<MetricReport> reportService = m_reportServices.get(MetricAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public ProblemReport queryProblemReport(String domain, Date start, Date end) {
return m_problemReportService.queryReport(domain, start, end);
ReportService<ProblemReport> reportService = m_reportServices.get(ProblemAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public ServiceReport queryServiceReport(String domain, Date start, Date end) {
return m_serviceReportService.queryReport(domain, start, end);
ReportService<ServiceReport> reportService = m_reportServices.get(Constants.REPORT_SERVICE);
return reportService.queryReport(domain, start, end);
}
public StateReport queryStateReport(String domain, Date start, Date end) {
return m_stateReportService.queryReport(domain, start, end);
ReportService<StateReport> reportService = m_reportServices.get(StateAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public TopReport queryTopReport(String domain, Date start, Date end) {
return m_topReportService.queryReport(domain, start, end);
ReportService<TopReport> reportService = m_reportServices.get(TopAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
public TransactionReport queryTransactionReport(String domain, Date start, Date end) {
return m_transactionReportService.queryReport(domain, start, end);
ReportService<TransactionReport> reportService = m_reportServices.get(TransactionAnalyzer.ID);
return reportService.queryReport(domain, start, end);
}
@Override
public UtilizationReport queryUtilizationReport(String domain, Date start, Date end) {
return m_utilizationReportService.queryReport(domain, start, end);
ReportService<UtilizationReport> reportService = m_reportServices.get(Constants.REPORT_UTILIZATION);
return reportService.queryReport(domain, start, end);
}
@Override
public NetGraphSet queryNetTopologyReport(String domain, Date start, Date end) {
return m_netTopologyReportService.queryHourlyReport(domain, start, end);
ReportService<NetGraphSet> reportService = m_reportServices.get(Constants.REPORT_NET_TOPOLOGY);
return reportService.queryReport(domain, start, end);
}
@Override
public AlertReport queryAlertReport(String domain, Date start, Date end) {
return m_alertReportService.queryReport(domain, start, end);
ReportService<AlertReport> reportService = m_reportServices.get(Constants.REPORT_ALERT);
return reportService.queryReport(domain, start, end);
}
@Override
public void initialize() throws InitializationException {
m_reportServices = lookupMap(ReportService.class);
}
}
package com.dianping.cat.report.service.impl;
import java.util.Date;
import org.unidal.dal.jdbc.DalException;
import org.unidal.dal.jdbc.DalNotFoundException;
import com.dianping.cat.Cat;
import com.dianping.cat.Constants;
import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.DailyReportEntity;
import com.dianping.cat.home.dal.report.DailyReportContent;
import com.dianping.cat.home.dal.report.DailyReportContentEntity;
import com.dianping.cat.home.router.entity.RouterConfig;
import com.dianping.cat.home.router.transform.DefaultNativeParser;
import com.dianping.cat.report.service.AbstractReportService;
public class RouterConfigService extends AbstractReportService<RouterConfig> {
@Override
public RouterConfig makeReport(String domain, Date start, Date end) {
RouterConfig report = new RouterConfig(domain);
report.setStartTime(start);
report.setEndTime(end);
return report;
}
@Override
public RouterConfig queryDailyReport(String domain, Date start, Date end) {
long startTime = start.getTime();
String name = Constants.REPORT_ROUTER;
try {
DailyReport report = m_dailyReportDao.findByDomainNamePeriod(domain, name, new Date(startTime),
DailyReportEntity.READSET_FULL);
RouterConfig config = queryFromDailyBinary(report.getId(), domain);
return config;
} catch (DalNotFoundException e) {
m_logger.warn(this.getClass().getSimpleName() + " " + domain + " " + start + " " + end);
} catch (Exception e) {
Cat.logError(e);
}
return null;
}
private RouterConfig queryFromDailyBinary(int id, String domain) throws DalException {
DailyReportContent content = m_dailyReportContentDao.findByPK(id, DailyReportContentEntity.READSET_FULL);
if (content != null) {
return DefaultNativeParser.parse(content.getContent());
} else {
return new RouterConfig(domain);
}
}
@Override
public RouterConfig queryHourlyReport(String domain, Date start, Date end) {
throw new RuntimeException("router report don't support hourly report");
}
@Override
public RouterConfig queryMonthlyReport(String domain, Date start) {
throw new RuntimeException("router report don't support monthly report");
}
@Override
public RouterConfig queryWeeklyReport(String domain, Date start) {
throw new RuntimeException("router report don't support weekly report");
}
}
......@@ -15,7 +15,7 @@ import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.home.alert.report.entity.AlertReport;
import com.dianping.cat.home.alert.report.transform.DefaultNativeBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
import com.dianping.cat.system.config.ExceptionConfigManager;
......@@ -25,7 +25,7 @@ public class AlertReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_ALERT;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private ExceptionConfigManager m_exceptionConfigManager;
......
......@@ -19,7 +19,7 @@ import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.home.bug.entity.BugReport;
import com.dianping.cat.home.bug.entity.Domain;
import com.dianping.cat.home.bug.transform.DefaultNativeBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -28,7 +28,7 @@ public class BugReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_BUG;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
private SimpleDateFormat m_hourly_formate = new SimpleDateFormat("yyyyMMddHH");
......
......@@ -15,7 +15,7 @@ import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -24,7 +24,7 @@ public class CrossReportBuilder implements ReportTaskBuilder {
public static final String ID = CrossAnalyzer.ID;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Override
public boolean buildDailyTask(String name, String domain, Date period) {
......
......@@ -16,7 +16,7 @@ import com.dianping.cat.home.dal.report.TopologyGraphDao;
import com.dianping.cat.home.dependency.graph.entity.TopologyGraph;
import com.dianping.cat.home.dependency.graph.transform.DefaultNativeBuilder;
import com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
public class DependencyReportBuilder implements ReportTaskBuilder {
......@@ -24,7 +24,7 @@ public class DependencyReportBuilder implements ReportTaskBuilder {
public static final String ID = DependencyAnalyzer.ID;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private TopologyGraphBuilder m_graphBuilder;
......
......@@ -22,7 +22,7 @@ import com.dianping.cat.core.dal.GraphDao;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -37,7 +37,7 @@ public class EventReportBuilder implements ReportTaskBuilder {
protected DailyGraphDao m_dailyGraphDao;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private EventGraphCreator m_eventGraphCreator;
......
......@@ -12,7 +12,7 @@ import com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport;
import com.dianping.cat.core.dal.Graph;
import com.dianping.cat.core.dal.GraphDao;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
public class HeartbeatReportBuilder implements ReportTaskBuilder {
......@@ -23,7 +23,7 @@ public class HeartbeatReportBuilder implements ReportTaskBuilder {
protected GraphDao m_graphDao;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private HeartbeatGraphCreator m_heartbeatGraphCreator;
......
......@@ -17,7 +17,7 @@ import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.home.heavy.entity.HeavyReport;
import com.dianping.cat.home.heavy.transform.DefaultNativeBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -26,7 +26,7 @@ public class HeavyReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_HEAVY;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Override
public boolean buildDailyTask(String name, String domain, Date period) {
......
......@@ -16,7 +16,7 @@ import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -25,7 +25,7 @@ public class MatrixReportBuilder implements ReportTaskBuilder {
public static final String ID = MatrixAnalyzer.ID;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Override
public boolean buildDailyTask(String name, String domain, Date period) {
......
......@@ -23,7 +23,7 @@ import com.dianping.cat.report.baseline.BaselineConfig;
import com.dianping.cat.report.baseline.BaselineConfigManager;
import com.dianping.cat.report.baseline.BaselineCreator;
import com.dianping.cat.report.baseline.BaselineService;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.alert.MetricType;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -32,7 +32,7 @@ public class MetricBaselineReportBuilder implements ReportTaskBuilder, LogEnable
public static final String ID = MetricAnalyzer.ID;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
protected MetricConfigManager m_configManager;
......
......@@ -21,7 +21,7 @@ import com.dianping.cat.home.nettopo.entity.NetGraphSet;
import com.dianping.cat.home.nettopo.entity.NetTopology;
import com.dianping.cat.home.nettopo.transform.DefaultNativeBuilder;
import com.dianping.cat.report.page.network.nettopology.NetGraphBuilder;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.alert.AlertInfo.AlertMetric;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
import com.dianping.cat.system.config.NetGraphConfigManager;
......@@ -31,7 +31,7 @@ public class NetTopologyReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_NET_TOPOLOGY;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private NetGraphBuilder m_netGraphBuilder;
......
......@@ -23,7 +23,7 @@ import com.dianping.cat.core.dal.GraphDao;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -38,7 +38,7 @@ public class ProblemReportBuilder implements ReportTaskBuilder {
protected DailyGraphDao m_dailyGraphDao;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private ProblemGraphCreator m_problemGraphCreator;
......
......@@ -3,6 +3,7 @@ package com.dianping.cat.report.task.router;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
......@@ -14,15 +15,48 @@ import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.state.model.transform.BaseVisitor;
import com.dianping.cat.helper.MapUtils;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.home.router.entity.DefaultServer;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
import com.dianping.cat.system.config.RouterConfigManager;
public class RouterConfigBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_ROUTER;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private RouterConfigManager m_configManager;
private Map<String, Long> queryServers() {
List<DefaultServer> servers = m_configManager.getRouterConfig().getDefaultServers();
Map<String, Long> result = new HashMap<String, Long>();
for (DefaultServer server : servers) {
if (server.isEnable()) {
result.put(server.getId(), 0L);
}
}
return result;
}
private String findMinProcessServer(Map<String, Long> maps) {
long min = Long.MAX_VALUE;
String result = null;
for (Entry<String, Long> entry : maps.entrySet()) {
Long value = entry.getValue();
if (value < min) {
result = entry.getKey();
min = value;
}
}
return result;
}
@Override
public boolean buildDailyTask(String name, String domain, Date period) {
......@@ -42,6 +76,7 @@ public class RouterConfigBuilder implements ReportTaskBuilder {
}
};
numbers = MapUtils.sortMap(numbers, compator);
return false;
}
......
......@@ -24,7 +24,7 @@ import com.dianping.cat.home.service.entity.ServiceReport;
import com.dianping.cat.home.service.transform.DefaultNativeBuilder;
import com.dianping.cat.report.page.cross.display.ProjectInfo;
import com.dianping.cat.report.page.cross.display.TypeDetailInfo;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -33,7 +33,7 @@ public class ServiceReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_SERVICE;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private DomainManager m_domainManager;
......
......@@ -15,7 +15,7 @@ import com.dianping.cat.core.dal.DailyReport;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -24,7 +24,7 @@ public class StateReportBuilder implements ReportTaskBuilder {
public static final String ID = StateAnalyzer.ID;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Override
public boolean buildDailyTask(String name, String domain, Date period) {
......
......@@ -25,7 +25,7 @@ import com.dianping.cat.core.dal.GraphDao;
import com.dianping.cat.core.dal.MonthlyReport;
import com.dianping.cat.core.dal.WeeklyReport;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -40,7 +40,7 @@ public class TransactionReportBuilder implements ReportTaskBuilder, LogEnabled {
protected DailyGraphDao m_dailyGraphDao;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private TransactionGraphCreator m_transactionGraphCreator;
......
......@@ -27,7 +27,7 @@ import com.dianping.cat.home.utilization.transform.DefaultNativeBuilder;
import com.dianping.cat.report.page.cross.display.ProjectInfo;
import com.dianping.cat.report.page.cross.display.TypeDetailInfo;
import com.dianping.cat.report.page.transaction.TransactionMergeManager;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.report.task.spi.ReportTaskBuilder;
......@@ -36,7 +36,7 @@ public class UtilizationReportBuilder implements ReportTaskBuilder {
public static final String ID = Constants.REPORT_UTILIZATION;
@Inject
protected ReportService m_reportService;
protected ReportServiceManager m_reportService;
@Inject
private TransactionMergeManager m_mergeManager;
......
......@@ -26,14 +26,14 @@ import com.dianping.cat.home.dal.alarm.MailRecordEntity;
import com.dianping.cat.home.dal.alarm.ScheduledReport;
import com.dianping.cat.message.Event;
import com.dianping.cat.message.Transaction;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.system.page.alarm.ScheduledManager;
import com.dianping.cat.system.tool.MailSMS;
public class ScheduledMailTask implements Task, LogEnabled {
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private MailRecordDao m_mailRecordDao;
......
......@@ -43,7 +43,7 @@ import com.dianping.cat.home.dependency.config.entity.EdgeConfig;
import com.dianping.cat.home.dependency.exception.entity.ExceptionExclude;
import com.dianping.cat.home.dependency.exception.entity.ExceptionLimit;
import com.dianping.cat.report.page.dependency.graph.TopologyGraphConfigManager;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.view.DomainNavManager;
import com.dianping.cat.system.SystemPage;
import com.dianping.cat.system.config.AlertConfigManager;
......@@ -112,7 +112,7 @@ public class Handler implements PageHandler<Context> {
private DomainNavManager m_manager;
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
@Inject
private NetGraphConfigManager m_netGraphConfigManager;
......
......@@ -3,6 +3,9 @@
enable-base-visitor="true" enable-json-parser="true" enable-json-builder="true" enable-native-parser="true" enable-native-builder="true"
enable-xml-parser="false" enable-xml-builder="false" >
<entity name="router-config" root="true">
<attribute name="startTime" value-type="Date" format="yyyy-MM-dd HH:mm:ss" />
<attribute name="domain" value-type="String" key="true"/>
<attribute name="endTime" value-type="Date" format="yyyy-MM-dd HH:mm:ss" />
<entity-ref name="domain" type="map" names="domains" method-find-or-create='true'/>
</entity>
<entity name="domain">
......
......@@ -17,7 +17,7 @@ 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.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
public class AvgLoadAnalyzer extends ComponentTestCase {
......@@ -28,7 +28,7 @@ public class AvgLoadAnalyzer extends ComponentTestCase {
private DecimalFormat m_df = new DecimalFormat("#.00");
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
private Map<String, MachineInfo> m_infos = new LinkedHashMap<String, MachineInfo>();
......@@ -44,7 +44,7 @@ public class AvgLoadAnalyzer extends ComponentTestCase {
@Test
public void test() throws Exception {
m_reportService = (ReportService) lookup(ReportService.class);
m_reportService = (ReportServiceManager) lookup(ReportServiceManager.class);
Date start = m_sdf.parse(m_start);
Set<String> domains = queryDomains(start);
......
......@@ -13,7 +13,7 @@ import com.dianping.cat.consumer.problem.ProblemAnalyzer;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.transaction.TransactionAnalyzer;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.event.EventReportBuilder;
import com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder;
import com.dianping.cat.report.task.problem.ProblemReportBuilder;
......@@ -66,7 +66,7 @@ public class GraphBuilderTest extends ComponentTestCase {
@Test
public void testStateReportBuilder() throws Exception {
ReportService service = lookup(ReportService.class);
ReportServiceManager service = lookup(ReportServiceManager.class);
Date date = TimeUtil.getCurrentMonth();
long start = date.getTime();
long end = System.currentTimeMillis();
......
......@@ -17,7 +17,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import com.dianping.cat.consumer.transaction.model.entity.TransactionType;
import com.dianping.cat.consumer.transaction.model.transform.BaseVisitor;
import com.dianping.cat.helper.TimeUtil;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.service.ReportServiceManager;
public class MonthlyMaxTpsAnalyzer extends ComponentTestCase {
......@@ -28,7 +28,7 @@ public class MonthlyMaxTpsAnalyzer extends ComponentTestCase {
private SimpleDateFormat m_sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@Inject
private ReportService m_reportService;
private ReportServiceManager m_reportService;
private Map<String, DomainInfo> m_infos = new LinkedHashMap<String, DomainInfo>();
......@@ -44,7 +44,7 @@ public class MonthlyMaxTpsAnalyzer extends ComponentTestCase {
@Test
public void test() throws Exception {
m_reportService = (ReportService) lookup(ReportService.class);
m_reportService = (ReportServiceManager) lookup(ReportServiceManager.class);
long start = m_sdf.parse(m_start).getTime();
long end = m_sdf.parse(m_end).getTime();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册