summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-base/src/main
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-04-11 11:37:03 +0200
committerGitHub <noreply@github.com>2024-04-11 11:37:03 +0200
commita7b0afbb5b7059274962ade234a50240677008fd (patch)
tree554e3ca84168bd6c40b979437ccdf9d4e660ddad /opendc-experiments/opendc-experiments-base/src/main
parent48cde8e59f376c7249e51d8e45e22134d60956d9 (diff)
Added absolute timestamp based on the given workload to the output files (#215)
Diffstat (limited to 'opendc-experiments/opendc-experiments-base/src/main')
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt9
1 files changed, 6 insertions, 3 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
index 3dce2bf1..04998309 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
@@ -120,6 +120,11 @@ public fun runScenario(
val partition = scenario.name + "/seed=$seed"
+ val workloadLoader = ComputeWorkloadLoader(File(scenario.workload.pathToFile))
+ val vms = getWorkloadType(scenario.workload.type).resolve(workloadLoader, Random(seed))
+
+ val startTime = Duration.ofMillis(vms.minOf { it.startTime }.toEpochMilli())
+
provisioner.runStep(
registerComputeMonitor(
serviceDomain,
@@ -129,14 +134,12 @@ public fun runScenario(
bufferSize = 4096,
),
Duration.ofSeconds(scenario.exportModel.exportInterval),
+ startTime,
),
)
val service = provisioner.registry.resolve(serviceDomain, ComputeService::class.java)!!
- val workloadLoader = ComputeWorkloadLoader(File(scenario.workload.pathToFile))
- val vms = getWorkloadType(scenario.workload.type).resolve(workloadLoader, Random(seed))
-
service.replay(timeSource, vms, seed, failureModel = scenario.failureModel)
}
}