Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
4a0609ae
C
cat
项目概览
梦中观雨
/
cat
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4a0609ae
编写于
7月 16, 2014
作者:
J
jialinsun
浏览文件
操作
浏览文件
下载
差异文件
pull resolve conflicts
上级
3d37004c
251c82cf
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
3841 addition
and
76 deletion
+3841
-76
cat-core/src/main/java/com/dianping/cat/config/app/AppDataService.java
...main/java/com/dianping/cat/config/app/AppDataService.java
+42
-3
cat-core/src/main/resources/META-INF/dal/jdbc/app-dal.xml
cat-core/src/main/resources/META-INF/dal/jdbc/app-dal.xml
+42
-1
cat-home/src/main/java/com/dianping/cat/report/page/app/graph/AppGraphCreator.java
...m/dianping/cat/report/page/app/graph/AppGraphCreator.java
+2
-6
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+3687
-31
cat-home/src/main/webapp/js/baseGraph.js
cat-home/src/main/webapp/js/baseGraph.js
+30
-12
cat-home/src/main/webapp/jsp/report/app.jsp
cat-home/src/main/webapp/jsp/report/app.jsp
+1
-1
cat-home/src/test/java/com/dianping/cat/report/analyzer/TopologyGraphTest.java
...a/com/dianping/cat/report/analyzer/TopologyGraphTest.java
+35
-16
script/Cat.sql
script/Cat.sql
+2
-6
未找到文件。
cat-core/src/main/java/com/dianping/cat/config/app/AppDataService.java
浏览文件 @
4a0609ae
...
...
@@ -3,11 +3,23 @@ package com.dianping.cat.config.app;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Random
;
import
org.unidal.dal.jdbc.DalException
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.app.AppDataCommand
;
import
com.dianping.cat.app.AppDataCommandDao
;
import
com.dianping.cat.app.AppDataCommandEntity
;
public
class
AppDataService
{
@Inject
private
AppDataCommandDao
m_dao
;
public
static
final
String
SUCCESS_RATIO
=
"successRatio"
;
public
static
final
String
REQUEST_COUNT
=
"requestCount"
;
...
...
@@ -52,6 +64,11 @@ public class AppDataService {
return
map
;
}
private
Map
<
String
,
double
[]>
querySuccessRatio
(
QueryEntity
entity
)
{
return
makeMockValue
(
SUCCESS_RATIO
);
}
private
Map
<
String
,
double
[]>
queryDelayAvg
(
QueryEntity
entity
)
{
return
makeMockValue
(
DELAY_AVG
);
...
...
@@ -62,9 +79,31 @@ public class AppDataService {
return
makeMockValue
(
REQUEST_COUNT
);
}
private
Map
<
String
,
double
[]>
querySuccessRatio
(
QueryEntity
entity
)
{
return
makeMockValue
(
SUCCESS_RATIO
);
public
void
queryAvg
(
QueryEntity
entity
)
{
int
commandId
=
entity
.
getCommand
();
Date
period
=
entity
.
getDate
();
int
city
=
entity
.
getCity
();
int
operator
=
entity
.
getOperator
();
int
network
=
entity
.
getNetwork
();
int
appVersion
=
entity
.
getVersion
();
int
connnectType
=
entity
.
getChannel
();
int
code
=
entity
.
getCode
();
int
platform
=
entity
.
getPlatfrom
();
try
{
List
<
AppDataCommand
>
datas
=
m_dao
.
findData
(
commandId
,
period
,
city
,
operator
,
network
,
appVersion
,
connnectType
,
code
,
platform
,
AppDataCommandEntity
.
READSET_DATA
);
for
(
AppDataCommand
data
:
datas
)
{
int
minuteOrder
=
data
.
getMinuteOrder
();
long
count
=
data
.
getAccessNumberSum
();
long
sum
=
data
.
getResponseSumTimeSum
();
double
avg
=
sum
/
count
;
}
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
}
public
static
class
Statistics
{
...
...
cat-core/src/main/resources/META-INF/dal/jdbc/app-dal.xml
浏览文件 @
4a0609ae
...
...
@@ -16,9 +16,14 @@
<member
name=
"access-number-sum"
/>
<member
name=
"response-sum-time-sum"
/>
</readset>
<readset
name=
"SUCCESS-DATA"
>
<member
name=
"minute-order"
/>
<member
name=
"code"
/>
<member
name=
"access-number-sum"
/>
</readset>
</readsets>
<query-defs>
<query
name=
"insert-data"
type=
"INSERT"
>
<query
name=
"insert-data"
type=
"INSERT"
>
<param
name=
"command-id"
/>
<statement>
<![CDATA[INSERT INTO <TABLE/>
(
<FIELDS/>
)
VALUES(
<VALUES/>
)]]>
</statement>
...
...
@@ -59,6 +64,42 @@
</IF>
group by
<FIELD
name=
'minute-order'
/>
]]>
</statement>
</query>
<query
name=
"find-success-data"
type=
"SELECT"
multiple=
"true"
>
<param
name=
"command-id"
/><param
name=
"period"
/>
<param
name=
"period"
/>
<param
name=
"city"
/>
<param
name=
"operator"
/>
<param
name=
"network"
/>
<param
name=
"app-version"
/>
<param
name=
"connnect-type"
/>
<param
name=
"code"
/>
<param
name=
"platform"
/>
<statement>
<![CDATA[SELECT <FIELDS/>
FROM
<TABLE/>
WHERE
<FIELD
name=
'period'
/>
= ${period}
<IF
type=
'NOT_ZERO'
field=
'city'
>
AND
<FIELD
name=
'city'
/>
= ${city}
</IF>
<IF
type=
'NOT_ZERO'
field=
'operator'
>
AND
<FIELD
name=
'operator'
/>
= ${operator}
</IF>
<IF
type=
'NOT_ZERO'
field=
'network'
>
AND
<FIELD
name=
'network'
/>
= ${network}
</IF>
<IF
type=
'NOT_ZERO'
field=
'app-version'
>
AND
<FIELD
name=
'app-version'
/>
= ${app-version}
</IF>
<IF
type=
'NOT_ZERO'
field=
'connnect-type'
>
AND
<FIELD
name=
'connnect-type'
/>
= ${connnect-type}
</IF>
<IF
type=
'NOT_ZERO'
field=
'code'
>
AND
<FIELD
name=
'code'
/>
= ${code}
</IF>
<IF
type=
'NOT_ZERO'
field=
'platform'
>
AND
<FIELD
name=
'platform'
/>
= ${platform}
</IF>
group by
<FIELD
name=
'minute-order'
/>
,
<FIELD
name=
'code'
/>
]]>
</statement>
</query>
</query-defs>
</entity>
</entities>
cat-home/src/main/java/com/dianping/cat/report/page/app/graph/AppGraphCreator.java
浏览文件 @
4a0609ae
...
...
@@ -44,18 +44,17 @@ public class AppGraphCreator extends AbstractGraphCreator {
lineChart
.
setId
(
startDate
.
toString
());
lineChart
.
setHtmlTitle
(
key
);
Map
<
Long
,
Double
>
all
=
convertToMap
(
datas
.
get
(
key
),
startDate
,
endDate
,
5
);
Map
<
Long
,
Double
>
all
=
convertToMap
(
datas
.
get
(
key
),
startDate
,
5
);
lineChart
.
add
(
startDate
.
toString
(),
all
);
}
return
lineChart
;
}
protected
Map
<
Long
,
Double
>
convertToMap
(
double
[]
data
,
Date
start
,
Date
end
,
int
step
)
{
protected
Map
<
Long
,
Double
>
convertToMap
(
double
[]
data
,
Date
start
,
int
step
)
{
Map
<
Long
,
Double
>
map
=
new
LinkedHashMap
<
Long
,
Double
>();
int
length
=
data
.
length
;
long
startTime
=
start
.
getTime
();
long
endTime
=
end
.
getTime
();
long
time
=
startTime
;
int
i
=
0
;
...
...
@@ -64,9 +63,6 @@ public class AppGraphCreator extends AbstractGraphCreator {
map
.
put
(
time
,
data
[
i
]);
}
for
(;
time
<
endTime
;
time
+=
step
*
TimeUtil
.
ONE_MINUTE
)
{
map
.
put
(
time
,
-
1
D
);
}
return
map
;
}
}
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
4a0609ae
...
...
@@ -392,6 +392,3693 @@
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.config.app.AppDataService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.TransactionReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.TransactionReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.EventReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.EventReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.ProblemReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.ProblemReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.MatrixReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.MatrixReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.CrossReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.CrossReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.StateReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.StateReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.BugReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.BugReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.UtilizationReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.UtilizationReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.ServiceReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.ServiceReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.HeavyReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.HeavyReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.NetTopologyReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.NetTopologyReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.AlertReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.AlertReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.TopReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.TopReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.DependencyReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.DependencyReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.HeartbeatReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.HeartbeatReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.impl.MetricReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.MetricReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.advanced.dal.BusinessReportDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.ReportService
</role>
<implementation>
com.dianping.cat.report.service.impl.DefaultReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.WeeklyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.MonthlyReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HourlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.TransactionReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.EventReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.ProblemReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.MatrixReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.DependencyReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.TopReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.StateReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.CrossReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.HeartbeatReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.MetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.BugReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.HeavyReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.ServiceReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.UtilizationReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.NetTopologyReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.impl.AlertReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.DefaultTaskConsumer
</role>
<implementation>
com.dianping.cat.report.task.DefaultTaskConsumer
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.TaskDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.spi.ReportFacade
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.transaction.TransactionGraphCreator
</role>
<implementation>
com.dianping.cat.report.task.transaction.TransactionGraphCreator
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.event.EventGraphCreator
</role>
<implementation>
com.dianping.cat.report.task.event.EventGraphCreator
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.problem.ProblemGraphCreator
</role>
<implementation>
com.dianping.cat.report.task.problem.ProblemGraphCreator
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.heartbeat.HeartbeatGraphCreator
</role>
<implementation>
com.dianping.cat.report.task.heartbeat.HeartbeatGraphCreator
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.transaction.TransactionMerger
</role>
<implementation>
com.dianping.cat.report.task.transaction.TransactionMerger
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.event.EventMerger
</role>
<implementation>
com.dianping.cat.report.task.event.EventMerger
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.problem.ProblemMerger
</role>
<implementation>
com.dianping.cat.report.task.problem.ProblemMerger
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.metric.MetricPointParser
</role>
<implementation>
com.dianping.cat.report.task.metric.MetricPointParser
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.baseline.BaselineCreator
</role>
<implementation>
com.dianping.cat.report.baseline.impl.DefaultBaselineCreator
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
<implementation>
com.dianping.cat.report.baseline.impl.DefaultBaselineService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.home.dal.report.BaselineDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.baseline.BaselineConfigManager
</role>
<implementation>
com.dianping.cat.report.baseline.BaselineConfigManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.metric.MetricBaselineReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.metric.MetricBaselineReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.metric.MetricPointParser
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.transaction.TransactionReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.transaction.TransactionReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.transaction.TransactionGraphCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.transaction.TransactionMerger
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.event.EventReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.event.EventReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.event.EventGraphCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.event.EventMerger
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.problem.ProblemReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.problem.ProblemReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.problem.ProblemGraphCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.problem.ProblemMerger
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.heartbeat.HeartbeatGraphCreator
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.bug.BugReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.bug.BugReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.service.ServiceReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.service.ServiceReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.DomainManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.matrix.MatrixReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.matrix.MatrixReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.cross.CrossReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.cross.CrossReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.state.StateReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.state.StateReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.exception.AlertReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.alert.exception.AlertReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.heavy.HeavyReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.heavy.HeavyReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.utilization.UtilizationReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.utilization.UtilizationReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.TransactionMergeManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.DomainManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.dependency.DependencyReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.dependency.DependencyReportBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.TopologyGraphDao
</role>
</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>
com.dianping.cat.report.task.network.NetTopologyReportBuilder
</role>
<implementation>
com.dianping.cat.report.task.network.NetTopologyReportBuilder
</implementation>
<requirements>
<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.system.config.NetGraphConfigManager
</role>
</requirement>
</requirements>
</component>
<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>
<role-hint>
transaction-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.transaction.HistoricalTransactionService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction
</role-hint>
<implementation>
com.dianping.cat.report.page.model.transaction.CompositeTransactionService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
transaction-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.event.HistoricalEventService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event
</role-hint>
<implementation>
com.dianping.cat.report.page.model.event.CompositeEventService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
event-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.problem.HistoricalProblemService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem
</role-hint>
<implementation>
com.dianping.cat.report.page.model.problem.CompositeProblemService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
problem-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
heartbeat-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
heartbeat-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.heartbeat.HistoricalHeartbeatService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
heartbeat
</role-hint>
<implementation>
com.dianping.cat.report.page.model.heartbeat.CompositeHeartbeatService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
heartbeat-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
matrix-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
matrix-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.matrix.HistoricalMatrixService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
matrix
</role-hint>
<implementation>
com.dianping.cat.report.page.model.matrix.CompositeMatrixService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
matrix-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.state.HistoricalStateService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state
</role-hint>
<implementation>
com.dianping.cat.report.page.model.state.CompositeStateService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
state-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
cross-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
cross-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.cross.HistoricalCrossService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
cross
</role-hint>
<implementation>
com.dianping.cat.report.page.model.cross.CompositeCrossService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
cross-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.top.HistoricalTopService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top
</role-hint>
<implementation>
com.dianping.cat.report.page.model.top.CompositeTopService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
top-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.dependency.HistoricalDependencyService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency
</role-hint>
<implementation>
com.dianping.cat.report.page.model.dependency.CompositeDependencyService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
dependency-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
metric-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
metric-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.metric.HistoricalMetricService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
metric
</role-hint>
<implementation>
com.dianping.cat.report.page.model.metric.CompositeMetricService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
metric-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
logview
</role-hint>
<implementation>
com.dianping.cat.report.page.model.logview.CompositeLogViewService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hints>
<role-hint>
message-historical
</role-hint>
<role-hint>
logview-historical
</role-hint>
</role-hints>
<field-name>
m_services
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
message-local
</role-hint>
<implementation>
com.dianping.cat.report.page.model.logview.LocalMessageService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.storage.dump.MessageBucketManager
</role>
<role-hint>
local
</role-hint>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.MessageCodec
</role>
<role-hint>
html
</role-hint>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
message-historical
</role-hint>
<implementation>
com.dianping.cat.report.page.model.logview.HistoricalMessageService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.dump.MessageBucketManager
</role>
<role-hint>
local
</role-hint>
<field-name>
m_localBucketManager
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.storage.dump.MessageBucketManager
</role>
<role-hint>
hdfs
</role-hint>
<field-name>
m_hdfsBucketManager
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.MessageCodec
</role>
<role-hint>
html
</role-hint>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.service.CachedReportTask
</role>
<implementation>
com.dianping.cat.report.service.CachedReportTask
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</role>
<implementation>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.business.BusinessAlertConfig
</role>
<implementation>
com.dianping.cat.report.task.alert.business.BusinessAlertConfig
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.network.NetworkAlertConfig
</role>
<implementation>
com.dianping.cat.report.task.alert.network.NetworkAlertConfig
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.system.SystemAlertConfig
</role>
<implementation>
com.dianping.cat.report.task.alert.system.SystemAlertConfig
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.exception.ExceptionAlertConfig
</role>
<implementation>
com.dianping.cat.report.task.alert.exception.ExceptionAlertConfig
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
<implementation>
com.dianping.cat.report.task.alert.AlertInfo
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.tool.DefaultMailImpl
</role>
<implementation>
com.dianping.cat.system.tool.DefaultMailImpl
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.DataChecker
</role>
<implementation>
com.dianping.cat.report.task.alert.DefaultDataChecker
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.business.BusinessAlert
</role>
<implementation>
com.dianping.cat.report.task.alert.business.BusinessAlert
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.business.BusinessAlertConfig
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.AlertDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.BusinessRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.DataChecker
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.network.NetworkAlert
</role>
<implementation>
com.dianping.cat.report.task.alert.network.NetworkAlert
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.network.NetworkAlertConfig
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.AlertDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.NetworkRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.DataChecker
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.system.SystemAlert
</role>
<implementation>
com.dianping.cat.report.task.alert.system.SystemAlert
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.system.SystemAlertConfig
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.AlertDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.SystemRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.DataChecker
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.exception.AlertExceptionBuilder
</role>
<implementation>
com.dianping.cat.report.task.alert.exception.AlertExceptionBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.exception.ExceptionAlert
</role>
<implementation>
com.dianping.cat.report.task.alert.exception.ExceptionAlert
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.exception.ExceptionAlertConfig
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.exception.AlertExceptionBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.AlertDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top
</role-hint>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.NetGraphConfigManager
</role>
<implementation>
com.dianping.cat.system.config.NetGraphConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager
</role>
<implementation>
org.unidal.dal.jdbc.datasource.JdbcDataSourceDescriptorManager
</implementation>
<configuration>
<datasourceFile>
/data/appdatas/cat/datasources.xml
</datasourceFile>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
alert
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
alert
</logical-table-name>
<physical-table-name>
alert
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
alert-summary
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
alert-summary
</logical-table-name>
<physical-table-name>
alert_summary
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
alteration
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
alteration
</logical-table-name>
<physical-table-name>
alteration
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
baseline
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
baseline
</logical-table-name>
<physical-table-name>
baseline
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
daily-report-content
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
daily-report-content
</logical-table-name>
<physical-table-name>
daily_report_content
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
event
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
event
</logical-table-name>
<physical-table-name>
event
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
monthly-report-content
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
monthly-report-content
</logical-table-name>
<physical-table-name>
monthly_report_content
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
topology-graph
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
topology-graph
</logical-table-name>
<physical-table-name>
topologyGraph
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
weekly-report-content
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
weekly-report-content
</logical-table-name>
<physical-table-name>
weekly_report_content
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.AlertDao
</role>
<implementation>
com.dianping.cat.home.dal.report.AlertDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.AlertSummaryDao
</role>
<implementation>
com.dianping.cat.home.dal.report.AlertSummaryDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.AlterationDao
</role>
<implementation>
com.dianping.cat.home.dal.report.AlterationDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.BaselineDao
</role>
<implementation>
com.dianping.cat.home.dal.report.BaselineDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.DailyReportContentDao
</role>
<implementation>
com.dianping.cat.home.dal.report.DailyReportContentDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.EventDao
</role>
<implementation>
com.dianping.cat.home.dal.report.EventDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</role>
<implementation>
com.dianping.cat.home.dal.report.MonthlyReportContentDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.TopologyGraphDao
</role>
<implementation>
com.dianping.cat.home.dal.report.TopologyGraphDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</role>
<implementation>
com.dianping.cat.home.dal.report.WeeklyReportContentDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
mail-record
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
mail-record
</logical-table-name>
<physical-table-name>
mailRecord
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
scheduled-report
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
scheduled-report
</logical-table-name>
<physical-table-name>
scheduledReport
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
scheduled-report-subscription
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
scheduled-report-subscription
</logical-table-name>
<physical-table-name>
scheduledReportSubscription
</physical-table-name>
<data-source-name>
cat
</data-source-name>
</configuration>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.MailRecordDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.MailRecordDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.ScheduledReportDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
org.unidal.dal.jdbc.mapping.TableProvider
</role>
<role-hint>
dp-admin-login
</role-hint>
<implementation>
org.unidal.dal.jdbc.mapping.SimpleTableProvider
</implementation>
<configuration>
<logical-table-name>
dp-admin-login
</logical-table-name>
<physical-table-name>
DP_AdminLogin
</physical-table-name>
<data-source-name>
user
</data-source-name>
</configuration>
</component>
<component>
<role>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</role>
<implementation>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.product.ProjectUpdateTask
</role>
<implementation>
com.dianping.cat.report.task.product.ProjectUpdateTask
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.HostinfoDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
org.unidal.web.mvc.model.ModuleRegistry
</role>
<implementation>
org.unidal.web.mvc.model.ModuleRegistry
</implementation>
<configuration>
<modules>
<module
default=
"true"
>
com.dianping.cat.report.ReportModule
</module>
<module>
com.dianping.cat.system.SystemModule
</module>
</modules>
</configuration>
</component>
<component>
<role>
com.dianping.cat.report.ReportModule
</role>
<implementation>
com.dianping.cat.report.ReportModule
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.home.Handler
</role>
<implementation>
com.dianping.cat.report.page.home.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.home.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.home.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.home.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.consumer.RealtimeConsumer
</role>
<implementation>
com.dianping.cat.consumer.RealtimeConsumer
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.analysis.MessageAnalyzerManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.statistic.ServerStatisticManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.statistic.ServerStatisticManager
</role>
<implementation>
com.dianping.cat.statistic.ServerStatisticManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.problem.Handler
</role>
<implementation>
com.dianping.cat.report.page.problem.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.problem.HistoryGraphs
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.problem.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.DomainGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.JsonBuilder
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.problem.HistoryGraphs
</role>
<implementation>
com.dianping.cat.report.page.problem.HistoryGraphs
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
<implementation>
com.dianping.cat.core.dal.GraphDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
<implementation>
com.dianping.cat.core.dal.DailyGraphDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.problem.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.problem.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.ServerConfigManager
</role>
<implementation>
com.dianping.cat.ServerConfigManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.config.DomainGroupConfigManager
</role>
<implementation>
com.dianping.cat.system.config.DomainGroupConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
<implementation>
com.dianping.cat.core.config.ConfigDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
<implementation>
com.dianping.cat.report.page.PayloadNormalizer
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.JsonBuilder
</role>
<implementation>
com.dianping.cat.report.page.JsonBuilder
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.transaction.Handler
</role>
<implementation>
com.dianping.cat.report.page.transaction.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.graph.GraphBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.HistoryGraphs
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.XmlViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.TransactionMergeManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.DomainGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.transaction.HistoryGraphs
</role>
<implementation>
com.dianping.cat.report.page.transaction.HistoryGraphs
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.transaction.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.transaction.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.transaction.XmlViewer
</role>
<implementation>
com.dianping.cat.report.page.transaction.XmlViewer
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.transaction.TransactionMergeManager
</role>
<implementation>
com.dianping.cat.report.page.transaction.TransactionMergeManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.event.Handler
</role>
<implementation>
com.dianping.cat.report.page.event.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.graph.GraphBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.event.HistoryGraphs
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.event.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.event.EventMergeManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.DomainGroupConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.event.HistoryGraphs
</role>
<implementation>
com.dianping.cat.report.page.event.HistoryGraphs
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.DailyGraphDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.event.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.event.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.event.EventMergeManager
</role>
<implementation>
com.dianping.cat.report.page.event.EventMergeManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.heartbeat.Handler
</role>
<implementation>
com.dianping.cat.report.page.heartbeat.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.graph.GraphBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.heartbeat.HistoryGraphs
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.heartbeat.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
heartbeat
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.heartbeat.HistoryGraphs
</role>
<implementation>
com.dianping.cat.report.page.heartbeat.HistoryGraphs
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.GraphDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.heartbeat.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.heartbeat.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.logview.Handler
</role>
<implementation>
com.dianping.cat.report.page.logview.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.logview.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
logview
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessagePathBuilder
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.logview.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.logview.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.Handler
</role>
<implementation>
com.dianping.cat.report.page.model.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
cross-local
</role-hint>
<field-name>
m_crossService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency-local
</role-hint>
<field-name>
m_dependencyService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event-local
</role-hint>
<field-name>
m_eventService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
heartbeat-local
</role-hint>
<field-name>
m_heartbeatService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
matrix-local
</role-hint>
<field-name>
m_matrixService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
message-local
</role-hint>
<field-name>
m_messageService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
metric-local
</role-hint>
<field-name>
m_metricService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem-local
</role-hint>
<field-name>
m_problemService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state-local
</role-hint>
<field-name>
m_stateService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top-local
</role-hint>
<field-name>
m_topService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction-local
</role-hint>
<field-name>
m_transactionService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.service.IpService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.cross.LocalCrossService
</role>
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</role>
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.event.LocalEventService
</role>
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</role>
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</role>
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.logview.LocalMessageService
</role>
<implementation>
com.dianping.cat.report.page.model.logview.LocalMessageService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.dump.MessageBucketManager
</role>
<role-hint>
local
</role-hint>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.MessageCodec
</role>
<role-hint>
html
</role-hint>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.metric.LocalMetricService
</role>
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.problem.LocalProblemService
</role>
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.state.LocalStateService
</role>
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.top.LocalTopService
</role>
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</role>
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.storage.BucketManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.service.IpService
</role>
<implementation>
com.dianping.cat.service.IpService
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.dashboard.Handler
</role>
<implementation>
com.dianping.cat.report.page.dashboard.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.dashboard.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.transaction.TransactionMergeManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.event.EventMergeManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event
</role-hint>
<field-name>
m_eventService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction
</role-hint>
<field-name>
m_transactionService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem
</role-hint>
<field-name>
m_problemService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.JsonBuilder
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dashboard.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.dashboard.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.matrix.Handler
</role>
<implementation>
com.dianping.cat.report.page.matrix.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.matrix.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
matrix
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.matrix.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.matrix.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cross.Handler
</role>
<implementation>
com.dianping.cat.report.page.cross.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.cross.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.DomainManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
cross
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cross.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.cross.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.DomainManager
</role>
<implementation>
com.dianping.cat.DomainManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.HostinfoDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.core.dal.HostinfoDao
</role>
<implementation>
com.dianping.cat.core.dal.HostinfoDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
<implementation>
com.dianping.cat.core.dal.ProjectDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cache.Handler
</role>
<implementation>
com.dianping.cat.report.page.cache.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
event
</role-hint>
<field-name>
m_eventService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.cache.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
transaction
</role-hint>
<field-name>
m_transactionService
</field-name>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cache.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.cache.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.state.Handler
</role>
<implementation>
com.dianping.cat.report.page.state.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.state.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.state.StateGraphs
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.state.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.state.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.state.StateGraphs
</role>
<implementation>
com.dianping.cat.report.page.state.StateGraphs
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.top.Handler
</role>
<implementation>
com.dianping.cat.report.page.top.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.top.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.top.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.top.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
<implementation>
com.dianping.cat.system.config.ExceptionConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.metric.Handler
</role>
<implementation>
com.dianping.cat.report.page.metric.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.metric.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.metric.graph.MetricGraphCreator
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.metric.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.metric.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
<implementation>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
<implementation>
com.dianping.cat.system.config.MetricGroupConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.metric.graph.MetricGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.metric.graph.MetricGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
<implementation>
com.dianping.cat.consumer.metric.MetricConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
<implementation>
com.dianping.cat.report.task.alert.AlertInfo
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.Handler
</role>
<implementation>
com.dianping.cat.report.page.dependency.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency
</role-hint>
<field-name>
m_dependencyService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
state
</role-hint>
<field-name>
m_stateService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.ExternalInfoBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphManager
</role>
<implementation>
com.dianping.cat.report.page.dependency.graph.TopologyGraphManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
dependency
</role-hint>
<field-name>
m_service
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.TopologyGraphDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.view.DomainNavManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder
</role>
<implementation>
com.dianping.cat.report.page.dependency.graph.TopologyGraphBuilder
</implementation>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.TopologyGraphDao
</role>
<implementation>
com.dianping.cat.home.dal.report.TopologyGraphDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.view.DomainNavManager
</role>
<implementation>
com.dianping.cat.report.view.DomainNavManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.ExternalInfoBuilder
</role>
<implementation>
com.dianping.cat.report.page.dependency.ExternalInfoBuilder
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
problem
</role-hint>
<field-name>
m_problemservice
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
top
</role-hint>
<field-name>
m_topService
</field-name>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.externalError.EventCollectManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.externalError.EventCollectManager
</role>
<implementation>
com.dianping.cat.report.page.externalError.EventCollectManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.home.dal.report.EventDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.EventDao
</role>
<implementation>
com.dianping.cat.home.dal.report.EventDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.dependency.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.externalError.Handler
</role>
<implementation>
com.dianping.cat.report.page.externalError.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.externalError.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.externalError.EventCollectManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.DomainManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.externalError.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.externalError.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.statistics.Handler
</role>
<implementation>
com.dianping.cat.report.page.statistics.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.statistics.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.BugConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.statistics.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.statistics.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.BugConfigManager
</role>
<implementation>
com.dianping.cat.system.config.BugConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.alteration.Handler
</role>
<implementation>
com.dianping.cat.report.page.alteration.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.alteration.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.report.AlterationDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.alteration.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.alteration.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.report.AlterationDao
</role>
<implementation>
com.dianping.cat.home.dal.report.AlterationDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.monitor.Handler
</role>
<implementation>
com.dianping.cat.report.page.monitor.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.monitor.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.JsonBuilder
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.monitor.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.monitor.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.network.Handler
</role>
<implementation>
com.dianping.cat.report.page.network.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.network.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.network.graph.NetworkGraphCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.network.nettopology.NetGraphManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.network.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.network.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.network.graph.NetworkGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.network.graph.NetworkGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</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.report.task.alert.RemoteMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</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.alert.RemoteMetricReportService
</role>
<implementation>
com.dianping.cat.report.task.alert.RemoteMetricReportService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</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.system.config.NetGraphConfigManager
</role>
<implementation>
com.dianping.cat.system.config.NetGraphConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.userMonitor.Handler
</role>
<implementation>
com.dianping.cat.report.page.userMonitor.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.userMonitor.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.url.UrlPatternConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.userMonitor.CityManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.userMonitor.graph.UserMonitorGraphCreator
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.userMonitor.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.userMonitor.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.config.url.UrlPatternConfigManager
</role>
<implementation>
com.dianping.cat.config.url.UrlPatternConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.url.UrlPatternHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.userMonitor.CityManager
</role>
<implementation>
com.dianping.cat.report.page.userMonitor.CityManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.report.page.system.Handler
</role>
<implementation>
com.dianping.cat.report.page.system.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.system.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.PayloadNormalizer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.system.graph.SystemGraphCreator
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.system.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.system.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.system.graph.SystemGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.system.graph.SystemGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cdn.Handler
</role>
<implementation>
com.dianping.cat.report.page.cdn.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.cdn.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.userMonitor.CityManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.cdn.graph.CdnGraphCreator
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cdn.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.cdn.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.cdn.graph.CdnGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.cdn.graph.CdnGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.app.Handler
</role>
<implementation>
com.dianping.cat.report.page.app.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.report.page.app.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.app.AppConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.app.JspViewer
</role>
<implementation>
com.dianping.cat.report.page.app.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.config.app.AppConfigManager
</role>
<implementation>
com.dianping.cat.config.app.AppConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.config.app.AppDataService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.config.app.AppDataService
</role>
<implementation>
com.dianping.cat.config.app.AppDataService
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.SystemModule
</role>
<implementation>
com.dianping.cat.system.SystemModule
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.page.alarm.Handler
</role>
<implementation>
com.dianping.cat.system.page.alarm.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.alarm.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.alarm.RecordManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.alarm.ScheduledManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.alarm.JspViewer
</role>
<implementation>
com.dianping.cat.system.page.alarm.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.alarm.RecordManager
</role>
<implementation>
com.dianping.cat.system.page.alarm.RecordManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.home.dal.alarm.MailRecordDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.MailRecordDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.MailRecordDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.alarm.ScheduledManager
</role>
<implementation>
com.dianping.cat.system.page.alarm.ScheduledManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportSubscriptionDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</role>
<implementation>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.alarm.ScheduledReportDao
</role>
<implementation>
com.dianping.cat.home.dal.alarm.ScheduledReportDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.login.Handler
</role>
<implementation>
com.dianping.cat.system.page.login.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.login.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.login.service.SigninService
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.login.JspViewer
</role>
<implementation>
com.dianping.cat.system.page.login.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.login.service.SigninService
</role>
<implementation>
com.dianping.cat.system.page.login.service.SigninService
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.login.service.TokenManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.login.service.SessionManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.login.service.TokenManager
</role>
<implementation>
com.dianping.cat.system.page.login.service.TokenManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.login.service.CookieManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.login.service.TokenBuilder
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.login.service.CookieManager
</role>
<implementation>
com.dianping.cat.system.page.login.service.CookieManager
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.page.login.service.TokenBuilder
</role>
<implementation>
com.dianping.cat.system.page.login.service.TokenBuilder
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.page.login.service.SessionManager
</role>
<implementation>
com.dianping.cat.system.page.login.service.SessionManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.home.dal.user.DpAdminLoginDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.config.Handler
</role>
<implementation>
com.dianping.cat.system.page.config.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.config.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.aggregation.AggregationConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.ExceptionConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.DomainGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.BugConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.url.UrlPatternConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.BusinessRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.NetworkRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.SystemRuleConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.app.AppConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.view.DomainNavManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.NetGraphConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.config.JspViewer
</role>
<implementation>
com.dianping.cat.system.page.config.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphConfigManager
</role>
<implementation>
com.dianping.cat.report.page.dependency.graph.TopologyGraphConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.config.aggregation.AggregationConfigManager
</role>
<implementation>
com.dianping.cat.config.aggregation.AggregationConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.config.aggregation.AggregationHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.BusinessRuleConfigManager
</role>
<implementation>
com.dianping.cat.system.config.BusinessRuleConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.NetworkRuleConfigManager
</role>
<implementation>
com.dianping.cat.system.config.NetworkRuleConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.SystemRuleConfigManager
</role>
<implementation>
com.dianping.cat.system.config.SystemRuleConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.config.AlertConfigManager
</role>
<implementation>
com.dianping.cat.system.config.AlertConfigManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.core.config.ConfigDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.plugin.Handler
</role>
<implementation>
com.dianping.cat.system.page.plugin.Handler
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.page.plugin.JspViewer
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.page.plugin.JspViewer
</role>
<implementation>
com.dianping.cat.system.page.plugin.JspViewer
</implementation>
<requirements>
<requirement>
<role>
org.unidal.web.mvc.view.model.ModelHandler
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
<implementation>
com.dianping.cat.system.tool.DefaultMailImpl
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.system.notify.ReportRender
</role>
<implementation>
com.dianping.cat.system.notify.ReportRenderImpl
</implementation>
</component>
<component>
<role>
com.dianping.cat.system.notify.ScheduledMailTask
</role>
<implementation>
com.dianping.cat.system.notify.ScheduledMailTask
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.system.notify.ReportRender
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.tool.MailSMS
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.page.alarm.ScheduledManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.alarm.MailRecordDao
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.task.alert.business.BusinessAlertConfig
</role>
<implementation>
com.dianping.cat.report.task.alert.business.BusinessAlertConfig
</implementation>
...
...
@@ -600,37 +4287,6 @@
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</role>
<implementation>
com.dianping.cat.report.page.app.graph.AppGraphCreator
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.config.app.AppDataService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.CachedMetricReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.DataExtractor
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.chart.MetricDataFetcher
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.baseline.BaselineService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.MetricConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.consumer.metric.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.system.config.MetricGroupConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.task.alert.AlertInfo
</role>
</requirement>
</requirements>
<role>
org.unidal.initialization.Module
</role>
<role-hint>
cat-home
</role-hint>
<implementation>
com.dianping.cat.CatHomeModule
</implementation>
...
...
cat-home/src/main/webapp/js/baseGraph.js
浏览文件 @
4a0609ae
...
...
@@ -164,14 +164,33 @@ function graphMetricChart(container, data) {
});
}
function
graphMetricChart2
(
container
,
data
)
{
function
parseMetricLineDataForApp
(
data
)
{
var
res
=
[];
data
.
subTitles
.
forEach
(
function
(
title
,
i
)
{
var
series
=
{}
series
.
name
=
title
;
series
.
data
=
[];
var
map
=
data
.
datas
[
i
];
var
j
=
0
;
for
(
var
key
in
map
)
{
var
value
=
map
[
key
];
series
.
data
[
j
]
=
value
;
j
++
;
}
res
.
push
(
series
);
});
return
res
;
}
function
graphMetricChartForApp
(
container
,
data
)
{
Highcharts
.
setOptions
({
global
:
{
useUTC
:
false
}
});
var
ylabelMin
=
data
.
minYlable
;
var
_data
=
parseMetricLineData
(
data
);
var
_data
=
parseMetricLineData
ForApp
(
data
);
$
(
container
).
highcharts
(
{
chart
:
{
...
...
@@ -182,16 +201,15 @@ function graphMetricChart2(container, data) {
useHTML
:
true
},
xAxis
:
{
type
:
'
datetime
'
,
dateTimeLabelFormats
:
{
second
:
'
%H:%M:%S
'
,
minute
:
'
%H:%M
'
,
hour
:
'
%H:%M
'
,
day
:
'
%m-%d
'
,
week
:
'
%Y-%m-%d
'
,
month
:
'
%m-%d
'
,
year
:
'
%Y-%m
'
},
type
:
"
category
"
,
labels
:
{
step
:
12
,
maxStaggerLines
:
1
,
formatter
:
function
()
{
return
this
.
value
/
12
;
}
},
max
:
288
},
yAxis
:
{
min
:
ylabelMin
,
...
...
cat-home/src/main/webapp/jsp/report/app.jsp
浏览文件 @
4a0609ae
...
...
@@ -174,7 +174,7 @@
}
var
data
=
$
{
model
.
lineChart
.
jsonString
};
graphMetricChart
2
(
document
.
getElementById
(
'
${model.lineChart.id}
'
),
data
);
graphMetricChart
ForApp
(
document
.
getElementById
(
'
${model.lineChart.id}
'
),
data
);
});
</script>
...
...
cat-home/src/test/java/com/dianping/cat/report/analyzer/TopologyGraphTest.java
浏览文件 @
4a0609ae
package
com.dianping.cat.report.analyzer
;
import
java.
text.ParseException
;
import
java.
io.File
;
import
java.text.SimpleDateFormat
;
import
org.junit.Test
;
import
org.unidal.eunit.helper.Files
;
import
org.unidal.lookup.ComponentTestCase
;
import
com.dianping.cat.consumer.metric.ProductLineConfigManager
;
import
com.dianping.cat.home.dependency.graph.entity.TopologyGraph
;
import
com.dianping.cat.report.page.dependency.graph.TopologyGraphManager
;
public
class
TopologyGraphTest
extends
ComponentTestCase
{
public
class
TopologyGraphTest
extends
ComponentTestCase
{
@Test
public
void
test
()
throws
ParseException
{
public
void
test
()
throws
Exception
{
build
(
"2014-07-06 18:00"
);
build
(
"2014-07-06 18:01"
);
build
(
"2014-07-06 18:02"
);
build
(
"2014-07-06 18:03"
);
build
(
"2014-07-06 18:04"
);
build
(
"2014-07-06 18:05"
);
build
(
"2014-07-06 18:06"
);
build
(
"2014-07-06 18:07"
);
build
(
"2014-07-06 18:08"
);
build
(
"2014-07-06 18:09"
);
}
public
void
build
(
String
date
)
throws
Exception
{
TopologyGraphManager
manager
=
lookup
(
TopologyGraphManager
.
class
);
String
date
=
"2014-07-06 18:00"
;
SimpleDateFormat
formate
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
TopologyGraph
graph
=
manager
.
queryGraphFromDB
(
formate
.
parse
(
date
).
getTime
());
System
.
out
.
println
(
graph
);
}
@Test
public
void
test1
(){
ProductLineConfigManager
manager
=
lookup
(
ProductLineConfigManager
.
class
);
System
.
out
.
println
(
manager
.
getCompany
());
try
{
TopologyGraph
graph
=
manager
.
queryGraphFromDB
(
formate
.
parse
(
date
).
getTime
());
if
(
graph
!=
null
)
{
File
file
=
new
File
(
"/tmp/"
+
date
+
".txt"
);
if
(!
file
.
exists
())
{
file
.
createNewFile
();
}
Files
.
forIO
().
writeTo
(
file
,
graph
.
toString
());
}
else
{
System
.
err
.
println
(
date
+
" is null1"
);
}
}
catch
(
Exception
e
)
{
System
.
err
.
println
(
date
+
" is null1"
);
}
}
}
script/Cat.sql
浏览文件 @
4a0609ae
...
...
@@ -328,7 +328,7 @@ CREATE TABLE `alert_summary` (
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'统一告警信息'
;
CREATE
TABLE
`app_data_command`
(
CREATE
TABLE
`app_data_command
_1
`
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增长ID'
,
`period`
date
NOT
NULL
COMMENT
'时间'
,
`minute_order`
smallint
NOT
NULL
COMMENT
'分钟'
,
...
...
@@ -353,8 +353,4 @@ CREATE TABLE `app_data_command` (
KEY
IX_period_connnect_minute
(
period
,
connnect_type
,
minute_order
),
KEY
IX_period_platform_minute
(
period
,
platform
,
minute_order
),
KEY
IX_period_code_minute
(
period
,
code
,
minute_order
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'app基本数据'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'app基本数据'
;
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录