Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
21978fb3
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,发现更多精彩内容 >>
提交
21978fb3
编写于
10月 24, 2013
作者:
Y
yong.you
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify the cat last hour report
上级
a215653a
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
221 addition
and
144 deletion
+221
-144
cat-home/src/main/java/com/dianping/cat/build/ServiceComponentConfigurator.java
.../com/dianping/cat/build/ServiceComponentConfigurator.java
+11
-11
cat-home/src/main/java/com/dianping/cat/report/page/model/cross/LocalCrossService.java
...anping/cat/report/page/model/cross/LocalCrossService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/dependency/LocalDependencyService.java
.../report/page/model/dependency/LocalDependencyService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/event/LocalEventService.java
...anping/cat/report/page/model/event/LocalEventService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/heartbeat/LocalHeartbeatService.java
...at/report/page/model/heartbeat/LocalHeartbeatService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/matrix/LocalMatrixService.java
...ping/cat/report/page/model/matrix/LocalMatrixService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/metric/LocalMetricService.java
...ping/cat/report/page/model/metric/LocalMetricService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/problem/LocalProblemService.java
...ng/cat/report/page/model/problem/LocalProblemService.java
+18
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/sql/LocalSqlService.java
...m/dianping/cat/report/page/model/sql/LocalSqlService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/state/LocalStateService.java
...anping/cat/report/page/model/state/LocalStateService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/top/LocalTopService.java
...m/dianping/cat/report/page/model/top/LocalTopService.java
+17
-10
cat-home/src/main/java/com/dianping/cat/report/page/model/transaction/LocalTransactionService.java
...eport/page/model/transaction/LocalTransactionService.java
+17
-11
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+22
-22
未找到文件。
cat-home/src/main/java/com/dianping/cat/build/ServiceComponentConfigurator.java
浏览文件 @
21978fb3
...
@@ -69,7 +69,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -69,7 +69,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
List
<
Component
>
all
=
new
ArrayList
<
Component
>();
List
<
Component
>
all
=
new
ArrayList
<
Component
>();
all
.
add
(
C
(
ModelService
.
class
,
"transaction-local"
,
LocalTransactionService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"transaction-local"
,
LocalTransactionService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"transaction-historical"
,
HistoricalTransactionService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"transaction-historical"
,
HistoricalTransactionService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -78,7 +78,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -78,7 +78,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"transaction-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"transaction-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"event-local"
,
LocalEventService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"event-local"
,
LocalEventService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"event-historical"
,
HistoricalEventService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"event-historical"
,
HistoricalEventService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -87,7 +87,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -87,7 +87,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"event-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"event-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"problem-local"
,
LocalProblemService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"problem-local"
,
LocalProblemService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"problem-historical"
,
HistoricalProblemService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"problem-historical"
,
HistoricalProblemService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -96,7 +96,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -96,7 +96,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"problem-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"problem-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"heartbeat-local"
,
LocalHeartbeatService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"heartbeat-local"
,
LocalHeartbeatService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"heartbeat-historical"
,
HistoricalHeartbeatService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"heartbeat-historical"
,
HistoricalHeartbeatService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -105,7 +105,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -105,7 +105,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"heartbeat-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"heartbeat-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"matrix-local"
,
LocalMatrixService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"matrix-local"
,
LocalMatrixService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"matrix-historical"
,
HistoricalMatrixService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"matrix-historical"
,
HistoricalMatrixService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -114,7 +114,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -114,7 +114,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"matrix-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"matrix-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"state-local"
,
LocalStateService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"state-local"
,
LocalStateService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"state-historical"
,
HistoricalStateService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"state-historical"
,
HistoricalStateService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -123,7 +123,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -123,7 +123,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"state-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"state-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"cross-local"
,
LocalCrossService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"cross-local"
,
LocalCrossService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"cross-historical"
,
HistoricalCrossService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"cross-historical"
,
HistoricalCrossService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -132,7 +132,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -132,7 +132,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"cross-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"cross-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"sql-local"
,
LocalSqlService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"sql-local"
,
LocalSqlService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"sql-historical"
,
HistoricalSqlService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"sql-historical"
,
HistoricalSqlService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -141,7 +141,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -141,7 +141,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"sql-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"sql-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"top-local"
,
LocalTopService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"top-local"
,
LocalTopService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"top-historical"
,
HistoricalTopService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"top-historical"
,
HistoricalTopService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -150,7 +150,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -150,7 +150,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"top-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"top-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"dependency-local"
,
LocalDependencyService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"dependency-local"
,
LocalDependencyService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"dependency-historical"
,
HistoricalDependencyService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"dependency-historical"
,
HistoricalDependencyService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
@@ -159,7 +159,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
...
@@ -159,7 +159,7 @@ class ServiceComponentConfigurator extends AbstractResourceConfigurator {
.
req
(
ModelService
.
class
,
new
String
[]
{
"dependency-historical"
},
"m_services"
));
.
req
(
ModelService
.
class
,
new
String
[]
{
"dependency-historical"
},
"m_services"
));
all
.
add
(
C
(
ModelService
.
class
,
"metric-local"
,
LocalMetricService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"metric-local"
,
LocalMetricService
.
class
)
//
.
req
(
ReportService
.
class
)
//
.
req
(
BucketManager
.
class
)
//
.
req
(
MessageConsumer
.
class
));
.
req
(
MessageConsumer
.
class
));
all
.
add
(
C
(
ModelService
.
class
,
"metric-historical"
,
HistoricalMetricService
.
class
)
//
all
.
add
(
C
(
ModelService
.
class
,
"metric-historical"
,
HistoricalMetricService
.
class
)
//
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
.
req
(
BucketManager
.
class
,
ReportService
.
class
));
...
...
cat-home/src/main/java/com/dianping/cat/report/page/model/cross/LocalCrossService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.cross
;
package
com.dianping.cat.report.page.model.cross
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.cross.CrossAnalyzer
;
import
com.dianping.cat.consumer.cross.CrossAnalyzer
;
import
com.dianping.cat.consumer.cross.model.entity.CrossReport
;
import
com.dianping.cat.consumer.cross.model.entity.CrossReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.cross.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalCrossService
extends
BaseLocalModelService
<
CrossReport
>
{
public
class
LocalCrossService
extends
BaseLocalModelService
<
CrossReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalCrossService
()
{
public
LocalCrossService
()
{
super
(
CrossAnalyzer
.
ID
);
super
(
CrossAnalyzer
.
ID
);
...
@@ -26,12 +25,20 @@ public class LocalCrossService extends BaseLocalModelService<CrossReport> {
...
@@ -26,12 +25,20 @@ public class LocalCrossService extends BaseLocalModelService<CrossReport> {
CrossReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
CrossReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryCrossReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
CrossReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
CrossAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/dependency/LocalDependencyService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.dependency
;
package
com.dianping.cat.report.page.model.dependency
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.dependency.DependencyAnalyzer
;
import
com.dianping.cat.consumer.dependency.DependencyAnalyzer
;
import
com.dianping.cat.consumer.dependency.model.entity.DependencyReport
;
import
com.dianping.cat.consumer.dependency.model.entity.DependencyReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.dependency.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalDependencyService
extends
BaseLocalModelService
<
DependencyReport
>
{
public
class
LocalDependencyService
extends
BaseLocalModelService
<
DependencyReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalDependencyService
()
{
public
LocalDependencyService
()
{
super
(
DependencyAnalyzer
.
ID
);
super
(
DependencyAnalyzer
.
ID
);
...
@@ -26,12 +25,20 @@ public class LocalDependencyService extends BaseLocalModelService<DependencyRepo
...
@@ -26,12 +25,20 @@ public class LocalDependencyService extends BaseLocalModelService<DependencyRepo
DependencyReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
DependencyReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryDependencyReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
DependencyReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
DependencyAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/event/LocalEventService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.event
;
package
com.dianping.cat.report.page.model.event
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.event.EventAnalyzer
;
import
com.dianping.cat.consumer.event.EventAnalyzer
;
import
com.dianping.cat.consumer.event.model.entity.EventReport
;
import
com.dianping.cat.consumer.event.model.entity.EventReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.event.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalEventService
extends
BaseLocalModelService
<
EventReport
>
{
public
class
LocalEventService
extends
BaseLocalModelService
<
EventReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalEventService
()
{
public
LocalEventService
()
{
super
(
EventAnalyzer
.
ID
);
super
(
EventAnalyzer
.
ID
);
...
@@ -26,12 +25,20 @@ public class LocalEventService extends BaseLocalModelService<EventReport> {
...
@@ -26,12 +25,20 @@ public class LocalEventService extends BaseLocalModelService<EventReport> {
EventReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
EventReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryEventReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
EventReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
EventAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/heartbeat/LocalHeartbeatService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.heartbeat
;
package
com.dianping.cat.report.page.model.heartbeat
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer
;
import
com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer
;
import
com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport
;
import
com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.heartbeat.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalHeartbeatService
extends
BaseLocalModelService
<
HeartbeatReport
>
{
public
class
LocalHeartbeatService
extends
BaseLocalModelService
<
HeartbeatReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalHeartbeatService
()
{
public
LocalHeartbeatService
()
{
super
(
HeartbeatAnalyzer
.
ID
);
super
(
HeartbeatAnalyzer
.
ID
);
...
@@ -25,12 +24,20 @@ public class LocalHeartbeatService extends BaseLocalModelService<HeartbeatReport
...
@@ -25,12 +24,20 @@ public class LocalHeartbeatService extends BaseLocalModelService<HeartbeatReport
HeartbeatReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
HeartbeatReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryHeartbeatReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
HeartbeatReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
HeartbeatAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/matrix/LocalMatrixService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.matrix
;
package
com.dianping.cat.report.page.model.matrix
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.matrix.MatrixAnalyzer
;
import
com.dianping.cat.consumer.matrix.MatrixAnalyzer
;
import
com.dianping.cat.consumer.matrix.model.entity.MatrixReport
;
import
com.dianping.cat.consumer.matrix.model.entity.MatrixReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.matrix.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalMatrixService
extends
BaseLocalModelService
<
MatrixReport
>
{
public
class
LocalMatrixService
extends
BaseLocalModelService
<
MatrixReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalMatrixService
()
{
public
LocalMatrixService
()
{
super
(
MatrixAnalyzer
.
ID
);
super
(
MatrixAnalyzer
.
ID
);
...
@@ -26,12 +25,20 @@ public class LocalMatrixService extends BaseLocalModelService<MatrixReport> {
...
@@ -26,12 +25,20 @@ public class LocalMatrixService extends BaseLocalModelService<MatrixReport> {
MatrixReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
MatrixReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryMatrixReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
MatrixReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
MatrixAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/metric/LocalMetricService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.metric
;
package
com.dianping.cat.report.page.model.metric
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.metric.model.entity.MetricReport
;
import
com.dianping.cat.consumer.metric.model.entity.MetricReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.metric.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalMetricService
extends
BaseLocalModelService
<
MetricReport
>
{
public
class
LocalMetricService
extends
BaseLocalModelService
<
MetricReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalMetricService
()
{
public
LocalMetricService
()
{
super
(
"metric"
);
super
(
"metric"
);
...
@@ -24,12 +23,20 @@ public class LocalMetricService extends BaseLocalModelService<MetricReport> {
...
@@ -24,12 +23,20 @@ public class LocalMetricService extends BaseLocalModelService<MetricReport> {
MetricReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
MetricReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryMetricReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
MetricReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
"metric"
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/problem/LocalProblemService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.problem
;
package
com.dianping.cat.report.page.model.problem
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.problem.ProblemAnalyzer
;
import
com.dianping.cat.consumer.problem.ProblemAnalyzer
;
import
com.dianping.cat.consumer.problem.model.entity.ProblemReport
;
import
com.dianping.cat.consumer.problem.model.entity.ProblemReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.problem.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalProblemService
extends
BaseLocalModelService
<
ProblemReport
>
{
public
class
LocalProblemService
extends
BaseLocalModelService
<
ProblemReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalProblemService
()
{
public
LocalProblemService
()
{
super
(
ProblemAnalyzer
.
ID
);
super
(
ProblemAnalyzer
.
ID
);
...
@@ -26,12 +25,21 @@ public class LocalProblemService extends BaseLocalModelService<ProblemReport> {
...
@@ -26,12 +25,21 @@ public class LocalProblemService extends BaseLocalModelService<ProblemReport> {
ProblemReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
ProblemReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryProblemReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
ProblemReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
ProblemAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/sql/LocalSqlService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.sql
;
package
com.dianping.cat.report.page.model.sql
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.sql.SqlAnalyzer
;
import
com.dianping.cat.consumer.sql.SqlAnalyzer
;
import
com.dianping.cat.consumer.sql.model.entity.SqlReport
;
import
com.dianping.cat.consumer.sql.model.entity.SqlReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.sql.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalSqlService
extends
BaseLocalModelService
<
SqlReport
>
{
public
class
LocalSqlService
extends
BaseLocalModelService
<
SqlReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalSqlService
()
{
public
LocalSqlService
()
{
super
(
SqlAnalyzer
.
ID
);
super
(
SqlAnalyzer
.
ID
);
...
@@ -25,12 +24,20 @@ public class LocalSqlService extends BaseLocalModelService<SqlReport> {
...
@@ -25,12 +24,20 @@ public class LocalSqlService extends BaseLocalModelService<SqlReport> {
SqlReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
SqlReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
querySqlReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
SqlReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
SqlAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/state/LocalStateService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.state
;
package
com.dianping.cat.report.page.model.state
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.state.StateAnalyzer
;
import
com.dianping.cat.consumer.state.StateAnalyzer
;
import
com.dianping.cat.consumer.state.model.entity.StateReport
;
import
com.dianping.cat.consumer.state.model.entity.StateReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.state.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalStateService
extends
BaseLocalModelService
<
StateReport
>
{
public
class
LocalStateService
extends
BaseLocalModelService
<
StateReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalStateService
()
{
public
LocalStateService
()
{
super
(
StateAnalyzer
.
ID
);
super
(
StateAnalyzer
.
ID
);
...
@@ -25,12 +24,20 @@ public class LocalStateService extends BaseLocalModelService<StateReport> {
...
@@ -25,12 +24,20 @@ public class LocalStateService extends BaseLocalModelService<StateReport> {
StateReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
StateReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryStateReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
StateReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
StateAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/top/LocalTopService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.top
;
package
com.dianping.cat.report.page.model.top
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.top.TopAnalyzer
;
import
com.dianping.cat.consumer.top.TopAnalyzer
;
import
com.dianping.cat.consumer.top.model.entity.TopReport
;
import
com.dianping.cat.consumer.top.model.entity.TopReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.top.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalTopService
extends
BaseLocalModelService
<
TopReport
>
{
public
class
LocalTopService
extends
BaseLocalModelService
<
TopReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalTopService
()
{
public
LocalTopService
()
{
super
(
TopAnalyzer
.
ID
);
super
(
TopAnalyzer
.
ID
);
...
@@ -25,12 +24,20 @@ public class LocalTopService extends BaseLocalModelService<TopReport> {
...
@@ -25,12 +24,20 @@ public class LocalTopService extends BaseLocalModelService<TopReport> {
TopReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
TopReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryTopReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
TopReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
TopAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/transaction/LocalTransactionService.java
浏览文件 @
21978fb3
package
com.dianping.cat.report.page.model.transaction
;
package
com.dianping.cat.report.page.model.transaction
;
import
java.util.Date
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.consumer.transaction.TransactionAnalyzer
;
import
com.dianping.cat.consumer.transaction.TransactionAnalyzer
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionReport
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionReport
;
import
com.dianping.cat.
helper.TimeUtil
;
import
com.dianping.cat.
consumer.transaction.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.page.model.spi.internal.BaseLocalModelService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelPeriod
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.service.ModelRequest
;
import
com.dianping.cat.storage.Bucket
;
import
com.dianping.cat.storage.BucketManager
;
public
class
LocalTransactionService
extends
BaseLocalModelService
<
TransactionReport
>
{
public
class
LocalTransactionService
extends
BaseLocalModelService
<
TransactionReport
>
{
@Inject
@Inject
private
ReportService
m_reportService
;
private
BucketManager
m_bucketManager
;
public
LocalTransactionService
()
{
public
LocalTransactionService
()
{
super
(
TransactionAnalyzer
.
ID
);
super
(
TransactionAnalyzer
.
ID
);
...
@@ -25,13 +24,20 @@ public class LocalTransactionService extends BaseLocalModelService<TransactionRe
...
@@ -25,13 +24,20 @@ public class LocalTransactionService extends BaseLocalModelService<TransactionRe
TransactionReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
TransactionReport
report
=
super
.
getReport
(
request
,
period
,
domain
);
if
(
report
==
null
&&
period
.
isLast
())
{
if
(
report
==
null
&&
period
.
isLast
())
{
long
startTime
=
request
.
getStartTime
();
report
=
getReportFromLocalDisk
(
request
.
getStartTime
(),
domain
);
Date
start
=
new
Date
(
startTime
);
Date
end
=
new
Date
(
startTime
+
TimeUtil
.
ONE_HOUR
);
report
=
m_reportService
.
queryTransactionReport
(
domain
,
start
,
end
);
}
}
return
report
;
return
report
;
}
}
private
TransactionReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
Bucket
<
String
>
bucket
=
null
;
try
{
bucket
=
m_bucketManager
.
getReportBucket
(
timestamp
,
TransactionAnalyzer
.
ID
);
String
xml
=
bucket
.
findById
(
domain
);
return
xml
==
null
?
null
:
DefaultSaxParser
.
parse
(
xml
);
}
finally
{
bucket
.
close
();
}
}
}
}
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
21978fb3
...
@@ -1035,7 +1035,7 @@
...
@@ -1035,7 +1035,7 @@
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1078,7 +1078,7 @@
...
@@ -1078,7 +1078,7 @@
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1121,7 +1121,7 @@
...
@@ -1121,7 +1121,7 @@
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1164,7 +1164,7 @@
...
@@ -1164,7 +1164,7 @@
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1207,7 +1207,7 @@
...
@@ -1207,7 +1207,7 @@
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1250,7 +1250,7 @@
...
@@ -1250,7 +1250,7 @@
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1293,7 +1293,7 @@
...
@@ -1293,7 +1293,7 @@
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1336,7 +1336,7 @@
...
@@ -1336,7 +1336,7 @@
<implementation>
com.dianping.cat.report.page.model.sql.LocalSqlService
</implementation>
<implementation>
com.dianping.cat.report.page.model.sql.LocalSqlService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1379,7 +1379,7 @@
...
@@ -1379,7 +1379,7 @@
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1422,7 +1422,7 @@
...
@@ -1422,7 +1422,7 @@
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -1465,7 +1465,7 @@
...
@@ -1465,7 +1465,7 @@
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2416,7 +2416,7 @@
...
@@ -2416,7 +2416,7 @@
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<implementation>
com.dianping.cat.report.page.model.event.LocalEventService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2428,7 +2428,7 @@
...
@@ -2428,7 +2428,7 @@
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<implementation>
com.dianping.cat.report.page.model.heartbeat.LocalHeartbeatService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2457,7 +2457,7 @@
...
@@ -2457,7 +2457,7 @@
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<implementation>
com.dianping.cat.report.page.model.matrix.LocalMatrixService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2469,7 +2469,7 @@
...
@@ -2469,7 +2469,7 @@
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<implementation>
com.dianping.cat.report.page.model.problem.LocalProblemService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2481,7 +2481,7 @@
...
@@ -2481,7 +2481,7 @@
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<implementation>
com.dianping.cat.report.page.model.transaction.LocalTransactionService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2493,7 +2493,7 @@
...
@@ -2493,7 +2493,7 @@
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<implementation>
com.dianping.cat.report.page.model.cross.LocalCrossService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2505,7 +2505,7 @@
...
@@ -2505,7 +2505,7 @@
<implementation>
com.dianping.cat.report.page.model.sql.LocalSqlService
</implementation>
<implementation>
com.dianping.cat.report.page.model.sql.LocalSqlService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2517,7 +2517,7 @@
...
@@ -2517,7 +2517,7 @@
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<implementation>
com.dianping.cat.report.page.model.state.LocalStateService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2529,7 +2529,7 @@
...
@@ -2529,7 +2529,7 @@
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<implementation>
com.dianping.cat.report.page.model.top.LocalTopService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2541,7 +2541,7 @@
...
@@ -2541,7 +2541,7 @@
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<implementation>
com.dianping.cat.report.page.model.metric.LocalMetricService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
@@ -2553,7 +2553,7 @@
...
@@ -2553,7 +2553,7 @@
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<implementation>
com.dianping.cat.report.page.model.dependency.LocalDependencyService
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.
report.service.ReportService
</role>
<role>
com.dianping.cat.
storage.BucketManager
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
<role>
com.dianping.cat.message.spi.core.MessageConsumer
</role>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录