Skip to content

Commit 3ddea41

Browse files
authored
Merge pull request #7661 from DataDog/mhlidd/DD_VERSION
Remove `version` metadata for non `DD_SERVICE` spans
2 parents 14a45ea + cc28d89 commit 3ddea41

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

dd-trace-core/src/main/java/datadog/trace/core/tagprocessor/BaseServiceAdder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public Map<String, Object> processTags(
2020
&& spanContext != null
2121
&& !ddService.toString().equalsIgnoreCase(spanContext.getServiceName())) {
2222
unsafeTags.put(DDTags.BASE_SERVICE, ddService);
23+
unsafeTags.remove("version");
2324
}
2425
return unsafeTags;
2526
}

dd-trace-core/src/test/groovy/datadog/trace/core/CoreTracerTest.groovy

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import datadog.trace.common.writer.ListWriter
2121
import datadog.trace.common.writer.LoggingWriter
2222
import datadog.trace.core.datastreams.DataStreamContextExtractor
2323
import datadog.trace.core.propagation.HttpCodec
24+
import datadog.trace.core.tagprocessor.TagsPostProcessorFactory
2425
import datadog.trace.core.test.DDCoreSpecification
2526
import okhttp3.HttpUrl
2627
import okhttp3.OkHttpClient
@@ -544,6 +545,32 @@ class CoreTracerTest extends DDCoreSpecification {
544545
"some" | "some"
545546
}
546547

548+
def "test dd_version exists only if service == dd_service"() {
549+
setup:
550+
injectSysConfig(SERVICE_NAME, "dd_service_name")
551+
injectSysConfig(VERSION, "1.0.0")
552+
TagsPostProcessorFactory.withAddBaseService(true)
553+
def tracer = tracerBuilder().writer(new ListWriter()).build()
554+
555+
when:
556+
def span = tracer.buildSpan("def").withTag(SERVICE_NAME,"foo").start()
557+
span.finish()
558+
then:
559+
span.getServiceName() == "foo"
560+
span.getTags().containsKey("version") == false
561+
562+
when:
563+
def span2 = tracer.buildSpan("abc").start()
564+
span2.finish()
565+
then:
566+
span2.getServiceName() == "dd_service_name"
567+
span2.getTags()["version"] == "1.0.0"
568+
569+
cleanup:
570+
tracer?.close()
571+
}
572+
573+
547574
def "reject configuration when target service+env mismatch"() {
548575
setup:
549576
injectSysConfig(SERVICE_NAME, service)

0 commit comments

Comments
 (0)