Skip to content

Commit 3e050e0

Browse files
committed
minimize changes needed to test code origin on instrumentations
1 parent c8886fb commit 3e050e0

File tree

11 files changed

+105
-462
lines changed

11 files changed

+105
-462
lines changed

dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DefaultCodeOriginRecorder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.datadog.debugger.codeorigin;
22

33
import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.CODE_ORIGIN;
4-
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME;
5-
import static java.lang.String.format;
4+
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME0;
65

76
import com.datadog.debugger.agent.ConfigurationUpdater;
87
import com.datadog.debugger.exception.Fingerprinter;
@@ -172,7 +171,7 @@ public CodeOriginSnapshotConsumer(boolean entrySpanProbe) {
172171
@Override
173172
public void accept(Snapshot snapshot) {
174173
AgentSpan span = AgentTracer.get().activeSpan();
175-
String snapshotId = format(DD_CODE_ORIGIN_FRAME, 0, "snapshot_id");
174+
String snapshotId = DD_CODE_ORIGIN_FRAME0 + "snapshot_id";
176175
span.setTag(snapshotId, snapshot.getId());
177176
if (entrySpanProbe) {
178177
span.getLocalRootSpan().setTag(snapshotId, snapshot.getId());

dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/CodeOriginProbe.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.datadog.debugger.probe;
22

3-
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME;
3+
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME0;
44
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_TYPE;
5-
import static java.lang.String.format;
65
import static java.util.Arrays.asList;
76
import static java.util.Collections.singletonList;
87

@@ -66,11 +65,11 @@ public void commit(
6665
for (AgentSpan s : agentSpans) {
6766
if (s.getTag(DD_CODE_ORIGIN_TYPE) == null) {
6867
s.setTag(DD_CODE_ORIGIN_TYPE, entrySpanProbe ? "entry" : "exit");
69-
s.setTag(format(DD_CODE_ORIGIN_FRAME, 0, "file"), location.getFile());
70-
s.setTag(format(DD_CODE_ORIGIN_FRAME, 0, "method"), location.getMethod());
71-
s.setTag(format(DD_CODE_ORIGIN_FRAME, 0, "line"), location.getLines().get(0));
72-
s.setTag(format(DD_CODE_ORIGIN_FRAME, 0, "type"), location.getType());
73-
s.setTag(format(DD_CODE_ORIGIN_FRAME, 0, "signature"), signature);
68+
s.setTag(DD_CODE_ORIGIN_FRAME0 + "file", location.getFile());
69+
s.setTag(DD_CODE_ORIGIN_FRAME0 + "method", location.getMethod());
70+
s.setTag(DD_CODE_ORIGIN_FRAME0 + "line", location.getLines().get(0));
71+
s.setTag(DD_CODE_ORIGIN_FRAME0 + "type", location.getType());
72+
s.setTag(DD_CODE_ORIGIN_FRAME0 + "signature", signature);
7473
}
7574
}
7675
}

dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginTest.java

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.datadog.debugger.origin;
22

33
import static com.datadog.debugger.util.TestHelper.setFieldInConfig;
4-
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME;
4+
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_FRAME0;
55
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_PREFIX;
66
import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_TYPE;
77
import static datadog.trace.util.AgentThreadFactory.AgentThread.TASK_SCHEDULER;
@@ -140,7 +140,7 @@ public void doubleEntry() throws IOException, URISyntaxException {
140140
List<? extends MutableSpan> trace = traceInterceptor.getTrace();
141141
MutableSpan span = trace.get(0);
142142
// this should be entry but until we get the ordering resolved, it's this.
143-
assertEquals("entry", span.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "method")));
143+
assertEquals("entry", span.getTag(DD_CODE_ORIGIN_FRAME0 + "method"));
144144
}
145145

146146
@Test
@@ -269,17 +269,17 @@ public void execute(Runnable target) {
269269
}
270270

271271
private static void checkEntrySpanTags(DDSpan span, boolean includeSnapshot) {
272-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "file"));
273-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "line"));
274-
assertNotEquals(-1, span.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "line")));
275-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "method"));
276-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "signature"));
277-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "type"));
272+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "file");
273+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "line");
274+
assertNotEquals(-1, span.getTag(DD_CODE_ORIGIN_FRAME0 + "line"));
275+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "method");
276+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "signature");
277+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "type");
278278

279279
if (includeSnapshot) {
280-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "snapshot_id"));
280+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "snapshot_id");
281281
} else {
282-
assertKeyNotPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "snapshot_id"));
282+
assertKeyNotPresent(span, DD_CODE_ORIGIN_FRAME0 + "snapshot_id");
283283
}
284284
}
285285

