diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2024-11-01 15:33:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-01 15:33:29 +0100 |
| commit | 6fa203b9187b474816e7719baed8c97eadd689cb (patch) | |
| tree | 37591e7372a14f192c80c9d203a8b965fa48a47d /opendc-compute/opendc-compute-simulator/src/main/kotlin/org | |
| parent | 7511fb768fab68d542adf5bbfb15e32300156c7e (diff) | |
Updated computeService to force the simulation to stop when all tasks are finished (#259)
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main/kotlin/org')
3 files changed, 13 insertions, 2 deletions
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt index f295f522..da6dcfbc 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt @@ -53,6 +53,6 @@ public class ComputeMonitorProvisioningStep( startTime, carbonTrace, ) - return AutoCloseable { metricReader.close() } + return metricReader } } diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt index 2e76478e..d06dac06 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt @@ -24,6 +24,7 @@ package org.opendc.compute.simulator.provisioner import org.opendc.common.Dispatcher import org.opendc.compute.simulator.ServiceRegistry +import org.opendc.compute.simulator.telemetry.ComputeMetricReader import java.util.ArrayDeque import java.util.SplittableRandom @@ -61,6 +62,16 @@ public class Provisioner(dispatcher: Dispatcher, seed: Long) : AutoCloseable { public val registry: ServiceRegistry get() = context.registry + public fun getMonitor(): ComputeMetricReader? { + for (element in stack) { + if (element is ComputeMetricReader) { + return element + } + } + + return null + } + /** * Run a single [ProvisioningStep] for this environment. * diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt index fb7c8f89..3098ed55 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt @@ -108,7 +108,7 @@ public class ComputeMetricReader( } } - private fun loggState() { + public fun loggState() { loggCounter++ try { val now = this.clock.instant() |
