Skip to content

Commit 7c17def

Browse files
move is_user_provided_service tag to payload header
1 parent cb8f3a1 commit 7c17def

File tree

15 files changed

+128
-168
lines changed

15 files changed

+128
-168
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/AbstractTestModule.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.api.civisibility.CIConstants.CI_VISIBILITY_INSTRUMENTATION_NAME;
44

55
import datadog.trace.api.Config;
6-
import datadog.trace.api.DDTags;
76
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
87
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
98
import datadog.trace.api.civisibility.telemetry.tag.EventType;
@@ -73,8 +72,6 @@ public AbstractTestModule(
7372
span.setTag(Tags.TEST_MODULE_ID, span.getSpanId());
7473
span.setTag(Tags.TEST_SESSION_ID, span.getTraceId());
7574

76-
span.setTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE, config.isServiceNameSetByUser());
77-
7875
// setting status to skip initially,
7976
// as we do not know in advance whether the module will have any children
8077
span.setTag(Tags.TEST_STATUS, TestStatus.skip);

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/AbstractTestSession.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import static datadog.trace.api.civisibility.CIConstants.CI_VISIBILITY_INSTRUMENTATION_NAME;
55

66
import datadog.trace.api.Config;
7-
import datadog.trace.api.DDTags;
87
import datadog.trace.api.DDTraceId;
98
import datadog.trace.api.IdGenerationStrategy;
109
import datadog.trace.api.civisibility.CIConstants;
@@ -98,8 +97,6 @@ public AbstractTestSession(
9897
span.setTag(Tags.SPAN_KIND, Tags.SPAN_KIND_TEST_SESSION);
9998
span.setTag(Tags.TEST_SESSION_ID, span.getTraceId());
10099

101-
span.setTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE, config.isServiceNameSetByUser());
102-
103100
// setting status to skip initially,
104101
// as we do not know in advance whether the session will have any children
105102
span.setTag(Tags.TEST_STATUS, TestStatus.skip);

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
66

77
import datadog.trace.api.Config;
8-
import datadog.trace.api.DDTags;
98
import datadog.trace.api.DDTraceId;
109
import datadog.trace.api.civisibility.CIConstants;
1110
import datadog.trace.api.civisibility.DDTest;
@@ -125,8 +124,6 @@ public TestImpl(
125124
span.setTag(Tags.TEST_MODULE_ID, moduleSpanContext.getSpanId());
126125
span.setTag(Tags.TEST_SESSION_ID, moduleSpanContext.getTraceId());
127126

128-
span.setTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE, config.isServiceNameSetByUser());
129-
130127
span.setTag(Tags.TEST_STATUS, TestStatus.pass);
131128

132129
if (testClass != null && !testClass.getName().equals(testSuiteName)) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestSuiteImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
66

77
import datadog.trace.api.Config;
8-
import datadog.trace.api.DDTags;
98
import datadog.trace.api.civisibility.DDTestSuite;
109
import datadog.trace.api.civisibility.coverage.CoverageStore;
1110
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
@@ -114,8 +113,6 @@ public TestSuiteImpl(
114113
span.setTag(Tags.TEST_MODULE_ID, moduleSpanContext.getSpanId());
115114
span.setTag(Tags.TEST_SESSION_ID, moduleSpanContext.getTraceId());
116115

117-
span.setTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE, config.isServiceNameSetByUser());
118-
119116
// setting status to skip initially,
120117
// as we do not know in advance whether the suite will have any children
121118
span.setTag(Tags.TEST_STATUS, TestStatus.skip);

dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/TestImplTest.groovy

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package datadog.trace.civisibility.domain
33
import datadog.trace.agent.test.asserts.ListWriterAssert
44
import datadog.trace.api.Config
55
import datadog.trace.api.DDSpanTypes
6-
import datadog.trace.api.DDTags
76
import datadog.trace.api.DDTraceId
87
import datadog.trace.api.civisibility.config.TestIdentifier
98
import datadog.trace.api.civisibility.coverage.CoverageProbes
@@ -21,7 +20,7 @@ import datadog.trace.civisibility.test.ExecutionResults
2120
import datadog.trace.civisibility.utils.SpanUtils
2221

