提交 c9154779 编写于 作者: Y youyong205

refator the report builder facade and add router config

上级 6bdb6026
......@@ -191,7 +191,7 @@ public class MetricAnalyzer extends AbstractMessageAnalyzer<MetricReport> 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);
......
......@@ -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,
</manifest>
</configuration>
</execution>
......
......@@ -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")));
......
......@@ -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;
}
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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<String, ReportTaskBuilder> m_reportBuilders = new HashMap<String, ReportTaskBuilder>();
......@@ -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());
}
}
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
<?xml version="1.0" encoding="UTF-8"?>
<model>
<entity name="router-config" root="true">
<entity-ref name="domain" type="list" names="domains" />
</entity>
<entity name="domain">
<attribute name="id" value-type="String" />
<entity-ref name="server" type="list" names="servers" />
</entity>
<entity name="server">
<attribute name="id" value-type="String" />
<attribute name="port" value-type="int" />
</entity>
</model>
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<file path="router-codegen.xml" />
<file path="router-model.xml" />
</manifest>
<?xml version="1.0" encoding="UTF-8"?>
<model model-package="com.dianping.cat.home.router" enable-merger="true" enable-sax-parser="true"
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">
<entity-ref name="domain" type="map" names="domains" method-find-or-create='true'/>
</entity>
<entity name="domain">
<attribute name="id" value-type="String" key="true"/>
<entity-ref name="server" type="list" names="servers" />
</entity>
<entity name="server">
<attribute name="id" value-type="String"/>
<attribute name="port" value-type="int" />
</entity>
</model>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<model model-package="com.dianping.cat.home.service" enable-merger="true" enable-sax-parser="true"
<model model-package="com.dianping.cat.home.service" enable-merger="true" enable-sax-parser="true"
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="service-report" root="true">
......
......@@ -985,7 +985,8 @@
<implementation>com.dianping.cat.report.baseline.BaselineConfigManager</implementation>
</component>
<component>
<role>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>metric</role-hint>
<implementation>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1012,7 +1013,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.transaction.TransactionReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>transaction</role-hint>
<implementation>com.dianping.cat.report.task.transaction.TransactionReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1033,7 +1035,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.event.EventReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>event</role-hint>
<implementation>com.dianping.cat.report.task.event.EventReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1054,7 +1057,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.problem.ProblemReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>problem</role-hint>
<implementation>com.dianping.cat.report.task.problem.ProblemReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1075,7 +1079,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>heartbeat</role-hint>
<implementation>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1090,7 +1095,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.bug.BugReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>bug</role-hint>
<implementation>com.dianping.cat.report.task.bug.BugReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1099,7 +1105,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.service.ServiceReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>service</role-hint>
<implementation>com.dianping.cat.report.task.service.ServiceReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1111,7 +1118,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.matrix.MatrixReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>matrix</role-hint>
<implementation>com.dianping.cat.report.task.matrix.MatrixReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1120,7 +1128,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.cross.CrossReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>cross</role-hint>
<implementation>com.dianping.cat.report.task.cross.CrossReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1129,7 +1138,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.state.StateReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>state</role-hint>
<implementation>com.dianping.cat.report.task.state.StateReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1138,7 +1148,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>alert</role-hint>
<implementation>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1150,7 +1161,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.heavy.HeavyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>heavy</role-hint>
<implementation>com.dianping.cat.report.task.heavy.HeavyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1159,7 +1171,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>utilization</role-hint>
<implementation>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1177,7 +1190,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.dependency.DependencyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>dependency</role-hint>
<implementation>com.dianping.cat.report.task.dependency.DependencyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1192,35 +1206,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</implementation>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphManager</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphManager</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.ServerConfigManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.RemoteMetricReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.service.ReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.AlertInfo</role>
</requirement>
<requirement>
<role>com.dianping.cat.system.config.NetGraphConfigManager</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.network.NetTopologyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>NetTopology</role-hint>
<implementation>com.dianping.cat.report.task.network.NetTopologyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -1237,53 +1224,6 @@
<component>
<role>com.dianping.cat.report.task.spi.ReportFacade</role>
<implementation>com.dianping.cat.report.task.spi.ReportFacade</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.report.task.transaction.TransactionReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.event.EventReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.problem.ProblemReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.matrix.MatrixReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.cross.CrossReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.state.StateReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.dependency.DependencyReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.bug.BugReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.service.ServiceReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.heavy.HeavyReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.network.NetTopologyReportBuilder</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.page.model.spi.ModelService</role>
......@@ -2120,6 +2060,34 @@
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</implementation>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphManager</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphManager</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.ServerConfigManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.RemoteMetricReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.service.ReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.AlertInfo</role>
</requirement>
<requirement>
<role>com.dianping.cat.system.config.NetGraphConfigManager</role>
</requirement>
</requirements>
</component>
<component>
<role>org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager</role>
<implementation>org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager</implementation>
......@@ -5118,7 +5086,8 @@
<implementation>com.dianping.cat.report.baseline.BaselineConfigManager</implementation>
</component>
<component>
<role>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>metric</role-hint>
<implementation>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5145,7 +5114,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.transaction.TransactionReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>transaction</role-hint>
<implementation>com.dianping.cat.report.task.transaction.TransactionReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5166,7 +5136,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.event.EventReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>event</role-hint>
<implementation>com.dianping.cat.report.task.event.EventReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5187,7 +5158,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.problem.ProblemReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>problem</role-hint>
<implementation>com.dianping.cat.report.task.problem.ProblemReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5208,7 +5180,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>heartbeat</role-hint>
<implementation>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5223,7 +5196,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.bug.BugReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>bug</role-hint>
<implementation>com.dianping.cat.report.task.bug.BugReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5232,7 +5206,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.service.ServiceReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>service</role-hint>
<implementation>com.dianping.cat.report.task.service.ServiceReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5244,7 +5219,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.matrix.MatrixReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>matrix</role-hint>
<implementation>com.dianping.cat.report.task.matrix.MatrixReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5253,7 +5229,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.cross.CrossReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>cross</role-hint>
<implementation>com.dianping.cat.report.task.cross.CrossReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5262,7 +5239,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.state.StateReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>state</role-hint>
<implementation>com.dianping.cat.report.task.state.StateReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5271,7 +5249,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>alert</role-hint>
<implementation>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5283,7 +5262,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.heavy.HeavyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>heavy</role-hint>
<implementation>com.dianping.cat.report.task.heavy.HeavyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5292,7 +5272,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>utilization</role-hint>
<implementation>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5310,7 +5291,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.dependency.DependencyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>dependency</role-hint>
<implementation>com.dianping.cat.report.task.dependency.DependencyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5325,35 +5307,8 @@
</requirements>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</implementation>
</component>
<component>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphManager</role>
<implementation>com.dianping.cat.report.page.network.nettopology.NetGraphManager</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.ServerConfigManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.RemoteMetricReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.service.ReportService</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.page.network.nettopology.NetGraphBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.AlertInfo</role>
</requirement>
<requirement>
<role>com.dianping.cat.system.config.NetGraphConfigManager</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.task.network.NetTopologyReportBuilder</role>
<role>com.dianping.cat.report.task.spi.ReportTaskBuilder</role>
<role-hint>NetTopology</role-hint>
<implementation>com.dianping.cat.report.task.network.NetTopologyReportBuilder</implementation>
<requirements>
<requirement>
......@@ -5370,53 +5325,6 @@
<component>
<role>com.dianping.cat.report.task.spi.ReportFacade</role>
<implementation>com.dianping.cat.report.task.spi.ReportFacade</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.report.task.transaction.TransactionReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.event.EventReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.problem.ProblemReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.matrix.MatrixReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.cross.CrossReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.state.StateReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.dependency.DependencyReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.bug.BugReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.service.ServiceReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.metric.MetricBaselineReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.heavy.HeavyReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.alert.exception.AlertReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.utilization.UtilizationReportBuilder</role>
</requirement>
<requirement>
<role>com.dianping.cat.report.task.network.NetTopologyReportBuilder</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.page.model.spi.ModelService</role>
......
......@@ -60,4 +60,7 @@
<model package="com.dianping.cat.home.alert.thirdParty" name="thirdParty">
<sample-model>src/test/resources/config/thirdParty-config.xml</sample-model>
</model>
<model package="com.dianping.cat.home.router" name="router">
<sample-model>src/test/resources/config/router-config.xml</sample-model>
</model>
</wizard>
......@@ -83,7 +83,7 @@
</br>
<h4 class="text-success">第三步:产品线配置</h4>
<p>业务监控展示的是一个产品线下所有的业务指标信息,CAT提供了产品的配置信息</p>
<p><span class='text-error'>1、必须把项目加入到一个产品线,这样项目下所有指标才能在这个产品线正确展示</span></p>
<p><span class='text-error'>1、必须把项目加入到一个产品线,这样项目下所有指标才能在这个产品线正确展示,如果项目换名,必须重新修改。</span></p>
<p><span class='text-error'>2、告警邮件:当这个产品线下的业务指标出现异常时,会发送邮件到此邮箱</span></p>
<p><span class='text-error'>3、告警短信:当这个产品线下的业务指标出现异常时,会发送邮件到此号码</span></p>
<h4 class="text-error">url : <a href="/cat/s/config?op=topologyProductLines" target="_blank">链接</a></h4>
......
<router-config>
<domain id="Cat">
<server id="10.1.6.101" port="2280"></server>
<server id="10.1.6.102" port="2280"></server>
<server id="10.1.6.103" port="2280"></server>
</domain>
<domain></domain>
</router-config>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册