diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-02-19 11:32:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-19 11:32:38 +0100 |
| commit | a413367c039e1cbb640cbd7087068d78140b373f (patch) | |
| tree | 3737158b657c8cb2f102621f90d7f5dedddaba77 /opendc-compute | |
| parent | 0cba027933e19254573f2488086db3e4660f93d2 (diff) | |
| parent | 5a0821e19eed87e91054289051213cb60b4235b4 (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')
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") }, |
