Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
E
evaluation-orchestrator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
8
Issues
8
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mowgli
evaluation-orchestrator
Commits
6e35e66b
Commit
6e35e66b
authored
May 15, 2020
by
Daniel Seybold
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactored tsbs worklaod task
parent
e1e80b23
Pipeline
#81241
passed with stage
in 19 minutes and 9 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
13 deletions
+66
-13
src/main/java/de/uulm/omi/evaluation/scenario/PerformanceTSBSScenario.java
...uulm/omi/evaluation/scenario/PerformanceTSBSScenario.java
+23
-4
src/main/java/de/uulm/omi/evaluation/task/TSBSWorkload.java
src/main/java/de/uulm/omi/evaluation/task/TSBSWorkload.java
+43
-9
No files found.
src/main/java/de/uulm/omi/evaluation/scenario/PerformanceTSBSScenario.java
View file @
6e35e66b
...
@@ -22,6 +22,7 @@ import de.uulm.omi.evaluation.task.InitRun;
...
@@ -22,6 +22,7 @@ import de.uulm.omi.evaluation.task.InitRun;
import
de.uulm.omi.evaluation.task.Plotting
;
import
de.uulm.omi.evaluation.task.Plotting
;
import
de.uulm.omi.evaluation.task.Plotting.PlottingTask
;
import
de.uulm.omi.evaluation.task.Plotting.PlottingTask
;
import
de.uulm.omi.evaluation.task.TSBSWorkload
;
import
de.uulm.omi.evaluation.task.TSBSWorkload
;
import
de.uulm.omi.evaluation.task.TSBSWorkload.TSBS_PHASE
;
import
org.jeasy.flows.engine.WorkFlowEngine
;
import
org.jeasy.flows.engine.WorkFlowEngine
;
import
org.jeasy.flows.work.WorkReport
;
import
org.jeasy.flows.work.WorkReport
;
import
org.jeasy.flows.workflow.SequentialFlow
;
import
org.jeasy.flows.workflow.SequentialFlow
;
...
@@ -60,10 +61,22 @@ public class PerformanceTSBSScenario extends EvaluationScenario {
...
@@ -60,10 +61,22 @@ public class PerformanceTSBSScenario extends EvaluationScenario {
CheckDeployment
checkDeployment
=
new
CheckDeployment
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
);
CheckDeployment
checkDeployment
=
new
CheckDeployment
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
);
//TODO: check for refactoring into load and query phase
TSBSWorkload
tsbsWorkload
=
new
TSBSWorkload
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
,
TSBSWorkload
generateTSBSData
=
new
TSBSWorkload
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
,
this
.
performanceTSBS
.
getWorkload
(),
this
.
performanceTSBS
.
getWorkloadNetwork
(),
this
.
workloadPhaseContext
,
this
.
performanceTSBS
.
getWorkload
(),
this
.
performanceTSBS
.
getWorkloadNetwork
(),
this
.
workloadPhaseContext
,
performanceTSBS
.
getWorkloadInstances
());
performanceTSBS
.
getWorkloadInstances
(),
TSBS_PHASE
.
GENERATE_DATA
);
TSBSWorkload
loadTSBSData
=
new
TSBSWorkload
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
,
this
.
performanceTSBS
.
getWorkload
(),
this
.
performanceTSBS
.
getWorkloadNetwork
(),
this
.
workloadPhaseContext
,
performanceTSBS
.
getWorkloadInstances
(),
TSBS_PHASE
.
LOAD_DATA
);
TSBSWorkload
generateTSBSQueires
=
new
TSBSWorkload
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
,
this
.
performanceTSBS
.
getWorkload
(),
this
.
performanceTSBS
.
getWorkloadNetwork
(),
this
.
workloadPhaseContext
,
performanceTSBS
.
getWorkloadInstances
(),
TSBS_PHASE
.
GENERATE_QUERIES
);
TSBSWorkload
executeTSBSQueires
=
new
TSBSWorkload
(
this
.
evaluationContext
,
this
.
dbmsClusterContext
,
this
.
performanceTSBS
.
getWorkload
(),
this
.
performanceTSBS
.
getWorkloadNetwork
(),
this
.
workloadPhaseContext
,
performanceTSBS
.
getWorkloadInstances
(),
TSBS_PHASE
.
EXECUTE_QUERIES
);
CheckWorkload
checkWorkload
=
new
CheckWorkload
(
this
.
evaluationContext
,
this
.
workloadPhaseContext
,
CheckWorkload
checkWorkload
=
new
CheckWorkload
(
this
.
evaluationContext
,
this
.
workloadPhaseContext
,
...
@@ -100,7 +113,13 @@ public class PerformanceTSBSScenario extends EvaluationScenario {
...
@@ -100,7 +113,13 @@ public class PerformanceTSBSScenario extends EvaluationScenario {
.
execute
(
initRun
)
.
execute
(
initRun
)
.
execute
(
deployDB
)
.
execute
(
deployDB
)
.
execute
(
checkDeployment
)
.
execute
(
checkDeployment
)
.
execute
(
tsbsWorkload
)
.
execute
(
generateTSBSData
)
.
execute
(
checkWorkload
)
.
execute
(
loadTSBSData
)
.
execute
(
checkWorkload
)
.
execute
(
generateTSBSQueires
)
.
execute
(
checkWorkload
)
.
execute
(
executeTSBSQueires
)
.
execute
(
checkWorkload
)
.
execute
(
checkWorkload
)
.
execute
(
fetchTSBSResultLoad
)
.
execute
(
fetchTSBSResultLoad
)
.
execute
(
fetchTSBSResultQuery
)
.
execute
(
fetchTSBSResultQuery
)
...
...
src/main/java/de/uulm/omi/evaluation/task/TSBSWorkload.java
View file @
6e35e66b
...
@@ -24,23 +24,32 @@ import org.jeasy.flows.work.WorkStatus;
...
@@ -24,23 +24,32 @@ import org.jeasy.flows.work.WorkStatus;
*/
*/
public
class
TSBSWorkload
extends
EvaluationTask
{
public
class
TSBSWorkload
extends
EvaluationTask
{
public
enum
TSBS_PHASE
{
GENERATE_DATA
,
LOAD_DATA
,
GENERATE_QUERIES
,
EXECUTE_QUERIES
}
private
final
de
.
uulm
.
omi
.
cloudiator
.
dbms
.
evaluator
.
model
.
TSBSWorkload
tsbsWorkload
;
private
final
de
.
uulm
.
omi
.
cloudiator
.
dbms
.
evaluator
.
model
.
TSBSWorkload
tsbsWorkload
;
private
final
EvaluationNetwork
network
;
private
final
EvaluationNetwork
network
;
private
final
ClusterContext
clusterContext
;
private
final
ClusterContext
clusterContext
;
private
final
WorkloadPhaseContext
workloadPhaseContext
;
private
final
WorkloadPhaseContext
workloadPhaseContext
;
private
final
List
<
String
>
workloadInstances
;
private
final
List
<
String
>
workloadInstances
;
private
final
TSBS_PHASE
tsbs_phase
;
private
String
loggerPrefix
=
""
;
private
String
loggerPrefix
=
""
;
public
TSBSWorkload
(
EvaluationContext
evaluationContext
,
ClusterContext
clusterContext
,
public
TSBSWorkload
(
EvaluationContext
evaluationContext
,
ClusterContext
clusterContext
,
de
.
uulm
.
omi
.
cloudiator
.
dbms
.
evaluator
.
model
.
TSBSWorkload
tsbsWorkload
,
EvaluationNetwork
network
,
de
.
uulm
.
omi
.
cloudiator
.
dbms
.
evaluator
.
model
.
TSBSWorkload
tsbsWorkload
,
EvaluationNetwork
network
,
WorkloadPhaseContext
workloadPhaseContext
,
List
<
String
>
workloadInstances
)
{
WorkloadPhaseContext
workloadPhaseContext
,
List
<
String
>
workloadInstances
,
TSBS_PHASE
tsbs_phase
)
{
super
(
TaskType
.
YCSB_LOAD
,
evaluationContext
);
super
(
TaskType
.
YCSB_LOAD
,
evaluationContext
);
this
.
tsbsWorkload
=
tsbsWorkload
;
this
.
tsbsWorkload
=
tsbsWorkload
;
this
.
network
=
network
;
this
.
network
=
network
;
this
.
clusterContext
=
clusterContext
;
this
.
clusterContext
=
clusterContext
;
this
.
workloadPhaseContext
=
workloadPhaseContext
;
this
.
workloadPhaseContext
=
workloadPhaseContext
;
this
.
workloadInstances
=
workloadInstances
;
this
.
workloadInstances
=
workloadInstances
;
this
.
tsbs_phase
=
tsbs_phase
;
}
}
...
@@ -77,16 +86,41 @@ public class TSBSWorkload extends EvaluationTask {
...
@@ -77,16 +86,41 @@ public class TSBSWorkload extends EvaluationTask {
int
instanceCounter
=
0
;
int
instanceCounter
=
0
;
if
(
workloadClients
.
size
()>
1
){
LOGGER
.
warn
(
"Using more than 1 workload-api instance for TSBS is currently not supported!"
);
return
new
DefaultWorkReport
(
WorkStatus
.
FAILED
);
}
for
(
DefaultApi
workloadClient:
workloadClients
)
{
WorkloadProcessInstance
result
;
for
(
DefaultApi
workloadClient:
workloadClients
)
{
writeWorkloadSpec
(
instanceCounter
,
TRANSACTION_SPEC
);
switch
(
this
.
tsbs_phase
){
WorkloadProcessInstance
result
=
workloadClient
.
workloadTsbsPost
(
workloadTask
,
tsbsWorkload
);
case
GENERATE_DATA:
writeWorkloadSpec
(
instanceCounter
,
TRANSACTION_SPEC
);
result
=
workloadClient
.
workloadTsbsGenerateDataPost
(
workloadTask
,
tsbsWorkload
);
LOGGER
.
debug
(
loggerPrefix
+
this
.
tsbs_phase
.
toString
()
+
" Phase status: "
+
result
.
getProcessStatus
().
getValue
());
this
.
workloadPhaseContext
.
setProcessState
(
result
.
getProcessStatus
().
getValue
());
break
;
case
LOAD_DATA:
result
=
workloadClient
.
workloadTsbsLoadDataPost
(
workloadTask
,
tsbsWorkload
);
LOGGER
.
debug
(
loggerPrefix
+
this
.
tsbs_phase
.
toString
()
+
" Phase status: "
+
result
.
getProcessStatus
().
getValue
());
this
.
workloadPhaseContext
.
setProcessState
(
result
.
getProcessStatus
().
getValue
());
break
;
case
GENERATE_QUERIES:
result
=
workloadClient
.
workloadTsbsGenerateQueriesPost
(
workloadTask
,
tsbsWorkload
);
LOGGER
.
debug
(
loggerPrefix
+
this
.
tsbs_phase
.
toString
()
+
" Phase status: "
+
result
.
getProcessStatus
().
getValue
());
this
.
workloadPhaseContext
.
setProcessState
(
result
.
getProcessStatus
().
getValue
());
break
;
case
EXECUTE_QUERIES:
result
=
workloadClient
.
workloadTsbsExecuteQueriesPost
(
workloadTask
,
tsbsWorkload
);
LOGGER
.
debug
(
loggerPrefix
+
this
.
tsbs_phase
.
toString
()
+
" Phase status: "
+
result
.
getProcessStatus
().
getValue
());
this
.
workloadPhaseContext
.
setProcessState
(
result
.
getProcessStatus
().
getValue
());
break
;
}
//TODO: refactor to a list of workloadPhase states
LOGGER
.
debug
(
loggerPrefix
+
"Status: "
+
result
.
getProcessStatus
().
getValue
());
this
.
workloadPhaseContext
.
setProcessState
(
result
.
getProcessStatus
().
getValue
());
instanceCounter
++;
instanceCounter
++;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment