From ac6daabd13f864cd5f96587e0ddb5a281a57648f Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Wed, 8 May 2024 13:01:28 +0200 Subject: [PATCH] refactor: move missing measure to metadata package so clients can use it --- .../net/laprun/sustainability/power/SensorMeasure.java | 4 ++++ .../laprun/sustainability/power/sensors/MapMeasures.java | 4 ++-- .../net/laprun/sustainability/power/sensors/Measures.java | 7 ++----- .../power/sensors/linux/rapl/SingleMeasureMeasures.java | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/metadata/src/main/java/net/laprun/sustainability/power/SensorMeasure.java b/metadata/src/main/java/net/laprun/sustainability/power/SensorMeasure.java index efdc912..e97352a 100644 --- a/metadata/src/main/java/net/laprun/sustainability/power/SensorMeasure.java +++ b/metadata/src/main/java/net/laprun/sustainability/power/SensorMeasure.java @@ -9,4 +9,8 @@ * @param tick the ordinal tick associated with this measure */ public record SensorMeasure(double[] components, long tick) { + /** + * Represents an invalid or somehow missed measure. + */ + public static final SensorMeasure missing = new SensorMeasure(new double[] { -1.0 }, -1); } diff --git a/server/src/main/java/net/laprun/sustainability/power/sensors/MapMeasures.java b/server/src/main/java/net/laprun/sustainability/power/sensors/MapMeasures.java index 1075557..added16 100644 --- a/server/src/main/java/net/laprun/sustainability/power/sensors/MapMeasures.java +++ b/server/src/main/java/net/laprun/sustainability/power/sensors/MapMeasures.java @@ -12,7 +12,7 @@ public class MapMeasures implements Measures { @Override public RegisteredPID register(long pid) { final var key = new RegisteredPID(pid); - measures.put(key, missing); + measures.put(key, SensorMeasure.missing); return key; } @@ -38,6 +38,6 @@ public void record(RegisteredPID pid, SensorMeasure sensorMeasure) { @Override public SensorMeasure getOrDefault(RegisteredPID pid) { - return measures.getOrDefault(pid, missing); + return measures.getOrDefault(pid, SensorMeasure.missing); } } diff --git a/server/src/main/java/net/laprun/sustainability/power/sensors/Measures.java b/server/src/main/java/net/laprun/sustainability/power/sensors/Measures.java index 17bd85b..7c830bd 100644 --- a/server/src/main/java/net/laprun/sustainability/power/sensors/Measures.java +++ b/server/src/main/java/net/laprun/sustainability/power/sensors/Measures.java @@ -8,10 +8,6 @@ * A representation of ongoing {@link PowerSensor} measures. */ public interface Measures { - /** - * Represents an invalid or somehow missed measure. - */ - SensorMeasure missing = new SensorMeasure(new double[] { -1.0 }, -1); /** * Tracks the provided process identifier (pid) in the measures. For sensors that only provide system-wide measures, this @@ -58,7 +54,8 @@ public interface Measures { * Retrieves the last recorded {@link SensorMeasure} associated with the specified {@link RegisteredPID} * * @param pid the tracked process identifier which measure we want to retrieve - * @return the last recorded {@link SensorMeasure} associated with the specified process or {@link #missing} if it cannot be + * @return the last recorded {@link SensorMeasure} associated with the specified process or {@link SensorMeasure#missing} if + * it cannot be * retrieved for any reason */ SensorMeasure getOrDefault(RegisteredPID pid); diff --git a/server/src/main/java/net/laprun/sustainability/power/sensors/linux/rapl/SingleMeasureMeasures.java b/server/src/main/java/net/laprun/sustainability/power/sensors/linux/rapl/SingleMeasureMeasures.java index 8128b5a..a69c08b 100644 --- a/server/src/main/java/net/laprun/sustainability/power/sensors/linux/rapl/SingleMeasureMeasures.java +++ b/server/src/main/java/net/laprun/sustainability/power/sensors/linux/rapl/SingleMeasureMeasures.java @@ -44,6 +44,6 @@ public void record(RegisteredPID pid, SensorMeasure sensorMeasure) { @Override public SensorMeasure getOrDefault(RegisteredPID pid) { - return trackedPIDs.contains(pid) && measure != null ? measure : Measures.missing; + return trackedPIDs.contains(pid) && measure != null ? measure : SensorMeasure.missing; } }