@@ -302,23 +302,23 @@ private static void checkExitSpanTags(DDSpan span, boolean includeSnapshot) {
302302
format("Existing keys for %s: %s", span.getOperationName(), new TreeSet<>(ldKeys(span)));
303303

304304
assertKeyPresent(span, DD_CODE_ORIGIN_TYPE);
305-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "file"));
306-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "line"));
307-
assertNotEquals(-1, span.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "line")));
308-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "method"));
309-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "type"));
305+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "file");
306+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "line");
307+
assertNotEquals(-1, span.getTag(DD_CODE_ORIGIN_FRAME0 + "line"));
308+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "method");
309+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "type");
310310
if (includeSnapshot) {
311-
assertKeyPresent(span, format(DD_CODE_ORIGIN_FRAME, 0, "snapshot_id"));
311+
assertKeyPresent(span, DD_CODE_ORIGIN_FRAME0 + "snapshot_id");
312312
}
313313

314314
MutableSpan rootSpan = span.getLocalRootSpan();
315315
assertEquals(rootSpan.getTag(DD_CODE_ORIGIN_TYPE), "entry", keys);
316-
Object file = rootSpan.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "file"));
316+
Object file = rootSpan.getTag(DD_CODE_ORIGIN_FRAME0 + "file");
317317
assertNotNull(file, rootSpan.getTags().toString());
318-
assertNotNull(rootSpan.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "line")));
319-
assertNotEquals(-1, rootSpan.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "line")));
320-
assertNotNull(rootSpan.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "method")));
321-
assertNotNull(rootSpan.getTag(format(DD_CODE_ORIGIN_FRAME, 0, "type")));
318+
assertNotNull(rootSpan.getTag(DD_CODE_ORIGIN_FRAME0 + "line"));
319+
assertNotEquals(-1, rootSpan.getTag(DD_CODE_ORIGIN_FRAME0 + "line"));
320+
assertNotNull(rootSpan.getTag(DD_CODE_ORIGIN_FRAME0 + "method"));
321+
assertNotNull(rootSpan.getTag(DD_CODE_ORIGIN_FRAME0 + "type"));
322322
}
323323

324324
private static Set<String> ldKeys(MutableSpan span) {

dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcCodeOriginTest.groovy

Lines changed: 0 additions & 199 deletions
This file was deleted.

dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import static datadog.trace.agent.test.asserts.TagsAssert.codeOriginTags
12
import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_SERVER_ERROR_STATUSES
23

34
import com.google.common.util.concurrent.MoreExecutors
@@ -150,10 +151,12 @@ abstract class GrpcTest extends VersionedNamingTestBase {
150151

151152
then:
152153
response.message == "Hello $name"
154+
codeOriginTags(TEST_WRITER.firstTrace())
153155
assertTraces(2) {
154156
trace(hasClientMessageSpans() ? 3 : 2) {
155157
basicSpan(it, "parent")
156158
span {
159+
println("********************** span = " + span.dump())
157160
operationName clientOperation()
158161
resourceName "example.Greeter/SayHello"
159162
spanType DDSpanTypes.RPC
@@ -680,6 +683,12 @@ class GrpcDataStreamsEnabledV0Test extends GrpcDataStreamsEnabledForkedTest {
680683

681684
class GrpcDataStreamsEnabledV1ForkedTest extends GrpcDataStreamsEnabledForkedTest {
682685

686+
@Override
687+
protected void configurePreAgent() {
688+
super.configurePreAgent()
689+
codeOriginSetup()
690+
}
691+
683692
@Override
684693
int version() {
685694
return 1

dd-java-agent/instrumentation/kafka-clients-3.8/src/test/groovy/KafkaClientTestBase.groovy

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import org.testcontainers.utility.DockerImageName
3232
import java.util.concurrent.ExecutionException
3333
import java.util.concurrent.Future
3434

35+
import static datadog.trace.agent.test.asserts.TagsAssert.codeOriginTags
3536
import static datadog.trace.agent.test.utils.TraceUtils.basicSpan
3637

3738
import java.util.concurrent.LinkedBlockingQueue
@@ -228,6 +229,7 @@ abstract class KafkaClientTestBase extends VersionedNamingTestBase {
228229
TEST_WRITER.waitForTraces(nTraces)
229230
def traces = (Arrays.asList(TEST_WRITER.toArray()) as List<List<DDSpan>>)
230231
Collections.sort(traces, new SortKafkaTraces())
232+
codeOriginTags(traces[0])
231233
assertTraces(nTraces, new SortKafkaTraces()) {
232234
if (hasQueueSpan()) {
233235
trace(2) {
@@ -1075,6 +1077,12 @@ class KafkaClientV0ForkedTest extends KafkaClientForkedTest {
10751077
}
10761078
10771079
class KafkaClientV1ForkedTest extends KafkaClientForkedTest {
1080+
@Override
1081+
void configurePreAgent() {
1082+
super.configurePreAgent()
1083+
codeOriginSetup()
1084+
}
1085+
10781086
@Override
10791087
int version() {
10801088
1

0 commit comments

Comments
 (0)