Skip to content

Commit 26c4c23

Browse files
Fixed issue with double class loading.
1 parent c708338 commit 26c4c23

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,8 @@ public void addPoint(String name, List<String> tags) {
239239
}
240240
}
241241

242-
public byte[] json() {
242+
@Override
243+
public String toString() {
243244
try (JsonWriter writer = new JsonWriter()) {
244245
writer.beginObject();
245246
writer.name("metadata").beginObject();
@@ -273,13 +274,13 @@ public byte[] json() {
273274
writer.endArray();
274275
writer.endObject();
275276

276-
return writer.toByteArray();
277+
return writer.toString();
277278
}
278279
}
279280
}
280281

281282
public interface JsonSender {
282-
void send(Telemetry telemetry);
283+
void send(Object telemetry);
283284
}
284285

285286
public static final class ForwarderJsonSender implements JsonSender {
@@ -290,7 +291,7 @@ public static final class ForwarderJsonSender implements JsonSender {
290291
}
291292

292293
@Override
293-
public void send(Telemetry telemetry) {
294+
public void send(Object telemetry) {
294295
ForwarderJsonSenderThread t = new ForwarderJsonSenderThread(forwarderPath, telemetry);
295296
t.setDaemon(true);
296297
t.start();
@@ -299,9 +300,9 @@ public void send(Telemetry telemetry) {
299300

300301
public static final class ForwarderJsonSenderThread extends Thread {
301302
private final String forwarderPath;
302-
private final Telemetry telemetry;
303+
private final Object telemetry;
303304

304-
public ForwarderJsonSenderThread(String forwarderPath, Telemetry telemetry) {
305+
public ForwarderJsonSenderThread(String forwarderPath, Object telemetry) {
305306
super("dd-forwarder-json-sender");
306307
this.forwarderPath = forwarderPath;
307308
this.telemetry = telemetry;
@@ -314,7 +315,7 @@ public void run() {
314315

315316
// Run forwarder and mute tracing for subprocesses executed in by dd-java-agent.
316317
try (final Closeable ignored = muteTracing()) {
317-
byte[] payload = telemetry.json();
318+
byte[] payload = telemetry.toString().getBytes();
318319

319320
Process process = builder.start();
320321
try (OutputStream out = process.getOutputStream()) {

dd-java-agent/src/test/groovy/datadog/trace/bootstrap/BootstrapInitializationTelemetryTest.groovy

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package datadog.trace.bootstrap
22

3-
import datadog.trace.bootstrap.BootstrapInitializationTelemetry.Telemetry
43
import groovy.json.JsonBuilder
54
import spock.lang.Specification
65

7-
import static java.nio.charset.StandardCharsets.UTF_8
8-
96
class BootstrapInitializationTelemetryTest extends Specification {
107
Capture capture
118
def initTelemetry
@@ -107,14 +104,14 @@ class BootstrapInitializationTelemetryTest extends Specification {
107104
}
108105

109106
static class Capture implements BootstrapInitializationTelemetry.JsonSender {
110-
Telemetry telemetry
107+
Object telemetry
111108

112-
void send(Telemetry telemetry) {
109+
void send(Object telemetry) {
113110
this.telemetry = telemetry
114111
}
115112

116113
String json() {
117-
return new String(telemetry.json(), UTF_8)
114+
return telemetry.toString()
118115
}
119116
}
120117
}

0 commit comments

Comments
 (0)