Skip to content

Commit 0f8f731

Browse files
committed
feat(env): Migrate profiling to environment component
1 parent a3c39e6 commit 0f8f731

File tree

6 files changed

+16
-10
lines changed

6 files changed

+16
-10
lines changed

dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/Arch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datadog.profiling.ddprof;
22

3+
import datadog.environment.SystemProperties;
34
import java.util.Arrays;
45
import java.util.EnumSet;
56
import java.util.HashSet;
@@ -29,6 +30,6 @@ public static Arch of(String identifier) {
2930
}
3031

3132
public static Arch current() {
32-
return Arch.of(System.getProperty("os.arch"));
33+
return Arch.of(SystemProperties.get("os.arch"));
3334
}
3435
}

dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/OperatingSystem.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datadog.profiling.ddprof;
22

3+
import datadog.environment.SystemProperties;
34
import java.util.Arrays;
45
import java.util.EnumSet;
56
import java.util.HashSet;
@@ -27,6 +28,6 @@ public static OperatingSystem of(String identifier) {
2728
}
2829

2930
public static OperatingSystem current() {
30-
return OperatingSystem.of(System.getProperty("os.name"));
31+
return OperatingSystem.of(SystemProperties.get("os.name"));
3132
}
3233
}

dd-java-agent/agent-profiling/profiling-uploader/src/main/java/com/datadog/profiling/uploader/util/JfrCliHelper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static datadog.trace.util.AgentThreadFactory.AgentThread.PROFILER_HTTP_DISPATCHER;
44

55
import datadog.environment.JavaVirtualMachine;
6+
import datadog.environment.SystemProperties;
67
import datadog.trace.api.profiling.RecordingData;
78
import datadog.trace.relocate.api.IOLogger;
89
import datadog.trace.util.AgentThreadFactory;
@@ -44,7 +45,7 @@ public class JfrCliHelper {
4445
public static void invokeOn(final RecordingData data, final IOLogger ioLogger) {
4546
File tmp = null;
4647
try {
47-
Path jfr = Paths.get(System.getProperty("java.home"), "bin", "jfr");
48+
Path jfr = Paths.get(SystemProperties.get("java.home"), "bin", "jfr");
4849
if (JavaVirtualMachine.isJ9() || !Files.exists(jfr)) {
4950
ioLogger.error("Failed to gather information on recording, can't find `jfr`");
5051
return;

dd-java-agent/agent-profiling/profiling-uploader/src/test/java/com/datadog/profiling/uploader/util/JfrCliHelperTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static org.mockito.Mockito.withSettings;
1111

1212
import datadog.environment.JavaVirtualMachine;
13+
import datadog.environment.SystemProperties;
1314
import datadog.trace.api.profiling.RecordingData;
1415
import datadog.trace.api.profiling.RecordingInputStream;
1516
import datadog.trace.relocate.api.IOLogger;
@@ -75,7 +76,7 @@ public void testInvokeOn() throws Exception {
7576
}
7677

7778
private boolean hasJfr() {
78-
return Files.exists(Paths.get(System.getProperty("java.home"), "bin", "jfr"));
79+
return Files.exists(Paths.get(SystemProperties.get("java.home"), "bin", "jfr"));
7980
}
8081

8182
private RecordingData mockRecordingData() throws IOException {

dd-java-agent/agent-profiling/src/main/java/com/datadog/profiling/agent/CompositeController.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.datadog.profiling.ddprof.Arch;
1515
import com.datadog.profiling.ddprof.OperatingSystem;
1616
import datadog.environment.JavaVirtualMachine;
17+
import datadog.environment.SystemProperties;
1718
import datadog.trace.api.Config;
1819
import datadog.trace.api.Platform;
1920
import datadog.trace.api.config.ProfilingConfig;
@@ -230,9 +231,9 @@ private static String getFixProposalMessage(boolean datadogProfilerEnabled, bool
230231
if (!datadogProfilerEnabled && !jfrEnabled) {
231232
return "Profiling is disabled by configuration. Please, make sure that your configuration is correct.";
232233
}
233-
final String javaVendor = System.getProperty("java.vendor");
234-
final String javaVersion = System.getProperty("java.version");
235-
final String javaRuntimeName = System.getProperty("java.runtime.name");
234+
final String javaVendor = SystemProperties.getOrDefault("java.vendor", "unknown");
235+
final String javaVersion = SystemProperties.getOrDefault("java.version", "unknown");
236+
final String javaRuntimeName = SystemProperties.getOrDefault("java.runtime.name", "unknown");
236237
final String message =
237238
"Not enabling profiling for vendor="
238239
+ javaVendor

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/profiler/EnvironmentChecker.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datadog.environment.JavaVirtualMachine;
44
import datadog.environment.OperatingSystem;
5+
import datadog.environment.SystemProperties;
56
import de.thetaphi.forbiddenapis.SuppressForbidden;
67
import java.io.File;
78
import java.io.IOException;
@@ -28,9 +29,9 @@ public static boolean checkEnvironment(String temp) {
2829
"Using Java version: "
2930
+ JavaVirtualMachine.getRuntimeVersion()
3031
+ " ("
31-
+ System.getProperty("java.home")
32+
+ SystemProperties.getOrDefault("java.home", "unknown")
3233
+ ")");
33-
System.out.println("Running as user: " + System.getProperty("user.name"));
34+
System.out.println("Running as user: " + SystemProperties.getOrDefault("user.name", "unknown"));
3435
boolean result = false;
3536
result |= checkJFR();
3637
result |= checkDdprof();
@@ -46,7 +47,7 @@ public static boolean checkEnvironment(String temp) {
4647
"Profiler will not work properly due to issues with temp directory location.");
4748
return false;
4849
} else {
49-
if (!temp.equals(System.getProperty("java.io.tmpdir"))) {
50+
if (!temp.equals(SystemProperties.get("java.io.tmpdir"))) {
5051
System.out.println(
5152
"! Make sure to add '-Ddd.profiling.tempdir=" + temp + "' to your JVM command line !");
5253
}

0 commit comments

Comments
 (0)