summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-base/src/main
diff options
context:
space:
mode:
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/experiment/ExperimentFactories.kt1
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/Scenario.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExperimentSpec.kt1
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExportModelSpec.kt11
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ScenarioSpec.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt4
6 files changed, 14 insertions, 7 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/ExperimentFactories.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/ExperimentFactories.kt
index 5d158ea3..ecb0c69f 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/ExperimentFactories.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/ExperimentFactories.kt
@@ -75,7 +75,6 @@ public fun getExperiment(experimentSpec: ExperimentSpec): List<Scenario> {
outputFolder = outputFolder,
runs = experimentSpec.runs,
initialSeed = experimentSpec.initialSeed,
- computeExportConfig = scenarioSpec.computeExportConfig,
topologySpec = scenarioSpec.topology,
workloadSpec = scenarioSpec.workload,
allocationPolicySpec = scenarioSpec.allocationPolicy,
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/Scenario.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/Scenario.kt
index a99bd061..64ff51ad 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/Scenario.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/Scenario.kt
@@ -22,7 +22,6 @@
package org.opendc.experiments.base.experiment
-import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
import org.opendc.experiments.base.experiment.specs.AllocationPolicySpec
import org.opendc.experiments.base.experiment.specs.CheckpointModelSpec
import org.opendc.experiments.base.experiment.specs.ExportModelSpec
@@ -50,7 +49,6 @@ public data class Scenario(
val outputFolder: String = "output",
val runs: Int = 1,
val initialSeed: Int = 0,
- val computeExportConfig: ComputeExportConfig,
val topologySpec: ScenarioTopologySpec,
val workloadSpec: WorkloadSpec,
val allocationPolicySpec: AllocationPolicySpec,
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExperimentSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExperimentSpec.kt
index 6d8c8ebf..91d0b986 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExperimentSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ExperimentSpec.kt
@@ -96,7 +96,6 @@ public data class ExperimentSpec(
id,
name,
outputFolder,
- computeExportConfig = computeExportConfig,
topologyList[(i / topologyDiv) % topologyList.size],
workloadList[(i / workloadDiv) % workloadList.size],
allocationPolicyList[(i / allocationDiv) % allocationPolicyList.size],
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 62f1ea4b..a345fcb9 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
@@ -23,6 +23,8 @@
package org.opendc.experiments.base.experiment.specs
import kotlinx.serialization.Serializable
+import org.opendc.compute.simulator.telemetry.OutputFiles
+import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
/**
* specification describing how the results should be exported
@@ -32,8 +34,17 @@ import kotlinx.serialization.Serializable
@Serializable
public data class ExportModelSpec(
val exportInterval: Long = 5 * 60,
+ val computeExportConfig: ComputeExportConfig = ComputeExportConfig.ALL_COLUMNS,
+ val filesToExport: List<OutputFiles> = OutputFiles.entries.toList(),
+ var filesToExportDict: MutableMap<OutputFiles, Boolean> = OutputFiles.entries.associateWith { false }.toMutableMap(),
) {
init {
require(exportInterval > 0) { "The Export interval has to be higher than 0" }
+
+ // Create a dictionary with each output file to false.
+ // Set each file in [filesToExport] to true in the dictionary.
+ for (file in filesToExport) {
+ filesToExportDict[file] = true
+ }
}
}
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ScenarioSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ScenarioSpec.kt
index b41eb37b..eb0d71ed 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ScenarioSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/experiment/specs/ScenarioSpec.kt
@@ -23,14 +23,12 @@
package org.opendc.experiments.base.experiment.specs
import kotlinx.serialization.Serializable
-import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
@Serializable
public data class ScenarioSpec(
var id: Int = -1,
var name: String = "",
val outputFolder: String = "output",
- val computeExportConfig: ComputeExportConfig,
val topology: ScenarioTopologySpec,
val workload: WorkloadSpec,
val allocationPolicy: AllocationPolicySpec = AllocationPolicySpec(),
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 7cbce23a..683bd5b6 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
@@ -147,10 +147,12 @@ public fun addExportModel(
File("${scenario.outputFolder}/raw-output/$index"),
"seed=$seed",
bufferSize = 4096,
- computeExportConfig = scenario.computeExportConfig,
+ scenario.exportModelSpec.filesToExportDict,
+ computeExportConfig = scenario.exportModelSpec.computeExportConfig,
),
Duration.ofSeconds(scenario.exportModelSpec.exportInterval),
startTime,
+ scenario.exportModelSpec.filesToExportDict,
),
)
}