From 6c896a4a29147a863d797ac5bd5a210d4a9a78ef Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 10 Oct 2022 11:05:11 +0200 Subject: fix(compute/service): Expose number of registered servers This change updates the compute service telemetry to also expose the number of servers that are registered with the service. --- .../org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt | 5 +++++ .../org/opendc/experiments/compute/telemetry/table/ServiceData.kt | 3 ++- .../opendc/experiments/compute/telemetry/table/ServiceTableReader.kt | 5 +++++ .../experiments/compute/export/parquet/ServiceDataWriterTest.kt | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) (limited to 'opendc-experiments') diff --git a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt index 7e89eab1..ac058171 100644 --- a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt +++ b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt @@ -138,6 +138,10 @@ public class ComputeMetricReader( get() = _hostsDown private var _hostsDown = 0 + override val serversTotal: Int + get() = _serversTotal + private var _serversTotal = 0 + override val serversPending: Int get() = _serversPending private var _serversPending = 0 @@ -167,6 +171,7 @@ public class ComputeMetricReader( val stats = service.getSchedulerStats() _hostsUp = stats.hostsAvailable _hostsDown = stats.hostsUnavailable + _serversTotal = stats.serversTotal _serversPending = stats.serversPending _serversActive = stats.serversActive _attemptsSuccess = stats.attemptsSuccess.toInt() diff --git a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceData.kt b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceData.kt index 394c6bd6..5b6960a3 100644 --- a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceData.kt +++ b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceData.kt @@ -31,6 +31,7 @@ public data class ServiceData( val timestamp: Instant, val hostsUp: Int, val hostsDown: Int, + val serversTotal: Int, val serversPending: Int, val serversActive: Int, val attemptsSuccess: Int, @@ -42,5 +43,5 @@ public data class ServiceData( * Convert a [ServiceTableReader] into a persistent object. */ public fun ServiceTableReader.toServiceData(): ServiceData { - return ServiceData(timestamp, hostsUp, hostsDown, serversPending, serversActive, attemptsSuccess, attemptsFailure, attemptsError) + return ServiceData(timestamp, hostsUp, hostsDown, serversTotal, serversPending, serversActive, attemptsSuccess, attemptsFailure, attemptsError) } diff --git a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceTableReader.kt b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceTableReader.kt index 0155a879..bb926298 100644 --- a/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceTableReader.kt +++ b/opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceTableReader.kt @@ -43,6 +43,11 @@ public interface ServiceTableReader { */ public val hostsDown: Int + /** + * The number of servers that are registered with the compute service.. + */ + public val serversTotal: Int + /** * The number of servers that are pending to be scheduled. */ diff --git a/opendc-experiments/opendc-experiments-compute/src/test/kotlin/org/opendc/experiments/compute/export/parquet/ServiceDataWriterTest.kt b/opendc-experiments/opendc-experiments-compute/src/test/kotlin/org/opendc/experiments/compute/export/parquet/ServiceDataWriterTest.kt index 20301185..978cc9d4 100644 --- a/opendc-experiments/opendc-experiments-compute/src/test/kotlin/org/opendc/experiments/compute/export/parquet/ServiceDataWriterTest.kt +++ b/opendc-experiments/opendc-experiments-compute/src/test/kotlin/org/opendc/experiments/compute/export/parquet/ServiceDataWriterTest.kt @@ -56,6 +56,7 @@ class ServiceDataWriterTest { override val timestamp: Instant = Instant.now() override val hostsUp: Int = 1 override val hostsDown: Int = 0 + override val serversTotal: Int = 1 override val serversPending: Int = 1 override val serversActive: Int = 1 override val attemptsSuccess: Int = 1 -- cgit v1.2.3