From f51bf570f143faf69e3ae361cceac5f0c2420d88 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 15 Jun 2022 21:56:01 +0200 Subject: fix(exp/tf20): Derive device statistics directly from SimMachine This change updates the implementation of SimTFDevice to directly use the metrics provided by the `SimBareMetalMachine` class, instead of computing these metrics itself. --- .../org/opendc/experiments/tf20/core/SimTFDevice.kt | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt index 90350142..2c79da02 100644 --- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt +++ b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt @@ -67,13 +67,6 @@ public class SimTFDevice( SimplePowerDriver(powerModel) ) - /** - * Metrics collected by the device. - */ - private var _resourceUsage = 0.0 - private var _powerUsage = 0.0 - private var _energyUsage = 0.0 - /** * The workload that will be run by the device. */ @@ -121,7 +114,7 @@ public class SimTFDevice( ctx = conn capacity = conn.capacity lastPull = now - conn.shouldSourceConverge = true + conn.shouldSourceConverge = false } override fun onPull(conn: FlowConnection, now: Long): Long { @@ -156,12 +149,6 @@ public class SimTFDevice( Long.MAX_VALUE } } - - override fun onConverge(conn: FlowConnection, now: Long) { - _resourceUsage = conn.rate - _powerUsage = machine.powerUsage - _energyUsage = machine.energyUsage - } } init { @@ -183,7 +170,8 @@ public class SimTFDevice( } override fun getDeviceStats(): TFDeviceStats { - return TFDeviceStats(_resourceUsage, _powerUsage, _energyUsage) + val resourceUsage = machine.cpus.sumOf { it.rate } + return TFDeviceStats(resourceUsage, machine.powerUsage, machine.energyUsage) } override fun close() { -- cgit v1.2.3