summaryrefslogtreecommitdiff
path: root/opendc-experiments
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-experiments')
-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)
}
}