Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
dc3ee0ef
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,发现更多精彩内容 >>
提交
dc3ee0ef
编写于
10月 31, 2013
作者:
A
ainilife
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'biz' of
http://code.dianpingoa.com/arch/cat
into biz
上级
9a0d513a
d299b995
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
237 addition
and
58 deletion
+237
-58
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-home/src/main/webapp/js/sql.js
cat-home/src/main/webapp/js/sql.js
+1
-42
cat-home/src/main/webapp/jsp/report/sql/sql.jsp
cat-home/src/main/webapp/jsp/report/sql/sql.jsp
+1
-1
cat-home/src/main/webapp/jsp/report/sql/sqlHistory.jsp
cat-home/src/main/webapp/jsp/report/sql/sqlHistory.jsp
+1
-1
未找到文件。
cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportTypeAggregator.java
浏览文件 @
dc3ee0ef
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
浏览文件 @
dc3ee0ef
...
...
@@ -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
浏览文件 @
dc3ee0ef
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
浏览文件 @
dc3ee0ef
<?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
浏览文件 @
dc3ee0ef
<?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
浏览文件 @
dc3ee0ef
<?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
浏览文件 @
dc3ee0ef
<?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
浏览文件 @
dc3ee0ef
<?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
浏览文件 @
dc3ee0ef
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
);
}
}
cat-home/src/main/webapp/js/sql.js
浏览文件 @
dc3ee0ef
var
isCtrl
=
false
;
function
showGraphs
(
anchor
,
target
)
{
if
(
isCtrl
)
return
true
;
var
cell
=
document
.
getElementById
(
target
);
var
text
=
anchor
.
innerHTML
;
if
(
text
==
'
[:: show ::]
'
)
{
anchor
.
innerHTML
=
'
[:: hide ::]
'
;
if
(
cell
.
nodeName
==
'
IMG
'
)
{
// <img src='...'/>
cell
.
src
=
"
?op=graphs&id=
"
+
id
;
}
else
{
// <div>...</div>
$
.
ajax
({
type
:
"
get
"
,
url
:
anchor
.
href
,
success
:
function
(
data
,
textStatus
)
{
cell
.
innerHTML
=
data
;
}
});
}
cell
.
style
.
display
=
'
block
'
;
cell
.
parentNode
.
style
.
display
=
'
block
'
;
}
else
{
anchor
.
innerHTML
=
'
[:: show ::]
'
;
cell
.
style
.
display
=
'
none
'
;
cell
.
parentNode
.
style
.
display
=
'
none
'
;
}
return
false
;
}
$
(
document
).
keydown
(
function
(
e
)
{
if
(
e
.
ctrlKey
||
e
.
metaKey
)
isCtrl
=
true
;
}).
keyup
(
function
(
e
)
{
isCtrl
=
false
;
});
$
(
document
).
delegate
(
'
.graph_link
'
,
'
click
'
,
function
(
e
){
$
(
document
).
delegate
(
'
.sql_graph_link
'
,
'
click
'
,
function
(
e
){
var
anchor
=
this
,
el
=
$
(
anchor
),
id
=
Number
(
el
.
attr
(
'
data-status
'
))
||
0
;
...
...
cat-home/src/main/webapp/jsp/report/sql/sql.jsp
浏览文件 @
dc3ee0ef
...
...
@@ -60,7 +60,7 @@
<c:forEach
var=
"item"
items=
"
${
model
.
displaySqlReport
.
results
}
"
varStatus=
"status"
>
<tr
class=
"${status.index mod 2==0 ? 'even' : 'odd'}"
>
<td
class=
"left"
><a
href=
""
class=
"graph_link"
data-status=
"${status.index}"
>
[:: show ::]
</a></td>
<td
class=
"left"
><a
href=
""
class=
"
sql_
graph_link"
data-status=
"${status.index}"
>
[:: show ::]
</a></td>
<td
class=
"left"
>
${item.id}
</td>
<td>
${w:format(item.totalCount,'#,###,###,###,##0')}
</td>
<td>
${w:format(item.failCount,'#,###,###,###,##0')}
</td>
...
...
cat-home/src/main/webapp/jsp/report/sql/sqlHistory.jsp
浏览文件 @
dc3ee0ef
...
...
@@ -59,7 +59,7 @@
<c:forEach
var=
"item"
items=
"
${
model
.
displaySqlReport
.
results
}
"
varStatus=
"status"
>
<tr
class=
"${status.index mod 2==0 ? 'even' : 'odd'}"
>
<td
class=
"left"
><a
href=
""
class=
"graph_link"
data-status=
"${status.index}"
>
[:: show ::]
</a></td>
<td
class=
"left"
><a
href=
""
class=
"
sql_
graph_link"
data-status=
"${status.index}"
>
[:: show ::]
</a></td>
<td
class=
"left"
>
${item.id}
</td>
<td>
${w:format(item.totalCount,'#,###,###,###,##0')}
</td>
<td>
${w:format(item.failCount,'#,###,###,###,##0')}
</td>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录