summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-compute
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-10-10 11:05:11 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-10-10 12:14:50 +0200
commit6c896a4a29147a863d797ac5bd5a210d4a9a78ef (patch)
tree709b59fba85ec90a1526cf150ab8703141a30901 /opendc-experiments/opendc-experiments-compute
parentd889a41487c1312ed11deb7e88f0214ac057727c (diff)
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.
Diffstat (limited to 'opendc-experiments/opendc-experiments-compute')
-rw-r--r--opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/ComputeMetricReader.kt5
-rw-r--r--opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceData.kt3
-rw-r--r--opendc-experiments/opendc-experiments-compute/src/main/kotlin/org/opendc/experiments/compute/telemetry/table/ServiceTableReader.kt5
-rw-r--r--opendc-experiments/opendc-experiments-compute/src/test/kotlin/org/opendc/experiments/compute/export/parquet/ServiceDataWriterTest.kt1
4 files changed, 13 insertions, 1 deletions
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
@@ -44,6 +44,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.
*/
public val serversPending: Int
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