Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
d299b995
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,发现更多精彩内容 >>
提交
d299b995
编写于
10月 31, 2013
作者:
Y
yong.you
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify the testcase
上级
fb749e20
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
234 addition
and
14 deletion
+234
-14
cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportTypeAggregator.java
...consumer/transaction/TransactionReportTypeAggregator.java
+55
-0
cat-consumer/src/test/java/com/dianping/cat/consumer/AllTests.java
...mer/src/test/java/com/dianping/cat/consumer/AllTests.java
+4
-1
cat-consumer/src/test/java/com/dianping/cat/consumer/transaction/TransactionReportTypeAggergatorTest.java
...umer/transaction/TransactionReportTypeAggergatorTest.java
+36
-0
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator1.xml
...t/consumer/transaction/transaction_report_aggergator1.xml
+23
-0
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator2.xml
...t/consumer/transaction/transaction_report_aggergator2.xml
+23
-0
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator3.xml
...t/consumer/transaction/transaction_report_aggergator3.xml
+23
-0
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator4.xml
...t/consumer/transaction/transaction_report_aggergator4.xml
+23
-0
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergatorAll.xml
...consumer/transaction/transaction_report_aggergatorAll.xml
+36
-0
cat-home/src/main/java/com/dianping/cat/report/task/state/HistoryStateReportMerger.java
...nping/cat/report/task/state/HistoryStateReportMerger.java
+11
-13
未找到文件。
cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportTypeAggregator.java
浏览文件 @
d299b995
package
com.dianping.cat.consumer.transaction
;
import
com.dianping.cat.consumer.transaction.model.entity.Machine
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionName
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionReport
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionType
;
import
com.dianping.cat.consumer.transaction.model.transform.BaseVisitor
;
...
...
@@ -11,9 +12,49 @@ public class TransactionReportTypeAggregator extends BaseVisitor {
public
String
m_currentDomain
;
private
String
m_currentType
;
public
TransactionReportTypeAggregator
(
TransactionReport
report
)
{
m_report
=
report
;
}
private
void
mergeName
(
TransactionName
old
,
TransactionName
other
)
{
long
totalCountSum
=
old
.
getTotalCount
()
+
other
.
getTotalCount
();
old
.
setTotalCount
(
totalCountSum
);
old
.
setFailCount
(
old
.
getFailCount
()
+
other
.
getFailCount
());
if
(
other
.
getMin
()
<
old
.
getMin
())
{
old
.
setMin
(
other
.
getMin
());
}
if
(
other
.
getMax
()
>
old
.
getMax
())
{
old
.
setMax
(
other
.
getMax
());
}
old
.
setSum
(
old
.
getSum
()
+
other
.
getSum
());
old
.
setSum2
(
old
.
getSum2
()
+
other
.
getSum2
());
if
(
totalCountSum
>
0
)
{
double
line95Values
=
old
.
getLine95Value
()
*
old
.
getTotalCount
()
+
other
.
getLine95Value
()
*
other
.
getTotalCount
();
old
.
setLine95Value
(
line95Values
/
totalCountSum
);
}
if
(
old
.
getTotalCount
()
>
0
)
{
old
.
setFailPercent
(
old
.
getFailCount
()
*
100.0
/
old
.
getTotalCount
());
old
.
setAvg
(
old
.
getSum
()
/
old
.
getTotalCount
());
}
if
(
old
.
getSuccessMessageUrl
()
==
null
)
{
old
.
setSuccessMessageUrl
(
other
.
getSuccessMessageUrl
());
}
if
(
old
.
getFailMessageUrl
()
==
null
)
{
old
.
setFailMessageUrl
(
other
.
getFailMessageUrl
());
}
}
private
void
mergeType
(
TransactionType
old
,
TransactionType
other
)
{
long
totalCountSum
=
old
.
getTotalCount
()
+
other
.
getTotalCount
();
...
...
@@ -67,6 +108,20 @@ public class TransactionReportTypeAggregator extends BaseVisitor {
String
typeName
=
type
.
getId
();
TransactionType
result
=
machine
.
findOrCreateType
(
typeName
);
m_currentType
=
typeName
;
mergeType
(
result
,
type
);
if
(
typeName
.
startsWith
(
"Cache."
))
{
super
.
visitType
(
type
);
}
}
@Override
public
void
visitName
(
TransactionName
name
)
{
Machine
machine
=
m_report
.
findOrCreateMachine
(
m_currentDomain
);
TransactionType
curentType
=
machine
.
findOrCreateType
(
m_currentType
);
TransactionName
currentName
=
curentType
.
findOrCreateName
(
name
.
getId
());
mergeName
(
currentName
,
name
);
}
}
\ No newline at end of file
cat-consumer/src/test/java/com/dianping/cat/consumer/AllTests.java
浏览文件 @
d299b995
...
...
@@ -24,6 +24,7 @@ import com.dianping.cat.consumer.transaction.TransactionAnalyzerTest;
import
com.dianping.cat.consumer.transaction.TransactionReportFilterTest
;
import
com.dianping.cat.consumer.transaction.TransactionReportMergerTest
;
import
com.dianping.cat.consumer.transaction.TransactionReportTest
;
import
com.dianping.cat.consumer.transaction.TransactionReportTypeAggergatorTest
;
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
...
...
@@ -77,7 +78,9 @@ ProblemReportMergerTest.class,
CompositeFormatTest
.
class
,
DefaultFormatTest
.
class
DefaultFormatTest
.
class
,
TransactionReportTypeAggergatorTest
.
class
})
public
class
AllTests
{
...
...
cat-consumer/src/test/java/com/dianping/cat/consumer/transaction/TransactionReportTypeAggergatorTest.java
0 → 100644
浏览文件 @
d299b995
package
com.dianping.cat.consumer.transaction
;
import
junit.framework.Assert
;
import
org.junit.Test
;
import
org.unidal.helper.Files
;
import
com.dianping.cat.consumer.transaction.model.entity.TransactionReport
;
import
com.dianping.cat.consumer.transaction.model.transform.DefaultSaxParser
;
public
class
TransactionReportTypeAggergatorTest
{
@Test
public
void
test
()
throws
Exception
{
TransactionReport
report1
=
parse
(
"transaction_report_aggergator1.xml"
);
TransactionReport
report2
=
parse
(
"transaction_report_aggergator2.xml"
);
TransactionReport
report3
=
parse
(
"transaction_report_aggergator3.xml"
);
TransactionReport
report4
=
parse
(
"transaction_report_aggergator4.xml"
);
TransactionReport
result
=
new
TransactionReport
(
"All"
);
TransactionReportTypeAggregator
aggergator
=
new
TransactionReportTypeAggregator
(
result
);
aggergator
.
visitTransactionReport
(
report1
);
aggergator
.
visitTransactionReport
(
report2
);
aggergator
.
visitTransactionReport
(
report3
);
aggergator
.
visitTransactionReport
(
report4
);
String
expected
=
Files
.
forIO
().
readFrom
(
getClass
().
getResourceAsStream
(
"transaction_report_aggergatorAll.xml"
),
"utf-8"
);
Assert
.
assertEquals
(
expected
.
replaceAll
(
"\\r"
,
""
),
result
.
toString
().
replaceAll
(
"\\r"
,
""
));
}
private
TransactionReport
parse
(
String
name
)
throws
Exception
{
String
source
=
Files
.
forIO
().
readFrom
(
getClass
().
getResourceAsStream
(
name
),
"utf-8"
);
return
DefaultSaxParser
.
parse
(
source
);
}
}
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator1.xml
0 → 100755
浏览文件 @
d299b995
<?xml version="1.0" encoding="utf-8"?>
<transaction-report
domain=
"Cat"
startTime=
"2012-05-17 13:00:00"
endTime=
"2012-05-17 13:59:59"
>
<domain>
Cat
</domain>
<ip>
192.168.165.2
</ip>
<machine
ip=
"192.168.165.2"
>
<type
id=
"Cache.Web"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<range
value=
"0"
count=
"2"
sum=
"49.772000000000006"
avg=
"24.9"
fails=
"0"
/>
<duration
value=
"32"
count=
"2"
/>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<name
id=
"model"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<range
value=
"0"
count=
"1"
sum=
"39780.276"
avg=
"39780.3"
fails=
"0"
/>
<duration
value=
"65536"
count=
"1"
/>
</name>
</type>
</machine>
</transaction-report>
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator2.xml
0 → 100755
浏览文件 @
d299b995
<?xml version="1.0" encoding="utf-8"?>
<transaction-report
domain=
"Cat2"
startTime=
"2012-05-17 13:00:00"
endTime=
"2012-05-17 13:59:59"
>
<domain>
Cat
</domain>
<ip>
192.168.165.2
</ip>
<machine
ip=
"192.168.165.2"
>
<type
id=
"Cache.memcached-membercard"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<range
value=
"0"
count=
"2"
sum=
"49.772000000000006"
avg=
"24.9"
fails=
"0"
/>
<duration
value=
"32"
count=
"2"
/>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<name
id=
"model"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<range
value=
"0"
count=
"1"
sum=
"39780.276"
avg=
"39780.3"
fails=
"0"
/>
<duration
value=
"65536"
count=
"1"
/>
</name>
</type>
</machine>
</transaction-report>
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator3.xml
0 → 100755
浏览文件 @
d299b995
<?xml version="1.0" encoding="utf-8"?>
<transaction-report
domain=
"Cat3"
startTime=
"2012-05-17 13:00:00"
endTime=
"2012-05-17 13:59:59"
>
<domain>
Cat
</domain>
<ip>
192.168.165.2
</ip>
<machine
ip=
"192.168.165.2"
>
<type
id=
"Cache.memcached-membercard"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<range
value=
"0"
count=
"2"
sum=
"49.772000000000006"
avg=
"24.9"
fails=
"0"
/>
<duration
value=
"32"
count=
"2"
/>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<name
id=
"model"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<range
value=
"0"
count=
"1"
sum=
"39780.276"
avg=
"39780.3"
fails=
"0"
/>
<duration
value=
"65536"
count=
"1"
/>
</name>
</type>
</machine>
</transaction-report>
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergator4.xml
0 → 100755
浏览文件 @
d299b995
<?xml version="1.0" encoding="utf-8"?>
<transaction-report
domain=
"Cat3"
startTime=
"2012-05-17 13:00:00"
endTime=
"2012-05-17 13:59:59"
>
<domain>
Cat
</domain>
<ip>
192.168.165.2
</ip>
<machine
ip=
"192.168.165.2"
>
<type
id=
"Cache.memcached-membercard"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"3.5"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<range
value=
"0"
count=
"2"
sum=
"49.772000000000006"
avg=
"24.9"
fails=
"0"
/>
<duration
value=
"32"
count=
"2"
/>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<name
id=
"model"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
<range
value=
"0"
count=
"1"
sum=
"39780.276"
avg=
"39780.3"
fails=
"0"
/>
<duration
value=
"65536"
count=
"1"
/>
</name>
</type>
</machine>
</transaction-report>
cat-consumer/src/test/resources/com/dianping/cat/consumer/transaction/transaction_report_aggergatorAll.xml
0 → 100644
浏览文件 @
d299b995
<?xml version="1.0" encoding="utf-8"?>
<transaction-report
domain=
"All"
startTime=
"2012-05-17 13:00:00"
endTime=
"2012-05-17 13:59:59"
>
<machine
ip=
"Cat"
>
<type
id=
"Cache.Web"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
</type>
</machine>
<machine
ip=
"Cat2"
>
<type
id=
"Cache.memcached-membercard"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"49.8"
sum2=
"1262.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"28.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
</name>
</type>
<type
id=
"URL"
totalCount=
"1"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"39780.3"
sum2=
"1582470358.6"
std=
"0.0"
tps=
"0.00"
line95Value=
"39780.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
</type>
</machine>
<machine
ip=
"Cat3"
>
<type
id=
"Cache.memcached-membercard"
totalCount=
"4"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"99.6"
sum2=
"2525.2"
std=
"0.0"
tps=
"0.00"
line95Value=
"42.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
<name
id=
"Status"
totalCount=
"4"
failCount=
"0"
failPercent=
"0.00"
min=
"21.42"
max=
"28.35"
avg=
"24.9"
sum=
"99.6"
sum2=
"2525.2"
std=
"0.0"
tps=
"0.00"
line95Value=
"42.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230848968-0
</successMessageUrl>
</name>
</type>
<type
id=
"URL"
totalCount=
"2"
failCount=
"0"
failPercent=
"0.00"
min=
"39780.28"
max=
"39780.28"
avg=
"39780.3"
sum=
"79560.6"
sum2=
"3164940717.2"
std=
"0.0"
tps=
"0.00"
line95Value=
"59670.00"
line99Value=
"0.00"
>
<successMessageUrl>
Cat-c0a8a501-1337230896586-0
</successMessageUrl>
</type>
</machine>
</transaction-report>
cat-home/src/main/java/com/dianping/cat/report/task/state/HistoryStateReportMerger.java
浏览文件 @
d299b995
package
com.dianping.cat.report.task.state
;
import
static
com
.
dianping
.
cat
.
consumer
.
state
.
model
.
Constants
.
ENTITY_PROCESSDOMAINS
;
import
java.util.Stack
;
import
com.dianping.cat.consumer.state.StateReportMerger
;
...
...
@@ -14,22 +16,18 @@ public class HistoryStateReportMerger extends StateReportMerger {
}
protected
void
visitMachineChildren
(
Machine
old
,
Machine
machine
)
{
Stack
<
Object
>
objs
=
getObjects
();
for
(
ProcessDomain
source
:
machine
.
getProcessDomains
().
values
())
{
ProcessDomain
target
=
old
.
findProcessDomain
(
source
.
getName
());
if
(
target
==
null
)
{
target
=
new
ProcessDomain
(
source
.
getName
());
old
.
addProcessDomain
(
target
);
if
(
old
!=
null
)
{
Stack
<
Object
>
objs
=
getObjects
();
Stack
<
String
>
tags
=
getTags
();
objs
.
push
(
old
);
for
(
ProcessDomain
processDomain
:
machine
.
getProcessDomains
().
values
())
{
tags
.
push
(
ENTITY_PROCESSDOMAINS
);
visitProcessDomain
(
processDomain
);
tags
.
pop
();
}
objs
.
push
(
target
);
source
.
accept
(
this
);
objs
.
pop
();
}
super
.
visitMachineChildren
(
machine
,
old
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录