diff --git a/cat-consumer-advanced/src/main/java/com/dianping/cat/consumer/metric/MetricAnalyzer.java b/cat-consumer-advanced/src/main/java/com/dianping/cat/consumer/metric/MetricAnalyzer.java index 295a8effb70407789936253aa25db4135fc9c47a..c10261e210f727286c315b9ec21435ecd27acdfa 100644 --- a/cat-consumer-advanced/src/main/java/com/dianping/cat/consumer/metric/MetricAnalyzer.java +++ b/cat-consumer-advanced/src/main/java/com/dianping/cat/consumer/metric/MetricAnalyzer.java @@ -191,7 +191,7 @@ public class MetricAnalyzer extends AbstractMessageAnalyzer implem config.setTitle(metricName); - ProductLine productline = m_productLineConfigManager.queryProductLine(group); + ProductLine productline = m_productLineConfigManager.queryProductLine(report.getProduct()); if (productline != null && productline.getMetricDashboard()) { boolean result = m_configManager.insertIfNotExist(domain, METRIC, metricName, config); diff --git a/cat-home/pom.xml b/cat-home/pom.xml index 7cc13b9234185dbde377df6e3e931a0968142436..61d2725934633285634fd4db5d3b5a3451a2e31d 100755 --- a/cat-home/pom.xml +++ b/cat-home/pom.xml @@ -163,6 +163,7 @@ ${basedir}/src/main/resources/META-INF/dal/model/alertsummary-manifest.xml, ${basedir}/src/main/resources/META-INF/dal/model/alert-type-manifest.xml, ${basedir}/src/main/resources/META-INF/dal/model/thirdParty-manifest.xml, + ${basedir}/src/main/resources/META-INF/dal/model/router-manifest.xml, diff --git a/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java b/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java index 4dedb9b8857de2917d6ac9b5b9151573336b3087..58c79e050dc657ec31574718e6969d53b74fc80f 100755 --- a/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java +++ b/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java @@ -50,6 +50,8 @@ import com.dianping.cat.report.page.externalError.EventCollectManager; import com.dianping.cat.report.page.metric.graph.MetricGraphCreator; import com.dianping.cat.report.page.model.spi.ModelService; import com.dianping.cat.report.page.network.graph.NetworkGraphCreator; +import com.dianping.cat.report.page.network.nettopology.NetGraphBuilder; +import com.dianping.cat.report.page.network.nettopology.NetGraphManager; 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; @@ -139,7 +141,8 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator { all.add(C(HttpConnector.class)); - all.add(C(ThirdPartyAlertBuilder.class).req(HttpConnector.class, ThirdPartyAlert.class, ThirdPartyConfigManager.class)); + all.add(C(ThirdPartyAlertBuilder.class).req(HttpConnector.class, ThirdPartyAlert.class, + ThirdPartyConfigManager.class)); return all; } @@ -336,6 +339,11 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator { all.add(C(NetGraphConfigManager.class).req(ConfigDao.class)); + all.add(C(NetGraphBuilder.class)); + + all.add(C(NetGraphManager.class).req(ServerConfigManager.class, RemoteMetricReportService.class).req( + ReportService.class, NetGraphBuilder.class, AlertInfo.class, NetGraphConfigManager.class)); + // database all.add(C(JdbcDataSourceDescriptorManager.class) // .config(E("datasourceFile").value("/data/appdatas/cat/datasources.xml"))); diff --git a/cat-home/src/main/java/com/dianping/cat/build/TaskComponentConfigurator.java b/cat-home/src/main/java/com/dianping/cat/build/TaskComponentConfigurator.java index f80a82aaf781b4041a6e2ecb496bd6761a9040e7..92fd10f551a6d355661f44542b8040df7ef3e807 100644 --- a/cat-home/src/main/java/com/dianping/cat/build/TaskComponentConfigurator.java +++ b/cat-home/src/main/java/com/dianping/cat/build/TaskComponentConfigurator.java @@ -22,12 +22,9 @@ import com.dianping.cat.report.baseline.impl.DefaultBaselineCreator; 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.network.nettopology.NetGraphManager; import com.dianping.cat.report.page.transaction.TransactionMergeManager; import com.dianping.cat.report.service.ReportService; import com.dianping.cat.report.task.DefaultTaskConsumer; -import com.dianping.cat.report.task.alert.AlertInfo; -import com.dianping.cat.report.task.alert.RemoteMetricReportService; import com.dianping.cat.report.task.alert.exception.AlertReportBuilder; import com.dianping.cat.report.task.bug.BugReportBuilder; import com.dianping.cat.report.task.cross.CrossReportBuilder; @@ -47,6 +44,7 @@ import com.dianping.cat.report.task.problem.ProblemMerger; import com.dianping.cat.report.task.problem.ProblemReportBuilder; import com.dianping.cat.report.task.service.ServiceReportBuilder; import com.dianping.cat.report.task.spi.ReportFacade; +import com.dianping.cat.report.task.spi.ReportTaskBuilder; import com.dianping.cat.report.task.state.StateReportBuilder; import com.dianping.cat.report.task.transaction.TransactionGraphCreator; import com.dianping.cat.report.task.transaction.TransactionMerger; @@ -77,60 +75,53 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator { all.add(C(BaselineService.class, DefaultBaselineService.class).req(BaselineDao.class)); all.add(C(BaselineConfigManager.class, BaselineConfigManager.class)); - all.add(C(MetricBaselineReportBuilder.class).req(ReportService.class, MetricPointParser.class)// + all.add(C(ReportTaskBuilder.class, MetricBaselineReportBuilder.ID, MetricBaselineReportBuilder.class) + .req(ReportService.class, MetricPointParser.class)// .req(MetricConfigManager.class, ProductLineConfigManager.class)// .req(BaselineCreator.class, BaselineService.class, BaselineConfigManager.class)); - all.add(C(TransactionReportBuilder.class) // + all.add(C(ReportTaskBuilder.class, TransactionReportBuilder.ID, TransactionReportBuilder.class) // .req(GraphDao.class, DailyGraphDao.class, ReportService.class)// .req(TransactionGraphCreator.class, TransactionMerger.class)); - all.add(C(EventReportBuilder.class) // + all.add(C(ReportTaskBuilder.class, EventReportBuilder.ID, EventReportBuilder.class) // .req(GraphDao.class, DailyGraphDao.class, ReportService.class)// .req(EventGraphCreator.class, EventMerger.class));// - all.add(C(ProblemReportBuilder.class) // + all.add(C(ReportTaskBuilder.class, ProblemReportBuilder.ID, ProblemReportBuilder.class) // .req(GraphDao.class, DailyGraphDao.class, ReportService.class)// .req(ProblemGraphCreator.class, ProblemMerger.class)); - all.add(C(HeartbeatReportBuilder.class) // + all.add(C(ReportTaskBuilder.class, HeartbeatReportBuilder.ID, HeartbeatReportBuilder.class) // .req(GraphDao.class, ReportService.class) // .req(HeartbeatGraphCreator.class)); - all.add(C(BugReportBuilder.class).req(ReportService.class)); + all.add(C(ReportTaskBuilder.class, BugReportBuilder.ID, BugReportBuilder.class).req(ReportService.class)); - all.add(C(ServiceReportBuilder.class).req(ReportService.class, DomainManager.class)); + all.add(C(ReportTaskBuilder.class, ServiceReportBuilder.ID, ServiceReportBuilder.class).req(ReportService.class, + DomainManager.class)); - all.add(C(MatrixReportBuilder.class).req(ReportService.class)); + all.add(C(ReportTaskBuilder.class, MatrixReportBuilder.ID, MatrixReportBuilder.class).req(ReportService.class)); - all.add(C(CrossReportBuilder.class).req(ReportService.class)); + all.add(C(ReportTaskBuilder.class, CrossReportBuilder.ID, CrossReportBuilder.class).req(ReportService.class)); - all.add(C(StateReportBuilder.class).req(ReportService.class)); + all.add(C(ReportTaskBuilder.class, StateReportBuilder.ID, StateReportBuilder.class).req(ReportService.class)); - all.add(C(AlertReportBuilder.class).req(ReportService.class, ExceptionConfigManager.class)); + all.add(C(ReportTaskBuilder.class, AlertReportBuilder.ID, AlertReportBuilder.class).req(ReportService.class, + ExceptionConfigManager.class)); - all.add(C(HeavyReportBuilder.class).req(ReportService.class)); + all.add(C(ReportTaskBuilder.class, HeavyReportBuilder.ID, HeavyReportBuilder.class).req(ReportService.class)); - all.add(C(UtilizationReportBuilder.class).req(ReportService.class, TransactionMergeManager.class, - ServerConfigManager.class, DomainManager.class)); + all.add(C(ReportTaskBuilder.class, UtilizationReportBuilder.ID, UtilizationReportBuilder.class).req( + ReportService.class, TransactionMergeManager.class, ServerConfigManager.class, DomainManager.class)); - all.add(C(DependencyReportBuilder.class).req(ReportService.class, TopologyGraphBuilder.class, - TopologyGraphDao.class)); + all.add(C(ReportTaskBuilder.class, DependencyReportBuilder.ID, DependencyReportBuilder.class).req( + ReportService.class, TopologyGraphBuilder.class, TopologyGraphDao.class)); - all.add(C(NetGraphBuilder.class)); + all.add(C(ReportTaskBuilder.class, NetTopologyReportBuilder.ID, NetTopologyReportBuilder.class).req( + ReportService.class, NetGraphBuilder.class, NetGraphConfigManager.class)); - all.add(C(NetGraphManager.class).req(ServerConfigManager.class, RemoteMetricReportService.class).req( - ReportService.class, NetGraphBuilder.class, AlertInfo.class, NetGraphConfigManager.class)); - - all.add(C(NetTopologyReportBuilder.class).req(ReportService.class, NetGraphBuilder.class, - NetGraphConfigManager.class)); - - all.add(C(ReportFacade.class)// - .req(TransactionReportBuilder.class, EventReportBuilder.class, ProblemReportBuilder.class, - HeartbeatReportBuilder.class, MatrixReportBuilder.class, CrossReportBuilder.class, - StateReportBuilder.class, DependencyReportBuilder.class, BugReportBuilder.class, - ServiceReportBuilder.class, MetricBaselineReportBuilder.class, HeavyReportBuilder.class, - AlertReportBuilder.class, UtilizationReportBuilder.class, NetTopologyReportBuilder.class)); + all.add(C(ReportFacade.class)); return all; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/AlertReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/AlertReportBuilder.java index 8cf4029e533b6722eb116ec66b6a5092a851460c..03fe37dd0cc9db95830a77ecb87565ee5040010c 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/AlertReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/alert/exception/AlertReportBuilder.java @@ -22,6 +22,8 @@ import com.dianping.cat.system.config.ExceptionConfigManager; public class AlertReportBuilder implements ReportTaskBuilder { + public static final String ID = Constants.REPORT_ALERT; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/bug/BugReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/bug/BugReportBuilder.java index 0015aa24d422987ae8558f489ce60e784fac3237..b90677ab3cbad3e17809ce1091a655d9527d9bb7 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/bug/BugReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/bug/BugReportBuilder.java @@ -25,6 +25,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class BugReportBuilder implements ReportTaskBuilder { + public static final String ID = Constants.REPORT_BUG; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/cross/CrossReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/cross/CrossReportBuilder.java index 98c256065859de96e891e4d831127476ae6855fc..f582e1023ccba4bda69d3e827aaba9a5af382da3 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/cross/CrossReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/cross/CrossReportBuilder.java @@ -20,6 +20,8 @@ import com.dianping.cat.report.task.TaskHelper; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class CrossReportBuilder implements ReportTaskBuilder { + + public static final String ID = CrossAnalyzer.ID; @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/dependency/DependencyReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/dependency/DependencyReportBuilder.java index e6c02c3c527618560565fd9aeb26815016182ee6..aca5bf7c918f8cdc216db584bd7a130435d005bf 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/dependency/DependencyReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/dependency/DependencyReportBuilder.java @@ -21,6 +21,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class DependencyReportBuilder implements ReportTaskBuilder { + public static final String ID = DependencyAnalyzer.ID; + @Inject private ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/event/EventReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/event/EventReportBuilder.java index 35274926fa3802f9e303441971d1df63e1ee76c6..c297b0fce015264ba11833908179830c0fe5b39d 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/event/EventReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/event/EventReportBuilder.java @@ -28,6 +28,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class EventReportBuilder implements ReportTaskBuilder { + public static final String ID = EventAnalyzer.ID; + @Inject protected GraphDao m_graphDao; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/heartbeat/HeartbeatReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/heartbeat/HeartbeatReportBuilder.java index 88079a0ba1590459b42358b7b4996a3639813985..ccce01a76f405b95f2742722f98f780840c39970 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/heartbeat/HeartbeatReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/heartbeat/HeartbeatReportBuilder.java @@ -17,6 +17,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class HeartbeatReportBuilder implements ReportTaskBuilder { + public static final String ID = HeartbeatAnalyzer.ID; + @Inject protected GraphDao m_graphDao; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/heavy/HeavyReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/heavy/HeavyReportBuilder.java index 4d5626b1a55abd5433abcc69175110cda33ff0b9..c1a02058a21d59139622b2c137b436e71d7f7bcd 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/heavy/HeavyReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/heavy/HeavyReportBuilder.java @@ -23,6 +23,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class HeavyReportBuilder implements ReportTaskBuilder { + public static final String ID = Constants.REPORT_HEAVY; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/matrix/MatrixReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/matrix/MatrixReportBuilder.java index c3309bd5777e8436d62fd8bf54d0fd91ab39cec7..140c982da0ae5e026689ae308066a4b0db3cc63d 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/matrix/MatrixReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/matrix/MatrixReportBuilder.java @@ -22,6 +22,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class MatrixReportBuilder implements ReportTaskBuilder { + public static final String ID = MatrixAnalyzer.ID; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricBaselineReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricBaselineReportBuilder.java index 110e76bfbda7933a659b6c1ebf9ced01a94eb930..3e3a3e71cf0e02717e9a96d578b65f84ec3a71bc 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricBaselineReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricBaselineReportBuilder.java @@ -12,6 +12,7 @@ import org.unidal.lookup.annotation.Inject; import com.dianping.cat.Cat; import com.dianping.cat.advanced.metric.config.entity.MetricItemConfig; +import com.dianping.cat.consumer.metric.MetricAnalyzer; import com.dianping.cat.consumer.metric.MetricConfigManager; import com.dianping.cat.consumer.metric.ProductLineConfigManager; import com.dianping.cat.consumer.metric.model.entity.MetricItem; @@ -27,6 +28,9 @@ import com.dianping.cat.report.task.alert.MetricType; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class MetricBaselineReportBuilder implements ReportTaskBuilder, LogEnabled { + + public static final String ID = MetricAnalyzer.ID; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/network/NetTopologyReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/network/NetTopologyReportBuilder.java index fe65972eff7c274a64064fb2b0bcac36efcd001f..e7f7bd725de83d772e7b8142ca374f154ca69652 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/network/NetTopologyReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/network/NetTopologyReportBuilder.java @@ -9,6 +9,7 @@ import java.util.Set; import org.unidal.lookup.annotation.Inject; +import com.dianping.cat.Constants; import com.dianping.cat.configuration.NetworkInterfaceManager; import com.dianping.cat.consumer.metric.model.entity.MetricReport; import com.dianping.cat.core.dal.HourlyReport; @@ -27,6 +28,8 @@ import com.dianping.cat.system.config.NetGraphConfigManager; public class NetTopologyReportBuilder implements ReportTaskBuilder { + public static final String ID = Constants.REPORT_NET_TOPOLOGY; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/problem/ProblemReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/problem/ProblemReportBuilder.java index 7e62e51bea2934e6a16032b8fb94ad9f93a99f55..07d4aee2d6dcfb2b99cb94672b98ffc2079cdb1c 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/problem/ProblemReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/problem/ProblemReportBuilder.java @@ -28,6 +28,9 @@ import com.dianping.cat.report.task.TaskHelper; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class ProblemReportBuilder implements ReportTaskBuilder { + + public static final String ID = ProblemAnalyzer.ID; + @Inject protected GraphDao m_graphDao; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/service/ServiceReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/service/ServiceReportBuilder.java index e0b2c712871c54940f60617ac6302d21e1cd4a4d..83f1e48d6bec644498cde0e1e09a85b0e56f4fff 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/service/ServiceReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/service/ServiceReportBuilder.java @@ -29,6 +29,8 @@ import com.dianping.cat.report.task.TaskHelper; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class ServiceReportBuilder implements ReportTaskBuilder { + + public static final String ID = Constants.REPORT_SERVICE; @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/spi/ReportFacade.java b/cat-home/src/main/java/com/dianping/cat/report/task/spi/ReportFacade.java index 5526329b12d6d3b21ddbab35d6a6681d104fa3a9..98141ae2081b8cdffc0433c383d1184230ce3d6b 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/spi/ReportFacade.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/spi/ReportFacade.java @@ -8,84 +8,14 @@ import org.codehaus.plexus.logging.LogEnabled; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; -import org.unidal.lookup.annotation.Inject; +import org.unidal.lookup.ContainerHolder; import com.dianping.cat.Cat; -import com.dianping.cat.Constants; import com.dianping.cat.ReportType; -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.transaction.TransactionAnalyzer; import com.dianping.cat.core.dal.Task; -import com.dianping.cat.report.task.alert.exception.AlertReportBuilder; -import com.dianping.cat.report.task.bug.BugReportBuilder; -import com.dianping.cat.report.task.cross.CrossReportBuilder; -import com.dianping.cat.report.task.dependency.DependencyReportBuilder; -import com.dianping.cat.report.task.event.EventReportBuilder; -import com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder; -import com.dianping.cat.report.task.heavy.HeavyReportBuilder; -import com.dianping.cat.report.task.matrix.MatrixReportBuilder; -import com.dianping.cat.report.task.metric.MetricBaselineReportBuilder; -import com.dianping.cat.report.task.network.NetTopologyReportBuilder; -import com.dianping.cat.report.task.problem.ProblemReportBuilder; -import com.dianping.cat.report.task.service.ServiceReportBuilder; -import com.dianping.cat.report.task.state.StateReportBuilder; -import com.dianping.cat.report.task.transaction.TransactionReportBuilder; -import com.dianping.cat.report.task.utilization.UtilizationReportBuilder; -public class ReportFacade implements LogEnabled, Initializable { +public class ReportFacade extends ContainerHolder implements LogEnabled, Initializable { - @Inject - private EventReportBuilder m_eventBuilder; - - @Inject - private HeartbeatReportBuilder m_heartbeatBuilder; - - @Inject - private ProblemReportBuilder m_problemBuilder; - - @Inject - private TransactionReportBuilder m_tansactionBuilder; - - @Inject - private MatrixReportBuilder m_matrixReportBuilder; - - @Inject - private CrossReportBuilder m_crossReportBuilder; - - @Inject - private StateReportBuilder m_stateReportBuilder; - - @Inject - private BugReportBuilder m_bugReportBuilder; - - @Inject - private ServiceReportBuilder m_serviceReportBuilder; - - @Inject - private DependencyReportBuilder m_dependendcyReportBuilder; - - @Inject - private MetricBaselineReportBuilder m_metricBaselineReportBuilder; - - @Inject - private HeavyReportBuilder m_heavyReportBuilder; - - @Inject - private AlertReportBuilder m_alertReportBuilder; - - @Inject - private UtilizationReportBuilder m_utilizationReportBuilder; - - @Inject - private NetTopologyReportBuilder m_netTopologyReportBuilder; - private Logger m_logger; private Map m_reportBuilders = new HashMap(); @@ -145,22 +75,9 @@ public class ReportFacade implements LogEnabled, Initializable { @Override public void initialize() throws InitializationException { - m_reportBuilders.put(ProblemAnalyzer.ID, m_problemBuilder); - m_reportBuilders.put(EventAnalyzer.ID, m_eventBuilder); - m_reportBuilders.put(HeartbeatAnalyzer.ID, m_heartbeatBuilder); - m_reportBuilders.put(TransactionAnalyzer.ID, m_tansactionBuilder); - m_reportBuilders.put(MatrixAnalyzer.ID, m_matrixReportBuilder); - m_reportBuilders.put(CrossAnalyzer.ID, m_crossReportBuilder); - m_reportBuilders.put(StateAnalyzer.ID, m_stateReportBuilder); - m_reportBuilders.put(DependencyAnalyzer.ID, m_dependendcyReportBuilder); - m_reportBuilders.put(MetricAnalyzer.ID, m_metricBaselineReportBuilder); - - m_reportBuilders.put(Constants.REPORT_BUG, m_bugReportBuilder); - m_reportBuilders.put(Constants.REPORT_SERVICE, m_serviceReportBuilder); - m_reportBuilders.put(Constants.REPORT_HEAVY, m_heavyReportBuilder); - m_reportBuilders.put(Constants.REPORT_ALERT, m_alertReportBuilder); - m_reportBuilders.put(Constants.REPORT_UTILIZATION, m_utilizationReportBuilder); - m_reportBuilders.put(Constants.REPORT_NET_TOPOLOGY, m_netTopologyReportBuilder); + m_reportBuilders = lookupMap(ReportTaskBuilder.class); + + System.out.println(m_reportBuilders.size()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/state/StateReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/state/StateReportBuilder.java index 55829549f43723b92d7402b19d9b813e6c3a0d84..be041cd6a29d1982a3e3bcc53039f6ac0b782943 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/state/StateReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/state/StateReportBuilder.java @@ -6,6 +6,7 @@ import org.unidal.lookup.annotation.Inject; import com.dianping.cat.Cat; import com.dianping.cat.configuration.NetworkInterfaceManager; +import com.dianping.cat.consumer.state.StateAnalyzer; import com.dianping.cat.consumer.state.model.entity.ProcessDomain; import com.dianping.cat.consumer.state.model.entity.StateReport; import com.dianping.cat.consumer.state.model.transform.BaseVisitor; @@ -20,6 +21,8 @@ import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class StateReportBuilder implements ReportTaskBuilder { + public static final String ID = StateAnalyzer.ID; + @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/transaction/TransactionReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/transaction/TransactionReportBuilder.java index fb45df2c4059528fafeeeb70c548f668f2cd0f23..f11edf76a80762969ecfacb71e776c332b448a22 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/transaction/TransactionReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/transaction/TransactionReportBuilder.java @@ -30,6 +30,8 @@ import com.dianping.cat.report.task.TaskHelper; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class TransactionReportBuilder implements ReportTaskBuilder, LogEnabled { + + public static final String ID = TransactionAnalyzer.ID; @Inject protected GraphDao m_graphDao; diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportBuilder.java b/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportBuilder.java index 3e1ac9559ae6502b50f8b86ea0234721d1497d67..782ee8781dc38a8f444927ea7291c2c998fd3034 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportBuilder.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/utilization/UtilizationReportBuilder.java @@ -32,6 +32,8 @@ import com.dianping.cat.report.task.TaskHelper; import com.dianping.cat.report.task.spi.ReportTaskBuilder; public class UtilizationReportBuilder implements ReportTaskBuilder { + + public static final String ID = Constants.REPORT_UTILIZATION; @Inject protected ReportService m_reportService; diff --git a/cat-home/src/main/resources/META-INF/dal/model/router-codegen.xml b/cat-home/src/main/resources/META-INF/dal/model/router-codegen.xml new file mode 100644 index 0000000000000000000000000000000000000000..179dc83eecfadfaa3ff78ca7d07589481ba74c4a --- /dev/null +++ b/cat-home/src/main/resources/META-INF/dal/model/router-codegen.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/cat-home/src/main/resources/META-INF/dal/model/router-manifest.xml b/cat-home/src/main/resources/META-INF/dal/model/router-manifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b3f6d7f3c77363e2f540e535dcee8fb5f539f18 --- /dev/null +++ b/cat-home/src/main/resources/META-INF/dal/model/router-manifest.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/cat-home/src/main/resources/META-INF/dal/model/router-model.xml b/cat-home/src/main/resources/META-INF/dal/model/router-model.xml new file mode 100644 index 0000000000000000000000000000000000000000..14b59b03aa1bea553c5f2e98fbf4882abd84d7cf --- /dev/null +++ b/cat-home/src/main/resources/META-INF/dal/model/router-model.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cat-home/src/main/resources/META-INF/dal/model/service-report-model.xml b/cat-home/src/main/resources/META-INF/dal/model/service-report-model.xml index 72b76c303b54963447beee1b662fafbee7468e5e..623f0c3d2e7f6fecd465a31e21b61568f7319f23 100644 --- a/cat-home/src/main/resources/META-INF/dal/model/service-report-model.xml +++ b/cat-home/src/main/resources/META-INF/dal/model/service-report-model.xml @@ -1,5 +1,5 @@ - diff --git a/cat-home/src/main/resources/META-INF/plexus/components.xml b/cat-home/src/main/resources/META-INF/plexus/components.xml index 1e1e36bf093fbcda99e1bce8613a5d93b1e8f711..4fa0cec179147fed9f0b2797f22169c7bdff4694 100755 --- a/cat-home/src/main/resources/META-INF/plexus/components.xml +++ b/cat-home/src/main/resources/META-INF/plexus/components.xml @@ -985,7 +985,8 @@ com.dianping.cat.report.baseline.BaselineConfigManager - com.dianping.cat.report.task.metric.MetricBaselineReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + metric com.dianping.cat.report.task.metric.MetricBaselineReportBuilder @@ -1012,7 +1013,8 @@ - com.dianping.cat.report.task.transaction.TransactionReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + transaction com.dianping.cat.report.task.transaction.TransactionReportBuilder @@ -1033,7 +1035,8 @@ - com.dianping.cat.report.task.event.EventReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + event com.dianping.cat.report.task.event.EventReportBuilder @@ -1054,7 +1057,8 @@ - com.dianping.cat.report.task.problem.ProblemReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + problem com.dianping.cat.report.task.problem.ProblemReportBuilder @@ -1075,7 +1079,8 @@ - com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + heartbeat com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder @@ -1090,7 +1095,8 @@ - com.dianping.cat.report.task.bug.BugReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + bug com.dianping.cat.report.task.bug.BugReportBuilder @@ -1099,7 +1105,8 @@ - com.dianping.cat.report.task.service.ServiceReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + service com.dianping.cat.report.task.service.ServiceReportBuilder @@ -1111,7 +1118,8 @@ - com.dianping.cat.report.task.matrix.MatrixReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + matrix com.dianping.cat.report.task.matrix.MatrixReportBuilder @@ -1120,7 +1128,8 @@ - com.dianping.cat.report.task.cross.CrossReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + cross com.dianping.cat.report.task.cross.CrossReportBuilder @@ -1129,7 +1138,8 @@ - com.dianping.cat.report.task.state.StateReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + state com.dianping.cat.report.task.state.StateReportBuilder @@ -1138,7 +1148,8 @@ - com.dianping.cat.report.task.alert.exception.AlertReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + alert com.dianping.cat.report.task.alert.exception.AlertReportBuilder @@ -1150,7 +1161,8 @@ - com.dianping.cat.report.task.heavy.HeavyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + heavy com.dianping.cat.report.task.heavy.HeavyReportBuilder @@ -1159,7 +1171,8 @@ - com.dianping.cat.report.task.utilization.UtilizationReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + utilization com.dianping.cat.report.task.utilization.UtilizationReportBuilder @@ -1177,7 +1190,8 @@ - com.dianping.cat.report.task.dependency.DependencyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + dependency com.dianping.cat.report.task.dependency.DependencyReportBuilder @@ -1192,35 +1206,8 @@ - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - - - com.dianping.cat.report.page.network.nettopology.NetGraphManager - com.dianping.cat.report.page.network.nettopology.NetGraphManager - - - com.dianping.cat.ServerConfigManager - - - com.dianping.cat.report.task.alert.RemoteMetricReportService - - - com.dianping.cat.report.service.ReportService - - - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - - - com.dianping.cat.report.task.alert.AlertInfo - - - com.dianping.cat.system.config.NetGraphConfigManager - - - - - com.dianping.cat.report.task.network.NetTopologyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + NetTopology com.dianping.cat.report.task.network.NetTopologyReportBuilder @@ -1237,53 +1224,6 @@ com.dianping.cat.report.task.spi.ReportFacade com.dianping.cat.report.task.spi.ReportFacade - - - com.dianping.cat.report.task.transaction.TransactionReportBuilder - - - com.dianping.cat.report.task.event.EventReportBuilder - - - com.dianping.cat.report.task.problem.ProblemReportBuilder - - - com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder - - - com.dianping.cat.report.task.matrix.MatrixReportBuilder - - - com.dianping.cat.report.task.cross.CrossReportBuilder - - - com.dianping.cat.report.task.state.StateReportBuilder - - - com.dianping.cat.report.task.dependency.DependencyReportBuilder - - - com.dianping.cat.report.task.bug.BugReportBuilder - - - com.dianping.cat.report.task.service.ServiceReportBuilder - - - com.dianping.cat.report.task.metric.MetricBaselineReportBuilder - - - com.dianping.cat.report.task.heavy.HeavyReportBuilder - - - com.dianping.cat.report.task.alert.exception.AlertReportBuilder - - - com.dianping.cat.report.task.utilization.UtilizationReportBuilder - - - com.dianping.cat.report.task.network.NetTopologyReportBuilder - - com.dianping.cat.report.page.model.spi.ModelService @@ -2120,6 +2060,34 @@ + + com.dianping.cat.report.page.network.nettopology.NetGraphBuilder + com.dianping.cat.report.page.network.nettopology.NetGraphBuilder + + + com.dianping.cat.report.page.network.nettopology.NetGraphManager + com.dianping.cat.report.page.network.nettopology.NetGraphManager + + + com.dianping.cat.ServerConfigManager + + + com.dianping.cat.report.task.alert.RemoteMetricReportService + + + com.dianping.cat.report.service.ReportService + + + com.dianping.cat.report.page.network.nettopology.NetGraphBuilder + + + com.dianping.cat.report.task.alert.AlertInfo + + + com.dianping.cat.system.config.NetGraphConfigManager + + + org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager @@ -5118,7 +5086,8 @@ com.dianping.cat.report.baseline.BaselineConfigManager - com.dianping.cat.report.task.metric.MetricBaselineReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + metric com.dianping.cat.report.task.metric.MetricBaselineReportBuilder @@ -5145,7 +5114,8 @@ - com.dianping.cat.report.task.transaction.TransactionReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + transaction com.dianping.cat.report.task.transaction.TransactionReportBuilder @@ -5166,7 +5136,8 @@ - com.dianping.cat.report.task.event.EventReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + event com.dianping.cat.report.task.event.EventReportBuilder @@ -5187,7 +5158,8 @@ - com.dianping.cat.report.task.problem.ProblemReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + problem com.dianping.cat.report.task.problem.ProblemReportBuilder @@ -5208,7 +5180,8 @@ - com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + heartbeat com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder @@ -5223,7 +5196,8 @@ - com.dianping.cat.report.task.bug.BugReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + bug com.dianping.cat.report.task.bug.BugReportBuilder @@ -5232,7 +5206,8 @@ - com.dianping.cat.report.task.service.ServiceReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + service com.dianping.cat.report.task.service.ServiceReportBuilder @@ -5244,7 +5219,8 @@ - com.dianping.cat.report.task.matrix.MatrixReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + matrix com.dianping.cat.report.task.matrix.MatrixReportBuilder @@ -5253,7 +5229,8 @@ - com.dianping.cat.report.task.cross.CrossReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + cross com.dianping.cat.report.task.cross.CrossReportBuilder @@ -5262,7 +5239,8 @@ - com.dianping.cat.report.task.state.StateReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + state com.dianping.cat.report.task.state.StateReportBuilder @@ -5271,7 +5249,8 @@ - com.dianping.cat.report.task.alert.exception.AlertReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + alert com.dianping.cat.report.task.alert.exception.AlertReportBuilder @@ -5283,7 +5262,8 @@ - com.dianping.cat.report.task.heavy.HeavyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + heavy com.dianping.cat.report.task.heavy.HeavyReportBuilder @@ -5292,7 +5272,8 @@ - com.dianping.cat.report.task.utilization.UtilizationReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + utilization com.dianping.cat.report.task.utilization.UtilizationReportBuilder @@ -5310,7 +5291,8 @@ - com.dianping.cat.report.task.dependency.DependencyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + dependency com.dianping.cat.report.task.dependency.DependencyReportBuilder @@ -5325,35 +5307,8 @@ - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - - - com.dianping.cat.report.page.network.nettopology.NetGraphManager - com.dianping.cat.report.page.network.nettopology.NetGraphManager - - - com.dianping.cat.ServerConfigManager - - - com.dianping.cat.report.task.alert.RemoteMetricReportService - - - com.dianping.cat.report.service.ReportService - - - com.dianping.cat.report.page.network.nettopology.NetGraphBuilder - - - com.dianping.cat.report.task.alert.AlertInfo - - - com.dianping.cat.system.config.NetGraphConfigManager - - - - - com.dianping.cat.report.task.network.NetTopologyReportBuilder + com.dianping.cat.report.task.spi.ReportTaskBuilder + NetTopology com.dianping.cat.report.task.network.NetTopologyReportBuilder @@ -5370,53 +5325,6 @@ com.dianping.cat.report.task.spi.ReportFacade com.dianping.cat.report.task.spi.ReportFacade - - - com.dianping.cat.report.task.transaction.TransactionReportBuilder - - - com.dianping.cat.report.task.event.EventReportBuilder - - - com.dianping.cat.report.task.problem.ProblemReportBuilder - - - com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder - - - com.dianping.cat.report.task.matrix.MatrixReportBuilder - - - com.dianping.cat.report.task.cross.CrossReportBuilder - - - com.dianping.cat.report.task.state.StateReportBuilder - - - com.dianping.cat.report.task.dependency.DependencyReportBuilder - - - com.dianping.cat.report.task.bug.BugReportBuilder - - - com.dianping.cat.report.task.service.ServiceReportBuilder - - - com.dianping.cat.report.task.metric.MetricBaselineReportBuilder - - - com.dianping.cat.report.task.heavy.HeavyReportBuilder - - - com.dianping.cat.report.task.alert.exception.AlertReportBuilder - - - com.dianping.cat.report.task.utilization.UtilizationReportBuilder - - - com.dianping.cat.report.task.network.NetTopologyReportBuilder - - com.dianping.cat.report.page.model.spi.ModelService diff --git a/cat-home/src/main/resources/META-INF/wizard/model/wizard.xml b/cat-home/src/main/resources/META-INF/wizard/model/wizard.xml index 22ccdfddfefae83ef1d995718553ce67c3f89d01..8db50d18ba2a03f77da738a16df39b39dea6880e 100644 --- a/cat-home/src/main/resources/META-INF/wizard/model/wizard.xml +++ b/cat-home/src/main/resources/META-INF/wizard/model/wizard.xml @@ -60,4 +60,7 @@ src/test/resources/config/thirdParty-config.xml + + src/test/resources/config/router-config.xml + diff --git a/cat-home/src/main/webapp/jsp/report/home/integratingBusiness.jsp b/cat-home/src/main/webapp/jsp/report/home/integratingBusiness.jsp index 7763dc6910a94e06920a59b9142a8fa2640c35b1..cc3777bd9c1161854de96fa70f1a5e78c1a6e6b1 100644 --- a/cat-home/src/main/webapp/jsp/report/home/integratingBusiness.jsp +++ b/cat-home/src/main/webapp/jsp/report/home/integratingBusiness.jsp @@ -83,7 +83,7 @@

第三步:产品线配置

业务监控展示的是一个产品线下所有的业务指标信息,CAT提供了产品的配置信息

-

1、必须把项目加入到一个产品线,这样项目下所有指标才能在这个产品线正确展示

+

1、必须把项目加入到一个产品线,这样项目下所有指标才能在这个产品线正确展示,如果项目换名,必须重新修改。

2、告警邮件:当这个产品线下的业务指标出现异常时,会发送邮件到此邮箱

3、告警短信:当这个产品线下的业务指标出现异常时,会发送邮件到此号码

url : 链接

diff --git a/cat-home/src/test/resources/config/router-config.xml b/cat-home/src/test/resources/config/router-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..723b70a6d8e97ff480b725d132c5e29c9f6a1813 --- /dev/null +++ b/cat-home/src/test/resources/config/router-config.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file