Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
69959615
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,发现更多精彩内容 >>
提交
69959615
编写于
6月 08, 2013
作者:
Y
yong.you
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify the dependency report of top exception
上级
ede54d06
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
40 addition
and
11 deletion
+40
-11
cat-consumer/src/main/java/com/dianping/cat/consumer/core/TopAnalyzer.java
...main/java/com/dianping/cat/consumer/core/TopAnalyzer.java
+5
-1
cat-home/src/main/java/com/dianping/cat/report/page/dependency/Handler.java
...java/com/dianping/cat/report/page/dependency/Handler.java
+22
-7
cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java
...main/java/com/dianping/cat/report/page/top/TopMetric.java
+10
-3
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+3
-0
未找到文件。
cat-consumer/src/main/java/com/dianping/cat/consumer/core/TopAnalyzer.java
浏览文件 @
69959615
...
...
@@ -67,7 +67,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
topReport
.
setEndTime
(
new
Date
(
m_startTime
+
60
*
MINUTE
-
1
));
for
(
String
temp
:
domains
)
{
if
(
!
temp
.
equals
(
"FrontEnd"
))
{
if
(
validate
(
temp
))
{
TransactionReport
report
=
m_transactionAnalyzer
.
getReport
(
temp
);
new
TransactionReportVisitor
(
topReport
).
visitTransactionReport
(
report
);
...
...
@@ -82,6 +82,10 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
return
topReport
;
}
private
boolean
validate
(
String
domain
)
{
return
!
domain
.
equals
(
"FrontEnd"
);
}
@Override
protected
void
process
(
MessageTree
tree
)
{
// do nothing
...
...
cat-home/src/main/java/com/dianping/cat/report/page/dependency/Handler.java
浏览文件 @
69959615
...
...
@@ -50,6 +50,7 @@ import com.dianping.cat.report.page.model.spi.ModelRequest;
import
com.dianping.cat.report.page.model.spi.ModelResponse
;
import
com.dianping.cat.report.page.model.spi.ModelService
;
import
com.dianping.cat.report.page.top.TopMetric
;
import
com.dianping.cat.report.service.ReportService
;
public
class
Handler
implements
PageHandler
<
Context
>
{
...
...
@@ -62,6 +63,9 @@ public class Handler implements PageHandler<Context> {
@Inject
private
TopologyGraphManager
m_graphManager
;
@Inject
private
ReportService
m_reportService
;
@Inject
private
JspViewer
m_jspViewer
;
...
...
@@ -268,7 +272,12 @@ public class Handler implements PageHandler<Context> {
if
(
m_topService
.
isEligable
(
request
))
{
ModelResponse
<
TopReport
>
response
=
m_topService
.
invoke
(
request
);
return
response
.
getModel
();
TopReport
report
=
response
.
getModel
();
if
(
report
==
null
||
report
.
getDomains
().
size
()
==
0
)
{
report
=
m_reportService
.
queryTopReport
(
domain
,
new
Date
(
payload
.
getDate
()),
new
Date
(
payload
.
getDate
()
+
TimeUtil
.
ONE_HOUR
));
}
return
report
;
}
else
{
throw
new
RuntimeException
(
"Internal error: no eligable top service registered for "
+
request
+
"!"
);
}
...
...
@@ -276,17 +285,20 @@ public class Handler implements PageHandler<Context> {
private
void
buildTopErrorInfo
(
Payload
payload
,
Model
model
)
{
int
minuteCount
=
payload
.
getMinuteCounts
();
if
(!
payload
.
getPeriod
().
isCurrent
())
{
minuteCount
=
60
;
}
int
minute
=
model
.
getMinute
();
TopReport
report
=
queryTopReport
(
payload
);
TopMetric
topMetric
=
new
TopMetric
(
minuteCount
,
payload
.
getTopCounts
());
int
minute
=
model
.
getMinute
();
Date
end
=
new
Date
(
payload
.
getDate
()
+
TimeUtil
.
ONE_MINUTE
*
minute
);
Date
start
=
new
Date
(
end
.
getTime
()
-
TimeUtil
.
ONE_MINUTE
*
minuteCount
);
topMetric
.
setStart
(
start
).
setEnd
(
end
);
if
(
minuteCount
>
minute
)
{
Payload
lastPayload
=
new
Payload
();
Date
lastHour
=
new
Date
(
payload
.
getDate
()
-
TimeUtil
.
ONE_HOUR
);
lastPayload
.
setDate
(
new
SimpleDateFormat
(
"yyyyMMddHH"
).
format
(
lastHour
));
topMetric
.
visitTopReport
(
queryTopReport
(
lastPayload
));
}
topMetric
.
visitTopReport
(
report
);
model
.
setTopReport
(
report
);
model
.
setTopMetric
(
topMetric
);
...
...
@@ -322,13 +334,15 @@ public class Handler implements PageHandler<Context> {
Action
action
=
payload
.
getAction
();
Date
reportTime
=
new
Date
(
payload
.
getDate
()
+
TimeUtil
.
ONE_MINUTE
*
model
.
getMinute
());
DependencyReport
report
=
queryDependencyReport
(
payload
);
DependencyReport
report
=
null
;
switch
(
action
)
{
case
TOPOLOGY:
TopologyGraph
topologyGraph
=
m_graphManager
.
buildTopologyGraph
(
model
.
getDomain
(),
reportTime
.
getTime
());
Map
<
String
,
List
<
String
>>
graphDependency
=
parseDependencies
(
topologyGraph
);
Map
<
String
,
List
<
Event
>>
externalErrors
=
queryDependencyEvent
(
graphDependency
,
model
.
getDomain
(),
reportTime
);
report
=
queryDependencyReport
(
payload
);
buildHourlyReport
(
report
,
model
,
payload
);
model
.
setEvents
(
externalErrors
);
m_nodes
=
new
HashSet
<
String
>();
...
...
@@ -339,6 +353,7 @@ public class Handler implements PageHandler<Context> {
model
.
setTopologyGraph
(
new
DefaultJsonBuilder
().
buildJson
(
topologyGraph
));
break
;
case
LINE_CHART:
report
=
queryDependencyReport
(
payload
);
buildHourlyReport
(
report
,
model
,
payload
);
buildHourlyLineGraph
(
report
,
model
);
...
...
cat-home/src/main/java/com/dianping/cat/report/page/top/TopMetric.java
浏览文件 @
69959615
...
...
@@ -281,10 +281,17 @@ public class TopMetric extends BaseVisitor {
@Override
public
int
compare
(
String
o1
,
String
o2
)
{
String
first
=
o1
.
substring
(
3
,
5
);
String
end
=
o2
.
substring
(
3
,
5
);
String
hour1
=
o1
.
substring
(
0
,
2
);
String
hour2
=
o2
.
substring
(
0
,
2
);
return
Integer
.
parseInt
(
end
)
-
Integer
.
parseInt
(
first
);
if
(!
hour1
.
equals
(
hour2
))
{
return
Integer
.
parseInt
(
hour2
)
-
Integer
.
parseInt
(
hour1
);
}
else
{
String
first
=
o1
.
substring
(
3
,
5
);
String
end
=
o2
.
substring
(
3
,
5
);
return
Integer
.
parseInt
(
end
)
-
Integer
.
parseInt
(
first
);
}
}
}
}
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
69959615
...
...
@@ -2539,6 +2539,9 @@
<requirement>
<role>
com.dianping.cat.report.page.dependency.graph.TopologyGraphManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.service.ReportService
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.dependency.JspViewer
</role>
</requirement>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录