summaryrefslogtreecommitdiff
path: root/opendc-telemetry/opendc-telemetry-compute
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-09-13 12:22:32 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-09-17 16:48:02 +0200
commit144d9d0c118097900c086b7fb8b1cf22a788592b (patch)
treefeb5ad8e2bf058025c513e791cc85d5457453647 /opendc-telemetry/opendc-telemetry-compute
parent2cd3bd18e548a72d64afe0e7f59487f4747d722f (diff)
build(telemetry): Update to OpenTelemetry 1.6.0
This change updates the opentelemetry-java library to version 1.6.0.
Diffstat (limited to 'opendc-telemetry/opendc-telemetry-compute')
-rw-r--r--opendc-telemetry/opendc-telemetry-compute/src/main/kotlin/org/opendc/telemetry/compute/ComputeMetricExporter.kt11
1 files changed, 10 insertions, 1 deletions
diff --git a/opendc-telemetry/opendc-telemetry-compute/src/main/kotlin/org/opendc/telemetry/compute/ComputeMetricExporter.kt b/opendc-telemetry/opendc-telemetry-compute/src/main/kotlin/org/opendc/telemetry/compute/ComputeMetricExporter.kt
index 95e7ff9e..57d43c60 100644
--- a/opendc-telemetry/opendc-telemetry-compute/src/main/kotlin/org/opendc/telemetry/compute/ComputeMetricExporter.kt
+++ b/opendc-telemetry/opendc-telemetry-compute/src/main/kotlin/org/opendc/telemetry/compute/ComputeMetricExporter.kt
@@ -59,7 +59,7 @@ public class ComputeMetricExporter(
when (metric.name) {
"cpu.demand" -> mapDoubleSummary(metric, hostMetrics) { m, v -> m.cpuDemand = v }
"cpu.usage" -> mapDoubleSummary(metric, hostMetrics) { m, v -> m.cpuUsage = v }
- "power.usage" -> mapDoubleSummary(metric, hostMetrics) { m, v -> m.powerDraw = v }
+ "power.usage" -> mapDoubleHistogram(metric, hostMetrics) { m, v -> m.powerDraw = v }
"cpu.work.total" -> mapDoubleSum(metric, hostMetrics) { m, v -> m.totalWork = v }
"cpu.work.granted" -> mapDoubleSum(metric, hostMetrics) { m, v -> m.grantedWork = v }
"cpu.work.overcommit" -> mapDoubleSum(metric, hostMetrics) { m, v -> m.overcommittedWork = v }
@@ -105,6 +105,15 @@ public class ComputeMetricExporter(
}
}
+ private fun mapDoubleHistogram(data: MetricData, hostMetrics: MutableMap<String, HBuffer>, block: (HBuffer, Double) -> Unit) {
+ val points = data.doubleHistogramData?.points ?: emptyList()
+ for (point in points) {
+ val uid = point.attributes[ResourceAttributes.HOST_ID] ?: continue
+ val hostMetric = hostMetrics.computeIfAbsent(uid) { HBuffer() }
+ block(hostMetric, point.sum / point.count)
+ }
+ }
+
private fun mapLongSum(data: MetricData?, hostMetrics: MutableMap<String, HBuffer>, block: (HBuffer, Long) -> Unit) {
val points = data?.longSumData?.points ?: emptyList()
for (point in points) {