Skip to content

Commit 5bfab65

Browse files
amarzialimcculls
andauthored
Introducing an internal integration name (#8708)
* Introducing an internal instrumentation component name * fix tests * fix ci viz tests * Change tag name and use otel instead opentelemetry * Add assertions for instrumentation which changes component tag * fix dropwizard tests * Fix latest finatra tests * Add instrumentation tag to netty connect spans * Add instrumentation tag to dropwizard view spans * fix tests * fix ci viz smoke tests * Rename to instrumentationName * Update dd-trace-core/src/test/groovy/datadog/trace/core/tagprocessor/InstrumentationComponentAdderTest.groovy Co-authored-by: Stuart McCulloch <[email protected]> * Update dd-trace-core/src/main/java/datadog/trace/core/tagprocessor/InstrumentationComponentAdder.java Co-authored-by: Stuart McCulloch <[email protected]> * Update dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java Co-authored-by: Stuart McCulloch <[email protected]> * codenarc * cleanup httpservertest * Update dd-trace-core/src/main/java/datadog/trace/core/tagprocessor/InstrumentationComponentAdder.java Co-authored-by: Stuart McCulloch <[email protected]> * change system test commit * rename * update system test commit --------- Co-authored-by: Stuart McCulloch <[email protected]>
1 parent b92f0c0 commit 5bfab65

File tree

48 files changed

+181
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+181
-15
lines changed

.circleci/config.continue.yml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ instrumentation_modules: &instrumentation_modules "dd-java-agent/instrumentation
3636
debugger_modules: &debugger_modules "dd-java-agent/agent-debugger|dd-java-agent/agent-bootstrap|dd-java-agent/agent-builder|internal-api|communication|dd-trace-core"
3737
profiling_modules: &profiling_modules "dd-java-agent/agent-profiling"
3838

39-
default_system_tests_commit: &default_system_tests_commit 380d8deb4dd86369e30827ae3d908400c91d2d3e
39+
default_system_tests_commit: &default_system_tests_commit 121787cbd6b3e5bc2840a0d5df17ecfb45566837
4040

4141
parameters:
4242
nightly:

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/BaseDecorator.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ public AgentSpan afterStart(final AgentSpan span) {
6969
if (spanType() != null) {
7070
span.setSpanType(spanType());
7171
}
72-
span.setTag(Tags.COMPONENT, component());
72+
final CharSequence component = component();
73+
span.setTag(Tags.COMPONENT, component);
74+
span.context().setIntegrationName(component);
7375
if (traceAnalyticsEnabled) {
7476
span.setMetric(DDTags.ANALYTICS_SAMPLE_RATE, traceAnalyticsSampleRate);
7577
}

dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/BaseDecoratorTest.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.trace.bootstrap.instrumentation.decorator
22

33

44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
5+
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext
56
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities
67
import datadog.trace.bootstrap.instrumentation.api.Tags
78
import datadog.trace.test.util.DDSpecification
@@ -16,6 +17,7 @@ class BaseDecoratorTest extends DDSpecification {
1617
def errorPriority = null as Byte
1718

1819
def span = Mock(AgentSpan)
20+
def spanContext = Mock(AgentSpanContext)
1921

2022
def "test afterStart"() {
2123
when:
@@ -24,6 +26,8 @@ class BaseDecoratorTest extends DDSpecification {
2426
then:
2527
1 * span.setSpanType(decorator.spanType())
2628
1 * span.setTag(Tags.COMPONENT, "test-component")
29+
1 * span.context() >> spanContext
30+
1 * spanContext.setIntegrationName("test-component")
2731
_ * span.setTag(_, _) // Want to allow other calls from child implementations.
2832
_ * span.setMeasured(true)
2933
_ * span.setMetric(_, _)

dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/ClientDecoratorTest.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.trace.bootstrap.instrumentation.decorator
22

33
import datadog.trace.api.DDTags
44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
5+
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext
56
import datadog.trace.bootstrap.instrumentation.api.Tags
67

78
class ClientDecoratorTest extends BaseDecoratorTest {
@@ -11,6 +12,7 @@ class ClientDecoratorTest extends BaseDecoratorTest {
1112
def "test afterStart"() {
1213
setup:
1314
def decorator = newDecorator((String) serviceName)
15+
def spanContext = Mock(AgentSpanContext)
1416

1517
when:
1618
decorator.afterStart(span)
@@ -21,6 +23,8 @@ class ClientDecoratorTest extends BaseDecoratorTest {
2123
}
2224
1 * span.setMeasured(true)
2325
1 * span.setTag(Tags.COMPONENT, "test-component")
26+
1 * span.context() >> spanContext
27+
1 * spanContext.setIntegrationName("test-component")
2428
1 * span.setTag(Tags.SPAN_KIND, "client")
2529
1 * span.setSpanType(decorator.spanType())
2630
1 * span.setMetric(DDTags.ANALYTICS_SAMPLE_RATE, 1.0)

dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/DBTypeProcessingDatabaseClientDecoratorTest.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ class DBTypeProcessingDatabaseClientDecoratorTest extends ClientDecoratorTest {
2424
}
2525
1 * span.setMeasured(true)
2626
1 * span.setTag(Tags.COMPONENT, "test-component")
27+
1 * span.context() >> spanContext
28+
1 * spanContext.setIntegrationName("test-component")
2729
1 * span.setTag(Tags.SPAN_KIND, "client")
2830
1 * span.setSpanType("test-type")
2931
1 * span.setServiceName("test-db")

dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/DatabaseClientDecoratorTest.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.trace.bootstrap.instrumentation.decorator
22

33
import datadog.trace.api.DDTags
44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
5+
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext
56
import datadog.trace.bootstrap.instrumentation.api.Tags
67

78
import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_HOST
@@ -15,6 +16,7 @@ class DatabaseClientDecoratorTest extends ClientDecoratorTest {
1516
def "test afterStart"() {
1617
setup:
1718
def decorator = newDecorator((String) serviceName)
19+
def spanContext = Mock(AgentSpanContext)
1820

1921
when:
2022
decorator.afterStart(span)
@@ -25,6 +27,8 @@ class DatabaseClientDecoratorTest extends ClientDecoratorTest {
2527
}
2628
1 * span.setMeasured(true)
2729
1 * span.setTag(Tags.COMPONENT, "test-component")
30+
1 * span.context() >> spanContext
31+
1 * spanContext.setIntegrationName("test-component")
2832
1 * span.setTag(Tags.SPAN_KIND, "client")
2933
1 * span.setSpanType("test-type")
3034
1 * span.setMetric(DDTags.ANALYTICS_SAMPLE_RATE, 1.0)

dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/ServerDecoratorTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.trace.bootstrap.instrumentation.decorator
22

33

44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
5+
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext
56

67
import static datadog.trace.api.DDTags.ANALYTICS_SAMPLE_RATE
78
import static datadog.trace.api.DDTags.LANGUAGE_TAG_KEY
@@ -15,12 +16,16 @@ class ServerDecoratorTest extends BaseDecoratorTest {
1516

1617
def "test afterStart"() {
1718
def decorator = newDecorator()
19+
def spanContext = Mock(AgentSpanContext)
20+
1821
when:
1922
decorator.afterStart(span)
2023

2124
then:
2225
1 * span.setTag(LANGUAGE_TAG_KEY, LANGUAGE_TAG_VALUE)
2326
1 * span.setTag(COMPONENT, "test-component")
27+
1 * span.context() >> spanContext
28+
1 * spanContext.setIntegrationName("test-component")
2429
1 * span.setTag(SPAN_KIND, "server")
2530
1 * span.setSpanType(decorator.spanType())
2631
if (decorator.traceAnalyticsEnabled) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/decorator/TestDecoratorImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public AgentSpan afterStart(final AgentSpan span) {
5151
span.setTag(DDTags.HOST_VCPU_COUNT, cpuCount);
5252
span.setTag(Tags.TEST_TYPE, testType());
5353
span.setTag(Tags.COMPONENT, component());
54+
span.context().setIntegrationName(component());
5455
span.setTag(Tags.TEST_SESSION_NAME, sessionName);
5556

5657
for (final Map.Entry<String, String> ciTag : ciTags.entrySet()) {

dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/decorator/TestDecoratorImplTest.groovy

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,27 @@ package datadog.trace.civisibility.decorator
33
import datadog.trace.api.DDTags
44
import datadog.trace.api.sampling.PrioritySampling
55
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
6+
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext
67
import datadog.trace.bootstrap.instrumentation.api.Tags
78
import spock.lang.Specification
89

910
class TestDecoratorImplTest extends Specification {
1011

1112
def span = Mock(AgentSpan)
13+
def context = Mock(AgentSpanContext)
14+
1215

1316
def "test afterStart"() {
1417
setup:
1518
def decorator = new TestDecoratorImpl("test-component", "session-name", "test-command", ["ci-tag-1": "value", "ci-tag-2": "another value"])
16-
1719
when:
1820
decorator.afterStart(span)
1921

2022
then:
2123
1 * span.setTag(Tags.TEST_SESSION_NAME, "session-name")
2224
1 * span.setTag(Tags.COMPONENT, "test-component")
25+
1 * span.context() >> context
26+
1 * context.setIntegrationName("test-component")
2327
1 * span.setTag(Tags.TEST_TYPE, decorator.testType())
2428
1 * span.setSamplingPriority(PrioritySampling.SAMPLER_KEEP)
2529
1 * span.setTag(DDTags.ORIGIN_KEY, decorator.origin())
@@ -44,6 +48,8 @@ class TestDecoratorImplTest extends Specification {
4448
decorator.afterStart(span)
4549

4650
then:
51+
1 * span.context() >> context
52+
1 * context.setIntegrationName("test-component")
4753
1 * span.setTag(Tags.TEST_SESSION_NAME, expectedSessionName)
4854

4955
where:

dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilitySmokeTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ abstract class CiVisibilitySmokeTest extends Specification {
1212
def baseTemplatesPath = CiVisibilitySmokeTest.classLoader.getResource(projectName).toURI().schemeSpecificPart.replace('build/resources/test', 'src/test/resources')
1313
CiVisibilityTestUtils.generateTemplates(baseTemplatesPath, events, coverages, additionalReplacements)
1414
} else {
15-
CiVisibilityTestUtils.assertData(projectName, events, coverages, additionalReplacements, [])
15+
CiVisibilityTestUtils.assertData(projectName, events, coverages, additionalReplacements,["content.meta.['_dd.integration']"])
1616
}
1717
}
1818

0 commit comments

Comments
 (0)