summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-runner
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web/opendc-web-runner')
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/Main.kt13
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/ScenarioManager.kt2
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMetricExporter.kt (renamed from opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMonitor.kt)5
3 files changed, 10 insertions, 10 deletions
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 40a7ea62..96b300d7 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
@@ -41,7 +41,6 @@ import org.opendc.simulator.compute.model.ProcessingUnit
import org.opendc.simulator.compute.power.LinearPowerModel
import org.opendc.simulator.compute.power.SimplePowerDriver
import org.opendc.simulator.core.runBlockingSimulation
-import org.opendc.telemetry.compute.ComputeMetricExporter
import org.opendc.telemetry.compute.collectServiceMetrics
import org.opendc.telemetry.sdk.metrics.export.CoroutineMetricReader
import org.opendc.web.client.ApiClient
@@ -126,7 +125,7 @@ class RunnerCli : CliktCommand(name = "runner") {
/**
* Run a single scenario.
*/
- private suspend fun runScenario(portfolio: ClientPortfolio, scenario: Scenario, topology: Topology): List<WebComputeMonitor.Result> {
+ private suspend fun runScenario(portfolio: ClientPortfolio, scenario: Scenario, topology: Topology): List<WebComputeMetricExporter.Result> {
val id = scenario.id
logger.info { "Constructing performance interference model" }
@@ -167,8 +166,8 @@ class RunnerCli : CliktCommand(name = "runner") {
topology: Topology,
workloadLoader: ComputeWorkloadLoader,
interferenceModel: VmInterferenceModel?
- ): WebComputeMonitor.Result {
- val monitor = WebComputeMonitor()
+ ): WebComputeMetricExporter.Result {
+ val exporter = WebComputeMetricExporter()
try {
runBlockingSimulation {
@@ -195,7 +194,7 @@ class RunnerCli : CliktCommand(name = "runner") {
interferenceModel.takeIf { operational.performanceInterferenceEnabled }
)
- val metricReader = CoroutineMetricReader(this, simulator.producers, ComputeMetricExporter(clock, monitor), exportInterval = Duration.ofHours(1))
+ val metricReader = CoroutineMetricReader(this, simulator.producers, exporter, exportInterval = Duration.ofHours(1))
try {
// Instantiate the topology onto the simulator
@@ -207,7 +206,7 @@ class RunnerCli : CliktCommand(name = "runner") {
metricReader.close()
}
- val serviceMetrics = collectServiceMetrics(clock.instant(), simulator.producers[0])
+ val serviceMetrics = collectServiceMetrics(simulator.producers[0])
logger.debug {
"Scheduler " +
"Success=${serviceMetrics.attemptsSuccess} " +
@@ -221,7 +220,7 @@ class RunnerCli : CliktCommand(name = "runner") {
logger.warn(cause) { "Experiment failed" }
}
- return monitor.getResult()
+ return exporter.getResult()
}
private val POLL_INTERVAL = 30000L // ms = 30 s
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/ScenarioManager.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/ScenarioManager.kt
index a0c281e8..1ee835a6 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/ScenarioManager.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/ScenarioManager.kt
@@ -61,7 +61,7 @@ public class ScenarioManager(private val client: ApiClient) {
/**
* Persist the specified results.
*/
- public suspend fun finish(id: String, results: List<WebComputeMonitor.Result>) {
+ public suspend fun finish(id: String, results: List<WebComputeMetricExporter.Result>) {
client.updateJob(
id, SimulationState.FINISHED,
mapOf(
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMonitor.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMetricExporter.kt
index bb412738..7913660d 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMonitor.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/WebComputeMetricExporter.kt
@@ -22,6 +22,7 @@
package org.opendc.web.runner
+import org.opendc.telemetry.compute.ComputeMetricExporter
import org.opendc.telemetry.compute.ComputeMonitor
import org.opendc.telemetry.compute.table.HostData
import org.opendc.telemetry.compute.table.ServiceData
@@ -31,7 +32,7 @@ import kotlin.math.roundToLong
/**
* A [ComputeMonitor] that tracks the aggregate metrics for each repeat.
*/
-class WebComputeMonitor : ComputeMonitor {
+class WebComputeMetricExporter : ComputeMetricExporter() {
override fun record(data: HostData) {
val slices = data.downtime / SLICE_LENGTH
@@ -57,7 +58,7 @@ class WebComputeMonitor : ComputeMonitor {
private var hostAggregateMetrics: AggregateHostMetrics = AggregateHostMetrics()
private val hostMetrics: MutableMap<String, HostMetrics> = mutableMapOf()
- private val SLICE_LENGTH: Long = 5 * 60
+ private val SLICE_LENGTH: Long = 5 * 60L
data class AggregateHostMetrics(
val totalActiveTime: Long = 0L,