2322
class TestImplTest extends SpanWriterTest {
24-
def "test span is generated and tags populated"() {
23+
def "test span is generated"() {
2524
setup:
2625
def test = givenATest()
2726

@@ -34,9 +33,6 @@ class TestImplTest extends SpanWriterTest {
3433
span(0) {
3534
parent()
3635
spanType DDSpanTypes.TEST
37-
tags(false) {
38-
"$DDTags.TEST_IS_USER_PROVIDED_SERVICE" true
39-
}
4036
}
4137
}
4238
})
@@ -75,10 +71,10 @@ class TestImplTest extends SpanWriterTest {
7571
def coverageStore = Mock(CoverageStore)
7672
coverageStore.getProbes() >> coverageProbes
7773

78-
def coveageStoreFactory = Stub(CoverageStore.Factory)
79-
coveageStoreFactory.create((TestIdentifier) _) >> coverageStore
74+
def coverageStoreFactory = Stub(CoverageStore.Factory)
75+
coverageStoreFactory.create((TestIdentifier) _) >> coverageStore
8076

81-
def test = givenATest(coveageStoreFactory)
77+
def test = givenATest(coverageStoreFactory)
8278

8379
when:
8480
test.setSkipReason("skipped")
@@ -88,7 +84,8 @@ class TestImplTest extends SpanWriterTest {
8884
0 * coverageStore.report(_, _, _)
8985
}
9086

91-
private TestImpl givenATest(CoverageStore.Factory coverageStoreFactory = new NoOpCoverageStore.Factory()) {
87+
private TestImpl givenATest(
88+
CoverageStore.Factory coverageStoreFactory = new NoOpCoverageStore.Factory()) {
9289

9390
def traceId = Stub(DDTraceId)
9491
traceId.toLong() >> 123
@@ -98,10 +95,8 @@ class TestImplTest extends SpanWriterTest {
9895
moduleSpanContext.getTraceId() >> traceId
9996
def suiteId = 789
10097

101-
def config = Spy(Config.get())
102-
config.isServiceNameSetByUser() >> true
103-
10498
def testFramework = TestFrameworkInstrumentation.OTHER
99+
def config = Config.get()
105100
def metricCollector = Stub(CiVisibilityMetricCollectorImpl)
106101
def executionResults = Stub(ExecutionResults)
107102
def testDecorator = new TestDecoratorImpl("component", "session-name", "test-command", [:])

dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/TestSuiteImplTest.groovy

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package datadog.trace.civisibility.domain
33
import datadog.trace.agent.test.asserts.ListWriterAssert
44
import datadog.trace.api.Config
55
import datadog.trace.api.DDSpanTypes
6-
import datadog.trace.api.DDTags
76
import datadog.trace.api.DDTraceId
87
import datadog.trace.api.civisibility.coverage.CoverageStore
98
import datadog.trace.api.civisibility.coverage.NoOpCoverageStore
@@ -35,7 +34,6 @@ class TestSuiteImplTest extends SpanWriterTest {
3534
"$Tags.TEST_CODEOWNERS" "[\"@global-owner1\",\"@global-owner2\"]"
3635
"$Tags.TEST_SOURCE_START" 10
3736
"$Tags.TEST_SOURCE_END" 20
38-
"$DDTags.TEST_IS_USER_PROVIDED_SERVICE" true
3937
}
4038
}
4139
}
@@ -44,18 +42,17 @@ class TestSuiteImplTest extends SpanWriterTest {
4442

4543
private static final class MyClass {}
4644

47-
private TestSuiteImpl givenATestSuite(CoverageStore.Factory coverageStoreFactory = new NoOpCoverageStore.Factory()) {
45+
private TestSuiteImpl givenATestSuite(
46+
CoverageStore.Factory coverageStoreFactory = new NoOpCoverageStore.Factory()) {
4847
def traceId = Stub(DDTraceId)
4948
traceId.toLong() >> 123
5049

5150
def moduleSpanContext = Stub(AgentSpanContext)
5251
moduleSpanContext.getSpanId() >> 456
5352
moduleSpanContext.getTraceId() >> traceId
5453

55-
def config = Spy(Config.get())
56-
config.isServiceNameSetByUser() >> true
57-
5854
def testFramework = TestFrameworkInstrumentation.OTHER
55+
def config = Config.get()
5956
def metricCollector = Stub(CiVisibilityMetricCollectorImpl)
6057
def executionResults = Stub(ExecutionResults)
6158
def testDecorator = new TestDecoratorImpl("component", "session-name", "test-command", [:])

dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestModuleTest.groovy

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package datadog.trace.civisibility.domain.headless
22

3-
import datadog.trace.agent.test.asserts.ListWriterAssert
43
import datadog.trace.api.Config
5-
import datadog.trace.api.DDSpanTypes
6-
import datadog.trace.api.DDTags
74
import datadog.trace.api.civisibility.config.TestIdentifier
85
import datadog.trace.api.civisibility.config.TestSourceData
96
import datadog.trace.api.civisibility.coverage.CoverageStore
@@ -19,26 +16,6 @@ import datadog.trace.civisibility.source.SourcePathResolver
1916
import datadog.trace.civisibility.test.ExecutionStrategy
2017

2118
class HeadlessTestModuleTest extends SpanWriterTest {
22-
def "test module span is created and tags populated"() {
23-
setup:
24-
def headlessTestModule = givenAHeadlessTestModule()
25-
26-
when:
27-
headlessTestModule.end(null)
28-
29-
then:
30-
ListWriterAssert.assertTraces(TEST_WRITER, 1, false, {
31-
trace(1) {
32-
span(0) {
33-
spanType DDSpanTypes.TEST_MODULE_END
34-
tags(false) {
35-
"$DDTags.TEST_IS_USER_PROVIDED_SERVICE" true
36-
}
37-
}
38-
}
39-
})
40-
}
41-
4219
def "test total retries limit is applied across test cases"() {
4320
given:
4421
def headlessTestModule = givenAHeadlessTestModule()
@@ -75,7 +52,6 @@ class HeadlessTestModuleTest extends SpanWriterTest {
7552
// this counts all executions of a test case (first attempt is counted too)
7653
config.getCiVisibilityTotalFlakyRetryCount() >> 2
7754
// this counts retries across all tests (first attempt is not a retry, so it is not counted)
78-
config.isServiceNameSetByUser() >> true
7955

8056
def executionStrategy = new ExecutionStrategy(config, executionSettings, Stub(SourcePathResolver), Stub(LinesResolver))
8157

dd-trace-core/src/main/java/datadog/trace/civisibility/interceptor/CiVisibilityApmProtocolInterceptor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datadog.trace.api.Config;
44
import datadog.trace.api.DDSpanTypes;
5+
import datadog.trace.api.DDTags;
56
import datadog.trace.api.civisibility.CiVisibilityWellKnownTags;
67
import datadog.trace.api.interceptor.AbstractTraceInterceptor;
78
import datadog.trace.api.interceptor.MutableSpan;
@@ -47,6 +48,9 @@ public Collection<? extends MutableSpan> onTraceComplete(
4748
span.setTag(Tags.OS_ARCHITECTURE, wellKnownTags.getOsArch().toString());
4849
span.setTag(Tags.OS_PLATFORM, wellKnownTags.getOsPlatform().toString());
4950
span.setTag(Tags.OS_VERSION, wellKnownTags.getOsVersion().toString());
51+
span.setTag(
52+
DDTags.TEST_IS_USER_PROVIDED_SERVICE,
53+
wellKnownTags.getIsUserProvidedService().toString());
5054
}
5155
}
5256
return filteredTrace;

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

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,6 @@ public void map(List<? extends CoreSpan<?>> trace, Writable writable) {
9292
Number testSuiteId = span.getTag(Tags.TEST_SUITE_ID);
9393
span.removeTag(Tags.TEST_SUITE_ID);
9494

95-
Boolean testIsUserProvidedService = span.getTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE);
96-
span.removeTag(DDTags.TEST_IS_USER_PROVIDED_SERVICE);
97-
9895
String itrCorrelationId = span.getTag(Tags.ITR_CORRELATION_ID);
9996
span.removeTag(Tags.ITR_CORRELATION_ID);
10097

@@ -108,9 +105,6 @@ public void map(List<? extends CoreSpan<?>> trace, Writable writable) {
108105
if (testSuiteId != null) {
109106
topLevelTagsCount++;
110107
}
111-
if (testIsUserProvidedService != null) {
112-
topLevelTagsCount++;
113-
}
114108
if (itrCorrelationId != null) {
115109
topLevelTagsCount++;
116110
}
@@ -202,10 +196,6 @@ public void map(List<? extends CoreSpan<?>> trace, Writable writable) {
202196
writable.writeUTF8(TEST_SUITE_ID);
203197
writable.writeObject(testSuiteId, null);
204198
}
205-
if (testIsUserProvidedService != null) {
206-
writable.writeUTF8(TEST_IS_USER_PROVIDED_SERVICE);
207-
writable.writeObject(testIsUserProvidedService, null);
208-
}
209199
if (itrCorrelationId != null) {
210200
writable.writeUTF8(ITR_CORRELATION_ID);
211201
writable.writeObjectString(itrCorrelationId, null);
@@ -253,7 +243,7 @@ private void writeHeader() {
253243
headerWriter.startMap(1);
254244
/* 2,1 */
255245
headerWriter.writeUTF8(METADATA_ASTERISK);
256-
headerWriter.startMap(9);
246+
headerWriter.startMap(10);
257247
/* 2,1,1 */
258248
headerWriter.writeUTF8(ENV);
259249
headerWriter.writeUTF8(wellKnownTags.getEnv());
@@ -281,6 +271,9 @@ private void writeHeader() {
281271
/* 2,1,9 */
282272
headerWriter.writeUTF8(OS_VERSION);
283273
headerWriter.writeUTF8(wellKnownTags.getOsVersion());
274+
/* 2,1,10 */
275+
headerWriter.writeUTF8(TEST_IS_USER_PROVIDED_SERVICE);
276+
headerWriter.writeUTF8(wellKnownTags.getIsUserProvidedService());
284277
/* 3 */
285278
headerWriter.writeUTF8(EVENTS);
286279
headerWriter.startArray(eventCount);

0 commit comments

Comments
 (0)