diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2025-03-18 22:55:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-18 22:55:50 +0100 |
| commit | 5965492a9bab7e25dfc01c02bbfa7effe1e36dd0 (patch) | |
| tree | 7b90b5e746859fc89aab6958de01a64190ce1378 /opendc-compute/opendc-compute-simulator/src/main/kotlin | |
| parent | 46ba81a45f7cb10c7f870bbf6946a46207ee353c (diff) | |
Made some changes to improve RAM of OpenDC (#318)
Diffstat (limited to 'opendc-compute/opendc-compute-simulator/src/main/kotlin')
3 files changed, 7 insertions, 3 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 cec664b6..e1ce0dbd 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 @@ -45,6 +45,7 @@ public class ComputeMonitorProvisioningStep( OutputFiles.POWER_SOURCE to true, OutputFiles.BATTERY to true, ), + private val printFrequency: Int? = null, ) : ProvisioningStep { override fun apply(ctx: ProvisioningContext): AutoCloseable { val service = @@ -59,6 +60,7 @@ public class ComputeMonitorProvisioningStep( exportInterval, startTime, filesToExport, + printFrequency, ) return metricReader } diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt index c72e8944..a18856f8 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt +++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt @@ -68,8 +68,9 @@ public fun registerComputeMonitor( OutputFiles.POWER_SOURCE to true, OutputFiles.BATTERY to true, ), + printFrequency: Int? = null, ): ProvisioningStep { - return ComputeMonitorProvisioningStep(serviceDomain, monitor, exportInterval, startTime, filesToExport) + return ComputeMonitorProvisioningStep(serviceDomain, monitor, exportInterval, startTime, filesToExport, printFrequency) } /** 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 c88b98ea..83899678 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 @@ -64,6 +64,7 @@ public class ComputeMetricReader( OutputFiles.BATTERY to true, OutputFiles.SERVICE to true, ), + private val printFrequency: Int? = null, ) : AutoCloseable { private val logger = KotlinLogging.logger {} private val scope = CoroutineScope(dispatcher.asCoroutineDispatcher()) @@ -156,6 +157,7 @@ public class ComputeMetricReader( } for (task in this.service.tasksToRemove) { + this.taskTableReaders.remove(task) task.delete() } this.service.clearTasksToRemove() @@ -197,7 +199,7 @@ public class ComputeMetricReader( monitor.record(this.serviceTableReader.copy()) } - if (loggCounter >= 24) { + if (printFrequency != null && loggCounter % printFrequency == 0) { var loggString = "\n\t\t\t\t\tMetrics after ${now.toEpochMilli() / 1000 / 60 / 60} hours:\n" loggString += "\t\t\t\t\t\tTasks Total: ${this.serviceTableReader.tasksTotal}\n" loggString += "\t\t\t\t\t\tTasks Active: ${this.serviceTableReader.tasksActive}\n" @@ -206,7 +208,6 @@ public class ComputeMetricReader( loggString += "\t\t\t\t\t\tTasks Terminated: ${this.serviceTableReader.tasksTerminated}\n" this.logger.warn { loggString } - loggCounter = 0 } } catch (cause: Throwable) { this.logger.warn(cause) { "Exporter threw an Exception" } |
