summaryrefslogtreecommitdiff
path: root/opendc-compute
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-02-14 11:52:32 +0100
committerGitHub <noreply@github.com>2024-02-14 11:52:32 +0100
commit10c47102d6133b86e4c39df96fd25a91010a9864 (patch)
treee422986118d2475add6677bc1e7bd8ed1913ceb9 /opendc-compute
parent616017ba78a0882fe38b9b171b2b0f68e593cd8d (diff)
Updated metrics and parquet output (#195)
* Updated metrics and parquet output * fixed typos
Diffstat (limited to 'opendc-compute')
-rw-r--r--opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt2
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt24
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt6
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt27
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt8
6 files changed, 39 insertions, 32 deletions
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java b/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
index c0928f1b..d9dba274 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
+++ b/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
@@ -31,7 +31,7 @@ import java.time.Instant;
* @param uptime The cumulative uptime of the host since last boot (in ms).
* @param downtime The cumulative downtime of the host since last boot (in ms).
* @param bootTime The time at which the server started.
- * @param powerUsage Instantaneous power usage of the system (in W).
+ * @param powerDraw Instantaneous power draw of the system (in W).
* @param energyUsage The cumulative energy usage of the system (in J).
* @param guestsTerminated The number of guests that are in a terminated state.
* @param guestsRunning The number of guests that are in a running state.
@@ -42,7 +42,7 @@ public record HostSystemStats(
Duration uptime,
Duration downtime,
Instant bootTime,
- double powerUsage,
+ double powerDraw,
double energyUsage,
int guestsTerminated,
int guestsRunning,
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 ec71f095..461a33f0 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
@@ -229,7 +229,7 @@ public class SimHost(
Duration.ofMillis(_uptime),
Duration.ofMillis(_downtime),
_bootTime,
- machine.psu.powerUsage,
+ machine.psu.powerDraw,
machine.psu.energyUsage,
terminated,
running,
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
index 3a1fed1f..db875449 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
@@ -227,8 +227,8 @@ public class ComputeMetricReader(
_cpuIdleTime = table.cpuIdleTime
_cpuStealTime = table.cpuStealTime
_cpuLostTime = table.cpuLostTime
- _powerUsage = table.powerUsage
- _powerTotal = table.powerTotal
+ _powerDraw = table.powerDraw
+ _energyUsage = table.energyUsage
_uptime = table.uptime
_downtime = table.downtime
_bootTime = table.bootTime
@@ -294,13 +294,13 @@ public class ComputeMetricReader(
private var _cpuLostTime = 0L
private var previousCpuLostTime = 0L
- override val powerUsage: Double
- get() = _powerUsage
- private var _powerUsage = 0.0
+ override val powerDraw: Double
+ get() = _powerDraw
+ private var _powerDraw = 0.0
- override val powerTotal: Double
- get() = _powerTotal - previousPowerTotal
- private var _powerTotal = 0.0
+ override val energyUsage: Double
+ get() = _energyUsage - previousPowerTotal
+ private var _energyUsage = 0.0
private var previousPowerTotal = 0.0
override val uptime: Long
@@ -337,8 +337,8 @@ public class ComputeMetricReader(
_cpuIdleTime = hostCpuStats.idleTime
_cpuStealTime = hostCpuStats.stealTime
_cpuLostTime = hostCpuStats.lostTime
- _powerUsage = hostSysStats.powerUsage
- _powerTotal = hostSysStats.energyUsage
+ _powerDraw = hostSysStats.powerDraw
+ _energyUsage = hostSysStats.energyUsage
_uptime = hostSysStats.uptime.toMillis()
_downtime = hostSysStats.downtime.toMillis()
_bootTime = hostSysStats.bootTime
@@ -353,7 +353,7 @@ public class ComputeMetricReader(
previousCpuIdleTime = _cpuIdleTime
previousCpuStealTime = _cpuStealTime
previousCpuLostTime = _cpuLostTime
- previousPowerTotal = _powerTotal
+ previousPowerTotal = _energyUsage
previousUptime = _uptime
previousDowntime = _downtime
@@ -367,7 +367,7 @@ public class ComputeMetricReader(
_cpuDemand = 0.0
_cpuUtilization = 0.0
- _powerUsage = 0.0
+ _powerDraw = 0.0
}
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
index 2a4f27d4..f60fbe6d 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
@@ -33,17 +33,17 @@ import java.io.File
*/
public class ParquetComputeMonitor(base: File, partition: String, bufferSize: Int) : ComputeMonitor, AutoCloseable {
private val serverWriter = ParquetServerDataWriter(
- File(base, "server/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/server.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
private val hostWriter = ParquetHostDataWriter(
- File(base, "host/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/host.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
private val serviceWriter = ParquetServiceDataWriter(
- File(base, "service/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/service.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
index 4cf9c6f1..8871570d 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
@@ -134,23 +134,27 @@ public class ParquetHostDataWriter(path: File, bufferSize: Int) :
consumer.addLong(data.cpuLostTime)
consumer.endField("cpu_time_lost", 15)
- consumer.startField("power_total", 16)
- consumer.addDouble(data.powerTotal)
- consumer.endField("power_total", 16)
+ consumer.startField("power_draw", 16)
+ consumer.addDouble(data.powerDraw)
+ consumer.endField("power_draw", 16)
- consumer.startField("uptime", 17)
+ consumer.startField("energy_usage", 17)
+ consumer.addDouble(data.energyUsage)
+ consumer.endField("energy_usage", 17)
+
+ consumer.startField("uptime", 18)
consumer.addLong(data.uptime)
- consumer.endField("uptime", 17)
+ consumer.endField("uptime", 18)
- consumer.startField("downtime", 18)
+ consumer.startField("downtime", 19)
consumer.addLong(data.downtime)
- consumer.endField("downtime", 18)
+ consumer.endField("downtime", 19)
val bootTime = data.bootTime
if (bootTime != null) {
- consumer.startField("boot_time", 19)
+ consumer.startField("boot_time", 20)
consumer.addLong(bootTime.toEpochMilli())
- consumer.endField("boot_time", 19)
+ consumer.endField("boot_time", 20)
}
consumer.endMessage()
@@ -216,7 +220,10 @@ public class ParquetHostDataWriter(path: File, bufferSize: Int) :
.named("cpu_time_lost"),
Types
.required(PrimitiveType.PrimitiveTypeName.DOUBLE)
- .named("power_total"),
+ .named("power_draw"),
+ Types
+ .required(PrimitiveType.PrimitiveTypeName.DOUBLE)
+ .named("energy_usage"),
Types
.required(PrimitiveType.PrimitiveTypeName.INT64)
.named("uptime"),
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
index 3761b4b3..63ddcfe1 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
@@ -104,14 +104,14 @@ public interface HostTableReader {
public val cpuLostTime: Long
/**
- * The current power usage of the host in W.
+ * The current power draw of the host in W.
*/
- public val powerUsage: Double
+ public val powerDraw: Double
/**
- * The total power consumption of the host since last time in J.
+ * The total energy consumption of the host since last time in J.
*/
- public val powerTotal: Double
+ public val energyUsage: Double
/**
* The uptime of the host since last time in ms.