summaryrefslogtreecommitdiff
path: root/simulator/opendc-experiments
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-08 12:32:11 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-08 14:19:00 +0200
commit6a04ae25ca18f959b8f2b768c8ce2c285ed72c09 (patch)
tree08d59203f48ca441f8dc617f1a04ad5031b5a71e /simulator/opendc-experiments
parent8deb1fbff56f9aee0b5f0114c026fb4e57d53f95 (diff)
exp: Fix metric recording of summary data
This change fixes an issue in the metric exporter for summary metrics, where instead of some average value, the sum value was reported.
Diffstat (limited to 'simulator/opendc-experiments')
-rw-r--r--simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/monitor/ExperimentMetricExporter.kt16
-rw-r--r--simulator/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt8
2 files changed, 7 insertions, 17 deletions
diff --git a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/monitor/ExperimentMetricExporter.kt b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/monitor/ExperimentMetricExporter.kt
index 39f18a1b..5f8002e2 100644
--- a/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/monitor/ExperimentMetricExporter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-capelin/src/main/kotlin/org/opendc/experiments/capelin/monitor/ExperimentMetricExporter.kt
@@ -103,19 +103,9 @@ public class ExperimentMetricExporter(
val hostMetric = hostMetrics[uid]
if (hostMetric != null) {
- block(hostMetric, point.sum)
- }
- }
- }
-
- private fun mapDoubleSum(data: MetricData?, hostMetrics: MutableMap<String, HostMetrics>, block: (HostMetrics, Double) -> Unit) {
- val points = data?.doubleSumData?.points ?: emptyList()
- for (point in points) {
- val uid = point.labels["host"]
- val hostMetric = hostMetrics[uid]
-
- if (hostMetric != null) {
- block(hostMetric, point.value)
+ // Take the average of the summary
+ val avg = (point.percentileValues[0].value + point.percentileValues[1].value) / 2
+ block(hostMetric, avg)
}
}
}
diff --git a/simulator/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt b/simulator/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
index 9a620fb2..d2e7473f 100644
--- a/simulator/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
+++ b/simulator/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
@@ -118,8 +118,8 @@ class CapelinIntegrationTest {
{ assertEquals(0, monitorResults.runningVms, "All VMs should finish after a run") },
{ assertEquals(0, monitorResults.unscheduledVms, "No VM should not be unscheduled") },
{ assertEquals(0, monitorResults.queuedVms, "No VM should not be in the queue") },
- { assertEquals(207629398281, monitor.totalRequestedBurst) { "Incorrect requested burst" } },
- { assertEquals(204986447775, monitor.totalGrantedBurst) { "Incorrect granted burst" } },
+ { assertEquals(207388095207, monitor.totalRequestedBurst) { "Incorrect requested burst" } },
+ { assertEquals(204745144701, monitor.totalGrantedBurst) { "Incorrect granted burst" } },
{ assertEquals(2642950497, monitor.totalOvercommissionedBurst) { "Incorrect overcommitted burst" } },
{ assertEquals(0, monitor.totalInterferedBurst) { "Incorrect interfered burst" } }
)
@@ -156,8 +156,8 @@ class CapelinIntegrationTest {
// Note that these values have been verified beforehand
assertAll(
- { assertEquals(96538919775, monitor.totalRequestedBurst) { "Total requested work incorrect" } },
- { assertEquals(96519182315, monitor.totalGrantedBurst) { "Total granted work incorrect" } },
+ { assertEquals(96350072517, monitor.totalRequestedBurst) { "Total requested work incorrect" } },
+ { assertEquals(96330335057, monitor.totalGrantedBurst) { "Total granted work incorrect" } },
{ assertEquals(19737460, monitor.totalOvercommissionedBurst) { "Total overcommitted work incorrect" } },
{ assertEquals(0, monitor.totalInterferedBurst) { "Total interfered work incorrect" } }
)