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/experiment/specs/ExportModelSpec.kt1
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt5
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/TestingUtils.kt6
4 files changed, 8 insertions, 6 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
index a345fcb9..6d1ee0f0 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt
@@ -37,6 +37,7 @@ public data class ExportModelSpec(
val computeExportConfig: ComputeExportConfig = ComputeExportConfig.ALL_COLUMNS,
val filesToExport: List<OutputFiles> = OutputFiles.entries.toList(),
var filesToExportDict: MutableMap<OutputFiles, Boolean> = OutputFiles.entries.associateWith { false }.toMutableMap(),
+ var printFrequency: Int? = 24,
) {
init {
require(exportInterval > 0) { "The Export interval has to be higher than 0" }
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
index 45fedd0d..5664e0cb 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
@@ -104,7 +104,7 @@ public suspend fun ComputeService.replay(
for (entry in trace.sortedBy { it.submissionTime }) {
val now = clock.millis()
- val start = entry.submissionTime.toEpochMilli()
+ val start = entry.submissionTime
// Set the simulationOffset based on the starting time of the first task
if (simulationOffset == Long.MIN_VALUE) {
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 683bd5b6..4da035ec 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
@@ -93,9 +93,9 @@ public fun runScenario(
checkpointIntervalScaling,
scalingPolicy,
)
- val workload = workloadLoader.sampleByLoad(scenario.workloadSpec.sampleFraction)
+ var workload = workloadLoader.sampleByLoad(scenario.workloadSpec.sampleFraction)
- val startTimeLong = workload.minOf { it.submissionTime }.toEpochMilli()
+ val startTimeLong = workload.minOf { it.submissionTime }
val startTime = Duration.ofMillis(startTimeLong)
val topology = clusterTopology(scenario.topologySpec.pathToFile)
@@ -153,6 +153,7 @@ public fun addExportModel(
Duration.ofSeconds(scenario.exportModelSpec.exportInterval),
startTime,
scenario.exportModelSpec.filesToExportDict,
+ scenario.exportModelSpec.printFrequency,
),
)
}
diff --git a/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/TestingUtils.kt b/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/TestingUtils.kt
index 408e1496..68de1773 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/TestingUtils.kt
+++ b/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/TestingUtils.kt
@@ -80,7 +80,7 @@ fun createTestTask(
fragments.maxOf { it.cpuUsage },
memCapacity,
1800000.0,
- LocalDateTime.parse(submissionTime).toInstant(ZoneOffset.UTC),
+ LocalDateTime.parse(submissionTime).toInstant(ZoneOffset.UTC).toEpochMilli(),
duration,
TraceWorkload(
fragments,
@@ -108,7 +108,7 @@ fun runTest(
val seed = 0L
Provisioner(dispatcher, seed).use { provisioner ->
- val startTimeLong = workload.minOf { it.submissionTime }.toEpochMilli()
+ val startTimeLong = workload.minOf { it.submissionTime }
val startTime = Duration.ofMillis(startTimeLong)
provisioner.runSteps(
@@ -121,7 +121,7 @@ fun runTest(
service.setTasksExpected(workload.size)
service.setMetricReader(provisioner.getMonitor())
- service.replay(timeSource, workload, failureModelSpec = failureModelSpec)
+ service.replay(timeSource, ArrayDeque(workload), failureModelSpec = failureModelSpec)
}
}