Skip to content

Commit ecada21

Browse files
committed
Add more tags to ping
1 parent d5e4dcd commit ecada21

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static datadog.trace.api.config.CrashTrackingConfig.CRASH_TRACKING_UPLOAD_TIMEOUT;
88
import static datadog.trace.api.config.CrashTrackingConfig.CRASH_TRACKING_UPLOAD_TIMEOUT_DEFAULT;
99
import static datadog.trace.api.telemetry.LogCollector.SEND_TELEMETRY;
10+
import static datadog.trace.util.TraceUtils.normalizeTag;
1011

1112
import com.squareup.moshi.JsonWriter;
1213
import datadog.common.container.ContainerInfo;
@@ -309,7 +310,7 @@ private RequestBody makeTelemetryRequestBody(@Nonnull String payload, boolean is
309310
if (isPing) {
310311
writer.name("level").value("DEBUG");
311312
writer.name("is_sensitive").value(false);
312-
writer.name("tags").value("is_crash_ping:true");
313+
writer.name("tags").value(tagsForPing(storedConfig.reportUUID));
313314
} else {
314315
writer.name("level").value("ERROR");
315316
writer.name("tags").value("severity:crash");
@@ -347,6 +348,19 @@ private RequestBody makeTelemetryRequestBody(@Nonnull String payload, boolean is
347348
}
348349
}
349350

351+
private String tagsForPing(String uuid) {
352+
final StringBuilder tags = new StringBuilder("is_crash_ping:true");
353+
tags.append(",").append("language_name:jvm");
354+
tags.append(",").append(normalizeTag("service:" + storedConfig.service));
355+
tags.append(",")
356+
.append(
357+
normalizeTag(
358+
"language_version:" + SystemProperties.getOrDefault("java.version", "unknown")));
359+
tags.append(",").append(normalizeTag("tracer_version:" + VersionInfo.VERSION));
360+
tags.append(",").append("uuid:").append(uuid);
361+
return (tags.toString());
362+
}
363+
350364
private void handleCall(final Call call, String kind) {
351365
try (Response response = call.execute()) {
352366
handleSuccess(call, response, kind);

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import datadog.environment.SystemProperties;
1212
import datadog.trace.api.Config;
1313
import datadog.trace.bootstrap.config.provider.ConfigProvider;
14+
import datadog.trace.util.TraceUtils;
1415
import java.io.BufferedReader;
1516
import java.io.ByteArrayOutputStream;
1617
import java.io.IOException;
@@ -163,8 +164,13 @@ public void testCrashPing() throws Exception {
163164
assertEquals("DEBUG", event.get("payload").get(0).get("level").asText());
164165

165166
assertFalse(event.get("payload").get(0).get("is_sensitive").asBoolean());
166-
assertTrue(event.get("payload").get(0).get("tags").asText().contains("is_crash_ping:true"));
167-
167+
String tags = event.get("payload").get(0).get("tags").asText();
168+
assertNotNull(tags);
169+
assertTrue(tags.contains("is_crash_ping:true"));
170+
assertTrue(tags.contains(TraceUtils.normalizeTag("service:" + crashConfig.service)));
171+
assertTrue(tags.contains("uuid:" + crashConfig.reportUUID));
172+
assertTrue(tags.contains(TraceUtils.normalizeTag("tracer_version:" + VersionInfo.VERSION)));
173+
assertTrue(tags.contains("language_name:jvm"));
168174
assertEquals(expected, event.get("payload").get(0).get("message").asText());
169175
assertCommonPayload(event);
170176
}

0 commit comments

Comments
 (0)