Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
A-Tune
提交
535e0aad
A
A-Tune
项目概览
openeuler
/
A-Tune
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
A-Tune
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
535e0aad
编写于
1月 15, 2020
作者:
H
hanxinke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
atune:modify abnormal print information
上级
d71da5a1
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
33 addition
and
33 deletion
+33
-33
common/project/projet.go
common/project/projet.go
+4
-4
common/service/monitor/monitors.go
common/service/monitor/monitors.go
+6
-7
common/tuning/optimizer.go
common/tuning/optimizer.go
+9
-20
modules/server/profile/profile.go
modules/server/profile/profile.go
+14
-2
未找到文件。
common/project/projet.go
浏览文件 @
535e0aad
...
@@ -154,7 +154,7 @@ func (y *YamlPrjSvr) RunSet(optStr string) error {
...
@@ -154,7 +154,7 @@ func (y *YamlPrjSvr) RunSet(optStr string) error {
for
_
,
obj
:=
range
y
.
Object
{
for
_
,
obj
:=
range
y
.
Object
{
out
,
err
:=
ExecCommand
(
obj
.
Info
.
GetScript
)
out
,
err
:=
ExecCommand
(
obj
.
Info
.
GetScript
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
fmt
.
Errorf
(
"faild to exec %s, err: %v"
,
obj
.
Info
.
GetScript
,
err
)
}
}
if
strings
.
TrimSpace
(
string
(
out
))
==
paraMap
[
obj
.
Name
]
{
if
strings
.
TrimSpace
(
string
(
out
))
==
paraMap
[
obj
.
Name
]
{
...
@@ -166,7 +166,7 @@ func (y *YamlPrjSvr) RunSet(optStr string) error {
...
@@ -166,7 +166,7 @@ func (y *YamlPrjSvr) RunSet(optStr string) error {
log
.
Info
(
"set script:"
,
newScript
)
log
.
Info
(
"set script:"
,
newScript
)
_
,
err
=
ExecCommand
(
newScript
)
_
,
err
=
ExecCommand
(
newScript
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
fmt
.
Errorf
(
"faild to exec %s, err: %v"
,
newScript
,
err
)
}
}
}
}
return
nil
return
nil
...
@@ -188,13 +188,13 @@ func (y *YamlPrjSvr) RestartProject() error {
...
@@ -188,13 +188,13 @@ func (y *YamlPrjSvr) RestartProject() error {
if
needRestart
{
if
needRestart
{
out
,
err
:=
ExecCommand
(
stopWorkload
)
out
,
err
:=
ExecCommand
(
stopWorkload
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
fmt
.
Errorf
(
"faild to exec %s, err: %v"
,
stopWorkload
,
err
)
}
}
log
.
Debug
(
string
(
out
))
log
.
Debug
(
string
(
out
))
out
,
err
=
ExecCommand
(
startWorkload
)
out
,
err
=
ExecCommand
(
startWorkload
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
fmt
.
Errorf
(
"faild to exec %s, err: %v"
,
startWorkload
,
err
)
}
}
log
.
Debug
(
string
(
out
))
log
.
Debug
(
string
(
out
))
}
}
...
...
common/service/monitor/monitors.go
浏览文件 @
535e0aad
...
@@ -53,14 +53,7 @@ func (m *Monitor) Run() error {
...
@@ -53,14 +53,7 @@ func (m *Monitor) Run() error {
return
err
return
err
}
}
modules
:=
m
.
Cfg
.
Raw
.
Section
(
"monitor"
)
.
Key
(
"module"
)
.
String
()
if
modules
==
""
{
log
.
Infof
(
"module conf is empty string"
)
return
nil
}
monitorModules
:=
strings
.
Split
(
modules
,
","
)
monitorPath
:=
config
.
DefaultCheckerPath
monitorPath
:=
config
.
DefaultCheckerPath
exist
,
err
:=
utils
.
PathExist
(
monitorPath
)
exist
,
err
:=
utils
.
PathExist
(
monitorPath
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -72,6 +65,12 @@ func (m *Monitor) Run() error {
...
@@ -72,6 +65,12 @@ func (m *Monitor) Run() error {
}
}
}
}
modules
:=
m
.
Cfg
.
Raw
.
Section
(
"monitor"
)
.
Key
(
"module"
)
.
String
()
if
modules
==
""
{
log
.
Errorf
(
"module conf is empty string"
)
return
nil
}
monitorModules
:=
strings
.
Split
(
modules
,
","
)
for
_
,
module
:=
range
monitorModules
{
for
_
,
module
:=
range
monitorModules
{
module
=
strings
.
TrimSpace
(
module
)
module
=
strings
.
TrimSpace
(
module
)
modulePurpose
:=
strings
.
Split
(
module
,
"_"
)
modulePurpose
:=
strings
.
Split
(
module
,
"_"
)
...
...
common/tuning/optimizer.go
浏览文件 @
535e0aad
...
@@ -33,7 +33,6 @@ import (
...
@@ -33,7 +33,6 @@ import (
// Optimizer : the type implement the bayes serch service
// Optimizer : the type implement the bayes serch service
type
Optimizer
struct
{
type
Optimizer
struct
{
Prj
*
project
.
YamlPrjSvr
Prj
*
project
.
YamlPrjSvr
utils
.
MutexLock
}
}
//BenchMark : the benchmark data
//BenchMark : the benchmark data
...
@@ -47,15 +46,11 @@ var evalMap map[string]float64
...
@@ -47,15 +46,11 @@ var evalMap map[string]float64
var
respPutIns
*
models
.
RespPutBody
var
respPutIns
*
models
.
RespPutBody
var
iter
int
var
iter
int
var
maxIter
int
var
maxIter
int
var
optimizer
=
Optimizer
{}
var
startIterTime
string
var
startIterTime
string
// InitTuned method for init tuning
// InitTuned method for init tuning
func
(
o
*
Optimizer
)
InitTuned
(
ch
chan
*
PB
.
AckCheck
,
askIter
int
)
error
{
func
(
o
*
Optimizer
)
InitTuned
(
ch
chan
*
PB
.
AckCheck
,
askIter
int
)
error
{
//dynamic profle setting
//dynamic profle setting
if
!
optimizer
.
TryLock
()
{
return
fmt
.
Errorf
(
"dynamic optimizer search has been in running"
)
}
maxIter
=
askIter
maxIter
=
askIter
if
maxIter
>
o
.
Prj
.
Maxiterations
{
if
maxIter
>
o
.
Prj
.
Maxiterations
{
maxIter
=
o
.
Prj
.
Maxiterations
maxIter
=
o
.
Prj
.
Maxiterations
...
@@ -102,7 +97,7 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
...
@@ -102,7 +97,7 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
out
,
err
:=
project
.
ExecCommand
(
item
.
Info
.
GetScript
)
out
,
err
:=
project
.
ExecCommand
(
item
.
Info
.
GetScript
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
fmt
.
Errorf
(
"faild to exec %s, err: %v"
,
item
.
Info
.
GetScript
,
err
)
}
}
initConfigure
+=
strings
.
TrimSpace
(
knob
.
Name
+
"="
+
string
(
out
))
+
","
initConfigure
+=
strings
.
TrimSpace
(
knob
.
Name
+
"="
+
string
(
out
))
+
","
}
}
...
@@ -135,7 +130,7 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
...
@@ -135,7 +130,7 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
iter
=
0
iter
=
0
benchmark
:=
BenchMark
{
Content
:
nil
}
benchmark
:=
BenchMark
{
Content
:
nil
}
if
err
:=
benchmark
.
DynamicTuned
(
ch
);
err
!=
nil
{
if
_
,
err
:=
benchmark
.
DynamicTuned
(
ch
);
err
!=
nil
{
return
err
return
err
}
}
...
@@ -145,13 +140,13 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
...
@@ -145,13 +140,13 @@ func (o *Optimizer) InitTuned(ch chan *PB.AckCheck, askIter int) error {
/*
/*
DynamicTuned method using bayes algorithm to search the best performance parameters
DynamicTuned method using bayes algorithm to search the best performance parameters
*/
*/
func
(
bench
*
BenchMark
)
DynamicTuned
(
ch
chan
*
PB
.
AckCheck
)
error
{
func
(
bench
*
BenchMark
)
DynamicTuned
(
ch
chan
*
PB
.
AckCheck
)
(
bool
,
error
)
{
var
evalValue
string
var
evalValue
string
var
err
error
var
err
error
if
bench
.
Content
!=
nil
{
if
bench
.
Content
!=
nil
{
evalValue
,
err
=
bench
.
evalParsing
(
ch
)
evalValue
,
err
=
bench
.
evalParsing
(
ch
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
true
,
err
}
}
}
}
...
@@ -163,19 +158,19 @@ func (bench *BenchMark) DynamicTuned(ch chan *PB.AckCheck) error {
...
@@ -163,19 +158,19 @@ func (bench *BenchMark) DynamicTuned(ch chan *PB.AckCheck) error {
respPutIns
,
err
=
optPutBody
.
Put
(
optimizerPutURL
)
respPutIns
,
err
=
optPutBody
.
Put
(
optimizerPutURL
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Errorf
(
"get setting parameter error: %v"
,
err
)
log
.
Errorf
(
"get setting parameter error: %v"
,
err
)
return
err
return
true
,
err
}
}
log
.
Infof
(
"setting params is: %s"
,
respPutIns
.
Param
)
log
.
Infof
(
"setting params is: %s"
,
respPutIns
.
Param
)
if
err
:=
optimization
.
Prj
.
RunSet
(
respPutIns
.
Param
);
err
!=
nil
{
if
err
:=
optimization
.
Prj
.
RunSet
(
respPutIns
.
Param
);
err
!=
nil
{
log
.
Error
(
err
)
log
.
Error
(
err
)
return
err
return
true
,
err
}
}
log
.
Info
(
"set the parameter success"
)
log
.
Info
(
"set the parameter success"
)
if
err
:=
optimization
.
Prj
.
RestartProject
();
err
!=
nil
{
if
err
:=
optimization
.
Prj
.
RestartProject
();
err
!=
nil
{
log
.
Error
(
err
)
log
.
Error
(
err
)
return
err
return
true
,
err
}
}
log
.
Info
(
"restart project success"
)
log
.
Info
(
"restart project success"
)
...
@@ -195,21 +190,15 @@ func (bench *BenchMark) DynamicTuned(ch chan *PB.AckCheck) error {
...
@@ -195,21 +190,15 @@ func (bench *BenchMark) DynamicTuned(ch chan *PB.AckCheck) error {
if
err
=
deleteTask
(
optimizerPutURL
);
err
!=
nil
{
if
err
=
deleteTask
(
optimizerPutURL
);
err
!=
nil
{
log
.
Error
(
err
)
log
.
Error
(
err
)
}
}
optimizer
.
Unlock
()
return
true
,
nil
return
nil
}
}
iter
++
iter
++
return
nil
return
false
,
nil
}
}
//restore tuning config
//restore tuning config
func
(
o
*
Optimizer
)
RestoreConfigTuned
()
error
{
func
(
o
*
Optimizer
)
RestoreConfigTuned
()
error
{
if
!
optimizer
.
TryLock
()
{
return
fmt
.
Errorf
(
"dynamic optimizer search has been in running"
)
}
defer
optimizer
.
Unlock
()
tuningRestoreConf
:=
path
.
Join
(
config
.
DefaultTempPath
,
o
.
Prj
.
Project
+
config
.
TuningRestoreConfig
)
tuningRestoreConf
:=
path
.
Join
(
config
.
DefaultTempPath
,
o
.
Prj
.
Project
+
config
.
TuningRestoreConfig
)
exist
,
err
:=
utils
.
PathExist
(
tuningRestoreConf
)
exist
,
err
:=
utils
.
PathExist
(
tuningRestoreConf
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
modules/server/profile/profile.go
浏览文件 @
535e0aad
...
@@ -284,7 +284,7 @@ func (s *ProfileServer) CheckInitProfile(profileInfo *PB.ProfileInfo,
...
@@ -284,7 +284,7 @@ func (s *ProfileServer) CheckInitProfile(profileInfo *PB.ProfileInfo,
// Analysis method analysis the system traffic load
// Analysis method analysis the system traffic load
func
(
s
*
ProfileServer
)
Analysis
(
message
*
PB
.
AnalysisMessage
,
stream
PB
.
ProfileMgr_AnalysisServer
)
error
{
func
(
s
*
ProfileServer
)
Analysis
(
message
*
PB
.
AnalysisMessage
,
stream
PB
.
ProfileMgr_AnalysisServer
)
error
{
if
!
s
.
TryLock
()
{
if
!
s
.
TryLock
()
{
return
fmt
.
Errorf
(
"analysis has been in running"
)
return
fmt
.
Errorf
(
"
dynamic optimizer search or
analysis has been in running"
)
}
}
defer
s
.
Unlock
()
defer
s
.
Unlock
()
...
@@ -465,7 +465,10 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
...
@@ -465,7 +465,10 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
// data == "" means in tuning process
// data == "" means in tuning process
if
data
==
""
{
if
data
==
""
{
benchmark
:=
tuning
.
BenchMark
{
Content
:
content
}
benchmark
:=
tuning
.
BenchMark
{
Content
:
content
}
err
:=
benchmark
.
DynamicTuned
(
ch
)
isEnd
,
err
:=
benchmark
.
DynamicTuned
(
ch
)
if
isEnd
{
s
.
Unlock
()
}
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -507,8 +510,12 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
...
@@ -507,8 +510,12 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
//content == nil means in restore config
//content == nil means in restore config
if
content
==
nil
{
if
content
==
nil
{
if
!
s
.
TryLock
()
{
return
fmt
.
Errorf
(
"dynamic optimizer search or analysis has been in running"
)
}
optimizer
:=
tuning
.
Optimizer
{
Prj
:
prj
}
optimizer
:=
tuning
.
Optimizer
{
Prj
:
prj
}
err
:=
optimizer
.
RestoreConfigTuned
()
err
:=
optimizer
.
RestoreConfigTuned
()
s
.
Unlock
()
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -518,11 +525,16 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
...
@@ -518,11 +525,16 @@ func (s *ProfileServer) Tuning(profileInfo *PB.ProfileInfo, stream PB.ProfileMgr
log
.
Info
(
"begin to dynamic optimizer search"
)
log
.
Info
(
"begin to dynamic optimizer search"
)
_
=
stream
.
Send
(
&
PB
.
AckCheck
{
Name
:
fmt
.
Sprintf
(
"begin to dynamic optimizer search"
)})
_
=
stream
.
Send
(
&
PB
.
AckCheck
{
Name
:
fmt
.
Sprintf
(
"begin to dynamic optimizer search"
)})
if
!
s
.
TryLock
()
{
return
fmt
.
Errorf
(
"dynamic optimizer search or analysis has been in running"
)
}
optimizer
:=
tuning
.
Optimizer
{
Prj
:
prj
}
optimizer
:=
tuning
.
Optimizer
{
Prj
:
prj
}
iter
,
_
:=
strconv
.
Atoi
(
string
(
content
))
iter
,
_
:=
strconv
.
Atoi
(
string
(
content
))
log
.
Infof
(
"client ask iterations:%d"
,
iter
)
log
.
Infof
(
"client ask iterations:%d"
,
iter
)
err
=
optimizer
.
InitTuned
(
ch
,
iter
)
err
=
optimizer
.
InitTuned
(
ch
,
iter
)
if
err
!=
nil
{
if
err
!=
nil
{
s
.
Unlock
()
return
err
return
err
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录