Skip to content

Commit 866d12c

Browse files
committed
feat(env): Migrate crash tracking to environment component
1 parent b4a1901 commit 866d12c

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploader.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import datadog.common.version.VersionInfo;
1313
import datadog.communication.http.OkHttpUtils;
1414
import datadog.crashtracking.dto.CrashLog;
15+
import datadog.environment.SystemProperties;
1516
import datadog.trace.api.Config;
1617
import datadog.trace.api.DDTags;
1718
import datadog.trace.bootstrap.config.provider.ConfigProvider;
@@ -302,7 +303,9 @@ private RequestBody makeTelemetryRequestBody(@Nonnull String content) throws IOE
302303
writer.beginObject();
303304
writer.name("env").value(config.getEnv());
304305
writer.name("language_name").value("jvm");
305-
writer.name("language_version").value(System.getProperty("java.version", "unknown"));
306+
writer
307+
.name("language_version")
308+
.value(SystemProperties.getOrDefault("java.version", "unknown"));
306309
writer.name("service_name").value(config.getServiceName());
307310
writer.name("service_version").value(config.getVersion());
308311
writer.name("tracer_version").value(VersionInfo.VERSION);

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploaderScriptInitializer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import static java.nio.file.attribute.PosixFilePermissions.fromString;
1212
import static java.util.Locale.ROOT;
1313

14+
import datadog.environment.SystemProperties;
1415
import datadog.trace.util.PidHelper;
1516
import datadog.trace.util.Strings;
1617
import java.io.BufferedReader;
@@ -36,7 +37,7 @@ static void initialize(String onErrorVal, String onErrorFile) {
3637
return;
3738
}
3839
if (onErrorFile == null || onErrorFile.isEmpty()) {
39-
onErrorFile = System.getProperty("user.dir") + "/hs_err_pid" + PidHelper.getPid() + ".log";
40+
onErrorFile = SystemProperties.get("user.dir") + "/hs_err_pid" + PidHelper.getPid() + ".log";
4041
LOG.debug("No -XX:ErrorFile value, defaulting to {}", onErrorFile);
4142
} else {
4243
onErrorFile = Strings.replace(onErrorFile, "%p", PidHelper.getPid());
@@ -120,7 +121,7 @@ private static void writeCrashUploaderScript(
120121

121122
private static String template(String line, String execClass, String crashFile) {
122123
line = Strings.replace(line, "!AGENT_JAR!", execClass);
123-
line = Strings.replace(line, "!JAVA_HOME!", System.getProperty("java.home"));
124+
line = Strings.replace(line, "!JAVA_HOME!", SystemProperties.get("java.home"));
124125
if (crashFile != null) {
125126
line = Strings.replace(line, "!JAVA_ERROR_FILE!", crashFile);
126127
}

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/Initializer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.datadoghq.profiler.JVMAccess;
99
import com.sun.management.HotSpotDiagnosticMXBean;
1010
import datadog.environment.OperatingSystem;
11+
import datadog.environment.SystemProperties;
1112
import datadog.libs.ddprof.DdprofLibraryLoader;
1213
import datadog.trace.util.PidHelper;
1314
import datadog.trace.util.TempLocationManager;
@@ -162,7 +163,7 @@ static void writeConfig(Path scriptPath, String... entries) {
162163
bw.write(entries[i + 1]);
163164
bw.newLine();
164165
}
165-
bw.write("java_home=" + System.getProperty("java.home"));
166+
bw.write("java_home=" + SystemProperties.get("java.home"));
166167
bw.newLine();
167168

168169
Runtime.getRuntime()

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/parsers/HotspotCrashLogParser.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import datadog.crashtracking.dto.SemanticVersion;
1212
import datadog.crashtracking.dto.StackFrame;
1313
import datadog.crashtracking.dto.StackTrace;
14+
import datadog.environment.SystemProperties;
1415
import java.time.OffsetDateTime;
1516
import java.time.ZonedDateTime;
1617
import java.time.format.DateTimeFormatter;
@@ -214,10 +215,10 @@ public CrashLog parse(String crashLog) {
214215
Metadata metadata = new Metadata("dd-trace-java", VersionInfo.VERSION, "java", null);
215216
OSInfo osInfo =
216217
new OSInfo(
217-
System.getProperty("os.arch"),
218-
System.getProperty("sun.arch.data.model"),
219-
System.getProperty("os.name"),
220-
SemanticVersion.of(System.getProperty("os.version")));
218+
SystemProperties.get("os.arch"),
219+
SystemProperties.get("sun.arch.data.model"),
220+
SystemProperties.get("os.name"),
221+
SemanticVersion.of(SystemProperties.get("os.version")));
221222
ProcInfo procInfo = pid != null ? new ProcInfo(pid) : null;
222223
return new CrashLog(false, datetime, error, metadata, osInfo, procInfo);
223224
}

dd-java-agent/agent-crashtracking/src/test/java/datadog/crashtracking/CrashUploaderTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.fasterxml.jackson.databind.ObjectMapper;
99
import datadog.common.version.VersionInfo;
1010
import datadog.crashtracking.dto.CrashLog;
11+
import datadog.environment.SystemProperties;
1112
import datadog.trace.api.Config;
1213
import datadog.trace.bootstrap.config.provider.ConfigProvider;
1314
import java.io.BufferedReader;
@@ -184,7 +185,7 @@ public void testTelemetryHappyPath(String log) throws Exception {
184185
assertEquals(ENV, event.get("application").get("env").asText());
185186
assertEquals("jvm", event.get("application").get("language_name").asText());
186187
assertEquals(
187-
System.getProperty("java.version", "unknown"),
188+
SystemProperties.getOrDefault("java.version", "unknown"),
188189
event.get("application").get("language_version").asText());
189190
assertEquals(SERVICE, event.get("application").get("service_name").asText());
190191
assertEquals(VERSION, event.get("application").get("service_version").asText());

0 commit comments

Comments
 (0)