summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-runner
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-09-21 11:34:34 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-09-21 11:34:34 +0200
commit68ef3700ed2f69bcf0118bb69eda71e6b1f4d54f (patch)
tree73201888564accde4cfa107f4ffdb15e9f93d45c /opendc-web/opendc-web-runner
parentc7fff03408ee3109d0a39a96c043584a2d8f67ca (diff)
feat(trace): Add support for writing traces
This change adds a new API for writing traces in a trace format. Currently, writing is only supported by the OpenDC VM format, but over time the other formats will also have support for writing added.
Diffstat (limited to 'opendc-web/opendc-web-runner')
-rw-r--r--opendc-web/opendc-web-runner/build.gradle.kts4
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt6
2 files changed, 5 insertions, 5 deletions
diff --git a/opendc-web/opendc-web-runner/build.gradle.kts b/opendc-web/opendc-web-runner/build.gradle.kts
index bfbb1687..810f512f 100644
--- a/opendc-web/opendc-web-runner/build.gradle.kts
+++ b/opendc-web/opendc-web-runner/build.gradle.kts
@@ -36,10 +36,11 @@ application {
dependencies {
api(platform(projects.opendcPlatform))
implementation(projects.opendcCompute.opendcComputeSimulator)
- implementation(projects.opendcExperiments.opendcExperimentsCapelin)
+ implementation(projects.opendcCompute.opendcComputeWorkload)
implementation(projects.opendcSimulator.opendcSimulatorCore)
implementation(projects.opendcTelemetry.opendcTelemetrySdk)
implementation(projects.opendcTelemetry.opendcTelemetryCompute)
+ implementation(projects.opendcTrace.opendcTraceApi)
implementation(libs.kotlin.logging)
implementation(libs.clikt)
@@ -50,6 +51,7 @@ dependencies {
implementation(libs.jackson.datatype.jsr310)
implementation(kotlin("reflect"))
+ runtimeOnly(projects.opendcTrace.opendcTraceOpendc)
runtimeOnly(libs.log4j.slf4j)
testImplementation(libs.ktor.client.mock)
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt
index 1b518fee..40a7ea62 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt
@@ -33,8 +33,6 @@ import org.opendc.compute.workload.topology.HostSpec
import org.opendc.compute.workload.topology.Topology
import org.opendc.compute.workload.topology.apply
import org.opendc.compute.workload.util.PerformanceInterferenceReader
-import org.opendc.experiments.capelin.model.Workload
-import org.opendc.experiments.capelin.util.createComputeScheduler
import org.opendc.simulator.compute.kernel.interference.VmInterferenceModel
import org.opendc.simulator.compute.model.MachineModel
import org.opendc.simulator.compute.model.MemoryUnit
@@ -181,7 +179,7 @@ class RunnerCli : CliktCommand(name = "runner") {
val operational = scenario.operationalPhenomena
val computeScheduler = createComputeScheduler(operational.schedulerName, seeder)
- val workload = Workload(workloadName, trace(workloadName).sampleByLoad(workloadFraction))
+ val workload = trace(workloadName).sampleByLoad(workloadFraction)
val failureModel =
if (operational.failuresEnabled)
@@ -203,7 +201,7 @@ class RunnerCli : CliktCommand(name = "runner") {
// Instantiate the topology onto the simulator
simulator.apply(topology)
// Run workload trace
- simulator.run(workload.source.resolve(workloadLoader, seeder), seeder.nextLong())
+ simulator.run(workload.resolve(workloadLoader, seeder), seeder.nextLong())
} finally {
simulator.close()
metricReader.close()