summaryrefslogtreecommitdiff
path: root/opendc-compute
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-02-19 11:32:38 +0100
committerGitHub <noreply@github.com>2022-02-19 11:32:38 +0100
commita413367c039e1cbb640cbd7087068d78140b373f (patch)
tree3737158b657c8cb2f102621f90d7f5dedddaba77 /opendc-compute
parent0cba027933e19254573f2488086db3e4660f93d2 (diff)
parent5a0821e19eed87e91054289051213cb60b4235b4 (diff)
merge: Backport generic changes from Radice branch
This pull request backports changes from the Radice branch that are not related to Radice itself. ## Implementation Notes :hammer_and_pick: * Adjust CPU capacity to number of vCPUs * Fix reporting of CPU time * Flush results before accessing counters * Move logger field out of class * Remove delta parameter from flow callbacks ## Breaking API Changes :warning: * `delta` parameter from callbacks in `FlowSource` is removed.
Diffstat (limited to 'opendc-compute')
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt1
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt1
-rw-r--r--opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt4
3 files changed, 4 insertions, 2 deletions
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
index 43f33f27..4eb6392e 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
@@ -418,6 +418,7 @@ public class SimHost(
*/
private fun collectCpuTime(result: ObservableLongMeasurement) {
val counters = hypervisor.counters
+ counters.flush()
result.record(counters.cpuActiveTime / 1000L, _activeState)
result.record(counters.cpuIdleTime / 1000L, _idleState)
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
index f49c2824..bb378ee3 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
@@ -272,6 +272,7 @@ internal class Guest(
*/
fun collectCpuTime(result: ObservableLongMeasurement) {
val counters = machine.counters
+ counters.flush()
result.record(counters.cpuActiveTime / 1000, _activeState)
result.record(counters.cpuIdleTime / 1000, _idleState)
diff --git a/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt b/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt
index dd13b60c..f0325023 100644
--- a/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt
+++ b/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt
@@ -173,7 +173,7 @@ internal class SimHostTest {
assertAll(
{ assertEquals(658, activeTime, "Active time does not match") },
- { assertEquals(1741, idleTime, "Idle time does not match") },
+ { assertEquals(2341, idleTime, "Idle time does not match") },
{ assertEquals(637, stealTime, "Steal time does not match") },
{ assertEquals(1500001, clock.millis()) }
)
@@ -278,7 +278,7 @@ internal class SimHostTest {
meterProvider.close()
assertAll(
- { assertEquals(1175, idleTime, "Idle time does not match") },
+ { assertEquals(1775, idleTime, "Idle time does not match") },
{ assertEquals(624, activeTime, "Active time does not match") },
{ assertEquals(900001, uptime, "Uptime does not match") },
{ assertEquals(300000, downtime, "Downtime does not match") },