Skip to content

Commit 89a5674

Browse files
authored
Merge branch 'master' into sarahchen6/upgrade-bytebuddy
2 parents f5d7fe0 + 5adec51 commit 89a5674

File tree

7 files changed

+38
-15
lines changed

7 files changed

+38
-15
lines changed

dd-java-agent/instrumentation/jdbc/scalikejdbc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies {
3434
testImplementation libs.scala
3535

3636
latestDepTestImplementation group: 'org.scalikejdbc', name: 'scalikejdbc_2.13', version: '3.+'
37-
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '+'
37+
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.+' // scala-lang 3.x requires scala 3.x compiler
3838

3939
// jdbc unit testing
4040
testImplementation group: 'com.h2database', name: 'h2', version: '1.3.169'

dd-java-agent/instrumentation/scala-concurrent/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ dependencies {
4141

4242
latest11TestImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.11.+'
4343
latest12TestImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.12.+'
44-
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '+'
44+
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.+' // scala-lang 3.x requires scala 3.x compiler
4545
latestDepTestImplementation project(':dd-java-agent:instrumentation:scala-promise:scala-promise-2.13')
4646
}
4747

dd-java-agent/instrumentation/scala-promise/scala-promise-2.13/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,6 @@ dependencies {
7070
testImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.13.0'
7171
testImplementation project(':dd-java-agent:instrumentation:scala-promise')
7272

73-
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '+'
73+
latestDepTestImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.+' // scala-lang 3.x requires scala 3.x compiler
7474
latestDepTestImplementation project(':dd-java-agent:instrumentation:scala-promise')
7575
}

dd-smoke-tests/debugger-integration-tests/src/test/java/datadog/smoketest/ExceptionDebuggerIntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import datadog.trace.bootstrap.debugger.CapturedContext;
1111
import datadog.trace.test.agent.decoder.DecodedSpan;
1212
import datadog.trace.test.agent.decoder.DecodedTrace;
13+
import datadog.trace.test.util.Flaky;
1314
import java.nio.file.Path;
1415
import java.util.ArrayList;
1516
import java.util.HashMap;
@@ -19,6 +20,7 @@
1920
import org.junit.jupiter.api.Test;
2021
import org.junit.jupiter.api.condition.DisabledIf;
2122

23+
@Flaky
2224
public class ExceptionDebuggerIntegrationTest extends ServerAppDebuggerIntegrationTest {
2325

2426
private List<String> snapshotIdTags = new ArrayList<>();

dd-trace-core/src/main/java/datadog/trace/civisibility/writer/ddintake/CiTestCycleMapperV1.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import datadog.communication.serialization.msgpack.MsgPackWriter;
1010
import datadog.trace.api.DDTags;
1111
import datadog.trace.api.DDTraceId;
12+
import datadog.trace.api.TagMap;
1213
import datadog.trace.api.civisibility.CiVisibilityWellKnownTags;
1314
import datadog.trace.api.civisibility.InstrumentationBridge;
1415
import datadog.trace.api.civisibility.telemetry.CiVisibilityDistributionMetric;
@@ -84,16 +85,9 @@ public void map(List<? extends CoreSpan<?>> trace, Writable writable) {
8485

8586
for (final CoreSpan<?> span : trace) {
8687
DDTraceId testSessionId = span.getTag(Tags.TEST_SESSION_ID);
87-
span.removeTag(Tags.TEST_SESSION_ID);
88-
8988
Number testModuleId = span.getTag(Tags.TEST_MODULE_ID);
90-
span.removeTag(Tags.TEST_MODULE_ID);
91-
9289
Number testSuiteId = span.getTag(Tags.TEST_SUITE_ID);
93-
span.removeTag(Tags.TEST_SUITE_ID);
94-
9590
String itrCorrelationId = span.getTag(Tags.ITR_CORRELATION_ID);
96-
span.removeTag(Tags.ITR_CORRELATION_ID);
9791

9892
int topLevelTagsCount = 0;
9993
if (testSessionId != null) {
@@ -323,20 +317,26 @@ MetaWriter withWritable(Writable writable) {
323317

324318
@Override
325319
public void accept(Metadata metadata) {
320+
TagMap tags = metadata.getTags().copy();
321+
322+
for (String ignoredTag : DEFAULT_TOP_LEVEL_TAGS) {
323+
tags.remove(ignoredTag);
324+
}
325+
326326
int metaSize =
327327
metadata.getBaggage().size()
328-
+ metadata.getTags().size()
328+
+ tags.size()
329329
+ (null == metadata.getHttpStatusCode() ? 0 : 1);
330330
int metricsSize = 0;
331-
for (Map.Entry<String, Object> tag : metadata.getTags().entrySet()) {
331+
for (Map.Entry<String, Object> tag : tags.entrySet()) {
332332
if (tag.getValue() instanceof Number) {
333333
++metricsSize;
334334
--metaSize;
335335
}
336336
}
337337
writable.writeUTF8(METRICS);
338338
writable.startMap(metricsSize);
339-
for (Map.Entry<String, Object> entry : metadata.getTags().entrySet()) {
339+
for (Map.Entry<String, Object> entry : tags.entrySet()) {
340340
if (entry.getValue() instanceof Number) {
341341
writable.writeString(entry.getKey(), null);
342342
writable.writeObject(entry.getValue(), null);
@@ -356,7 +356,7 @@ public void accept(Metadata metadata) {
356356
writable.writeUTF8(HTTP_STATUS);
357357
writable.writeUTF8(metadata.getHttpStatusCode());
358358
}
359-
for (Map.Entry<String, Object> entry : metadata.getTags().entrySet()) {
359+
for (Map.Entry<String, Object> entry : tags.entrySet()) {
360360
Object value = entry.getValue();
361361
if (!(value instanceof Number)) {
362362
writable.writeString(entry.getKey(), null);

dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1109,7 +1109,7 @@ public AgentSpan startSpan(
11091109
final CharSequence spanName,
11101110
final AgentSpanContext parent,
11111111
final long startTimeMicros) {
1112-
return buildSpan(instrumentationName, spanName)
1112+
return singleSpanBuilder(instrumentationName, spanName)
11131113
.ignoreActiveSpan()
11141114
.asChildOf(parent)
11151115
.withStartTimestamp(startTimeMicros)

dd-trace-core/src/test/groovy/datadog/trace/civisibility/writer/ddintake/CiTestCycleMapperV1PayloadTest.groovy

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,27 @@ class CiTestCycleMapperV1PayloadTest extends DDSpecification {
149149
assert !spanContent.containsKey("parent_id")
150150
}
151151

152+
def "verify result is not affected by successive mapping calls"(){
153+
setup:
154+
def span = generateRandomSpan(InternalSpanTypes.TEST, [
155+
(Tags.TEST_SESSION_ID): DDTraceId.from(123),
156+
(Tags.TEST_MODULE_ID) : 456,
157+
(Tags.TEST_SUITE_ID) : 789,
158+
])
159+
160+
when:
161+
whenASpanIsWritten(span)
162+
Map<String, Object> deserializedSpan = whenASpanIsWritten(span)
163+
164+
then:
165+
verifyTopLevelTags(deserializedSpan, DDTraceId.from(123), 456, 789)
166+
167+
def spanContent = (Map<String, Object>) deserializedSpan.get("content")
168+
assert spanContent.containsKey("trace_id")
169+
assert spanContent.containsKey("span_id")
170+
assert spanContent.containsKey("parent_id")
171+
}
172+
152173
private static void verifyTopLevelTags(Map<String, Object> deserializedSpan, DDTraceId testSessionId, Long testModuleId, Long testSuiteId) {
153174
Map<String, Object> deserializedSpanContent = (Map<String, Object>) deserializedSpan.get("content")
154175
Map<String, Object> deserializedMetrics = (Map<String, Object>) deserializedSpanContent.get("metrics")

0 commit comments

Comments
 (0)