diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2025-02-18 11:58:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-18 11:58:56 +0100 |
| commit | ee770ffe22e1eb2d7f28c010d6252222d2f4bc1a (patch) | |
| tree | df0305f888bea04c6593ccdb99f7402d6040b486 /opendc-experiments | |
| parent | e9080b6280a3a1264a35748eccd1c58205c001bf (diff) | |
Added the option to select which files to export. (#307)
* Added the option to select which files to export.
* Updated documentation
Diffstat (limited to 'opendc-experiments')
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, ), ) } |
