Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
5b4b46b2
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,发现更多精彩内容 >>
提交
5b4b46b2
编写于
3月 29, 2014
作者:
Y
youyong205
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify the baseline creator
上级
33098d38
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
66 addition
and
32 deletion
+66
-32
cat-home/src/main/java/com/dianping/cat/helper/MapUtils.java
cat-home/src/main/java/com/dianping/cat/helper/MapUtils.java
+1
-1
cat-home/src/main/java/com/dianping/cat/report/ReportPage.java
...ome/src/main/java/com/dianping/cat/report/ReportPage.java
+3
-3
cat-home/src/main/java/com/dianping/cat/report/baseline/impl/DefaultBaselineCreator.java
...ping/cat/report/baseline/impl/DefaultBaselineCreator.java
+34
-15
cat-home/src/main/resources/META-INF/wizard/webapp/wizard.xml
...home/src/main/resources/META-INF/wizard/webapp/wizard.xml
+2
-2
cat-home/src/main/webapp/jsp/report/alteration.jsp
cat-home/src/main/webapp/jsp/report/alteration.jsp
+5
-0
cat-home/src/test/java/com/dianping/cat/report/task/metric/BaselineCreatorTest.java
.../dianping/cat/report/task/metric/BaselineCreatorTest.java
+18
-8
script/Cat.sql
script/Cat.sql
+3
-3
未找到文件。
cat-home/src/main/java/com/dianping/cat/helper/MapUtils.java
浏览文件 @
5b4b46b2
...
...
@@ -13,10 +13,10 @@ public class MapUtils {
Map
<
K
,
V
>
result
=
new
LinkedHashMap
<
K
,
V
>();
List
<
Entry
<
K
,
V
>>
entries
=
new
ArrayList
<
Entry
<
K
,
V
>>(
map
.
entrySet
());
Collections
.
sort
(
entries
,
compator
);
for
(
Entry
<
K
,
V
>
entry
:
entries
)
{
result
.
put
(
entry
.
getKey
(),
entry
.
getValue
());
}
return
result
;
}
}
cat-home/src/main/java/com/dianping/cat/report/ReportPage.java
浏览文件 @
5b4b46b2
...
...
@@ -41,10 +41,10 @@ public enum ReportPage implements Page {
STATISTICS
(
"statistics"
,
"statistics"
,
"Statistics"
,
"Statistics"
,
true
),
MONITOR
(
"monitor"
,
"monitor"
,
"Monitor"
,
"Monitor"
,
true
),
ALTERATION
(
"alteration"
,
"alteration"
,
"Change"
,
"Alteration"
,
true
),
MONITOR
(
"monitor"
,
"monitor"
,
"Monitor"
,
"Monitor"
,
true
);
ALTERATION
(
"alteration"
,
"alteration"
,
"Alteration"
,
"Alteration"
,
true
);
private
String
m_name
;
private
String
m_path
;
...
...
cat-home/src/main/java/com/dianping/cat/report/baseline/impl/DefaultBaselineCreator.java
浏览文件 @
5b4b46b2
package
com.dianping.cat.report.baseline.impl
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
com.dianping.cat.report.baseline.BaselineCreator
;
...
...
@@ -17,7 +19,7 @@ public class DefaultBaselineCreator implements BaselineCreator {
for
(
int
j
=
0
;
j
<
weights
.
size
();
j
++)
{
double
[]
values
=
valueList
.
get
(
j
);
double
weight
=
weights
.
get
(
j
);
if
(
values
[
i
]
>
0
)
{
totalValue
+=
values
[
i
]
*
weight
;
totalWeight
+=
weight
;
...
...
@@ -33,7 +35,7 @@ public class DefaultBaselineCreator implements BaselineCreator {
result
[
i
]
=
totalValue
/
totalWeight
;
}
}
return
denoise
(
result
,
6
);
return
denoise
(
result
,
10
);
}
public
double
[]
denoise
(
double
[]
data
,
int
mixNumber
)
{
...
...
@@ -50,22 +52,13 @@ public class DefaultBaselineCreator implements BaselineCreator {
last
=
true
;
}
double
min
=
Double
.
MAX_VALUE
;
double
max
=
0
;
double
sum
=
0
;
List
<
Double
>
mixNumbers
=
new
ArrayList
<
Double
>();
for
(
int
j
=
0
;
j
<
mixNumber
;
j
++)
{
int
position
=
i
+
j
;
if
(
data
[
position
]
>
max
)
{
max
=
data
[
position
];
}
if
(
data
[
position
]
<
min
)
{
min
=
data
[
position
];
}
sum
=
sum
+
data
[
position
];
mixNumbers
.
add
(
data
[
position
]);
}
double
avg
=
(
sum
-
max
-
min
)
/
(
mixNumber
-
2
);
double
avg
=
computeAvg
(
mixNumbers
);
result
[
i
+
mixNumber
/
2
]
=
avg
;
if
(
first
)
{
...
...
@@ -81,7 +74,33 @@ public class DefaultBaselineCreator implements BaselineCreator {
}
}
}
return
result
;
}
public
double
computeAvg
(
List
<
Double
>
data
)
{
Collections
.
sort
(
data
);
int
length
=
data
.
size
();
double
value
=
0
;
int
middle
=
length
/
2
;
if
(
length
%
2
==
0
)
{
value
=
(
data
.
get
(
middle
-
1
)
+
data
.
get
(
middle
))
/
2
;
}
else
{
value
=
data
.
get
(
middle
);
}
int
size
=
0
;
double
sum
=
0
;
for
(
double
d
:
data
)
{
if
(
d
>
value
*
3
||
d
<
value
/
3
)
{
continue
;
}
else
{
size
++;
sum
=
sum
+
d
;
}
}
return
sum
/
size
;
}
}
cat-home/src/main/resources/META-INF/wizard/webapp/wizard.xml
浏览文件 @
5b4b46b2
...
...
@@ -55,8 +55,8 @@
</page>
<page
name=
"statistics"
title=
"Statistics"
path=
"statistics"
view=
"/jsp/report/bug/bug.jsp"
template=
"default"
>
<description>
Statistics
</description>
</page>
<page
name=
"alteration"
title=
"
Alteration
"
path=
"alteration"
template=
"default"
>
</page>
<page
name=
"alteration"
title=
"
Change
"
path=
"alteration"
template=
"default"
>
<description>
Alteration
</description>
</page>
<page
name=
"monitor"
title=
"Monitor"
path=
"monitor"
template=
"default"
>
...
...
cat-home/src/main/webapp/jsp/report/alteration.jsp
0 → 100644
浏览文件 @
5b4b46b2
<%@ page
contentType=
"text/html; charset=utf-8"
%>
<jsp:useBean
id=
"ctx"
type=
"com.dianping.cat.report.page.alteration.Context"
scope=
"request"
/>
<jsp:useBean
id=
"payload"
type=
"com.dianping.cat.report.page.alteration.Payload"
scope=
"request"
/>
<jsp:useBean
id=
"model"
type=
"com.dianping.cat.report.page.alteration.Model"
scope=
"request"
/>
View of alteration page under report
\ No newline at end of file
cat-home/src/test/java/com/dianping/cat/report/task/metric/BaselineCreatorTest.java
浏览文件 @
5b4b46b2
package
com.dianping.cat.report.task.metric
;
import
java.text.DecimalFormat
;
import
java.util.Date
;
import
junit.framework.Assert
;
import
org.junit.Test
;
import
org.unidal.lookup.ComponentTestCase
;
...
...
@@ -26,20 +27,29 @@ public class BaselineCreatorTest extends ComponentTestCase {
@Test
public
void
test
()
{
DefaultBaselineCreator
creator
=
new
DefaultBaselineCreator
();
double
[]
data
=
new
double
[
24
*
60
];
double
[]
data
=
new
double
[
60
];
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++)
{
data
[
i
]
=
i
;
if
(
i
==
20
||
i
==
30
||
i
==
40
)
{
data
[
i
]
=
100
;
}
if
(
i
==
21
||
i
==
31
||
i
==
41
)
{
data
[
i
]
=
200
;
}
if
(
i
==
25
||
i
==
35
||
i
==
45
)
{
data
[
i
]
=
300
;
}
if
(
i
==
26
||
i
==
36
||
i
==
46
)
{
data
[
i
]
=
300
;
}
}
double
[]
result
=
creator
.
denoise
(
data
,
5
);
DecimalFormat
df
=
new
DecimalFormat
(
"#.#"
);
double
[]
result
=
creator
.
denoise
(
data
,
10
);
for
(
int
i
=
0
;
i
<
result
.
length
;
i
++)
{
System
.
out
.
print
(
df
.
format
(
result
[
i
])
+
" "
);
if
(
i
%
60
==
59
)
{
System
.
out
.
println
();
}
Assert
.
assertEquals
(
result
[
i
]
<
60
,
true
);
}
}
}
script/Cat.sql
浏览文件 @
5b4b46b2
...
...
@@ -393,12 +393,12 @@ CREATE TABLE `alteration` (
`hostname`
varchar
(
128
)
NOT
NULL
COMMENT
'变更机器名'
,
`ip`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'变更机器IP'
,
`date`
datetime
NOT
NULL
COMMENT
'变更时间'
,
`user`
varchar
(
45
)
NOT
NULL
COMMENT
'变更用户
’
,
`alt_group` varchar(45) DEFAULT NULL COMMENT '
变更组别
’
,
`user`
varchar
(
45
)
NOT
NULL
COMMENT
'变更用户
'
,
`alt_group`
varchar
(
45
)
DEFAULT
NULL
COMMENT
'变更组别
'
,
`content`
text
NOT
NULL
COMMENT
'变更内容'
,
`url`
varchar
(
200
)
DEFAULT
NULL
COMMENT
'变更链接'
,
`creation_date`
datetime
NOT
NULL
COMMENT
'数据库创建时间'
,
PRIMARY
KEY
(
`id`
),
KEY
`ind_date_domain_host`
(
`date`
,
`domain`
,
`hostname`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1241
DEFAULT
CHARSET
=
utf8
COMMENT
=
'变更表
’
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1241
DEFAULT
CHARSET
=
utf8
COMMENT
=
'变更表
'
;
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录