Skip to content

Commit 71447cb

Browse files
committed
feat: no need to use a ProcessWrapper to init the metadata
1 parent 708cef5 commit 71447cb

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

backend/src/main/java/net/laprun/sustainability/power/sensors/macos/powermetrics/NuProcessWrapper.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,20 @@
66
import com.zaxxer.nuprocess.NuProcess;
77
import com.zaxxer.nuprocess.NuProcessBuilder;
88

9+
import net.laprun.sustainability.power.nuprocess.BaseProcessHandler;
10+
911
public class NuProcessWrapper implements ProcessWrapper {
1012
private PowermetricsProcessHandler measureHandler;
1113
private String periodInMilliSecondsAsString;
1214

1315
@SuppressWarnings("UnusedReturnValue")
14-
private NuProcess exec(PowermetricsProcessHandler handler) {
16+
public static NuProcess exec(BaseProcessHandler handler) {
1517
if (handler == null)
1618
throw new IllegalArgumentException("Handler cannot be null");
1719
return new NuProcessBuilder(handler, handler.command()).start();
1820
}
1921

20-
@Override
21-
public InputStream streamForMetadata() {
22+
public static InputStream metadataInputStream() {
2223
final var metadataHandler = new PowermetricsProcessHandler(6500, "cpu_power", "-i", "10", "-n", "1");
2324
exec(metadataHandler);
2425
try {

backend/src/main/java/net/laprun/sustainability/power/sensors/macos/powermetrics/ProcessMacOSPowermetricsSensor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class ProcessMacOSPowermetricsSensor extends MacOSPowermetricsSensor {
1010
public ProcessMacOSPowermetricsSensor() {
1111
// extract metadata
1212
try {
13-
initMetadata(processWrapper.streamForMetadata());
13+
initMetadata(NuProcessWrapper.metadataInputStream());
1414
} catch (Exception e) {
1515
throw new RuntimeException("Couldn't extract sensor metadata", e);
1616
}

backend/src/main/java/net/laprun/sustainability/power/sensors/macos/powermetrics/ProcessWrapper.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.InputStream;
44

55
public interface ProcessWrapper {
6-
InputStream streamForMetadata();
76

87
void start(long periodInMilliSeconds);
98

@@ -24,4 +23,8 @@ static String[] preparePowermetricsCommand(String[] command) {
2423
System.arraycopy(command, 0, args, additionalArgsCardinality, command.length);
2524
return args;
2625
}
26+
27+
static String[] preparePowermetricsCommandVarArgs(String... command) {
28+
return preparePowermetricsCommand(command);
29+
}
2730
}

0 commit comments

Comments
 (0)