Skip to content

Commit c527f13

Browse files
authored
Remove filtering of DD_SERVICE and DD_ENV from the tracer (#8176)
* reverting env/service filtering in tracingconfigpoller * adding a unit test to verify filtering doesn't exist * updating test name
1 parent ad44687 commit c527f13

File tree

2 files changed

+12
-108
lines changed

2 files changed

+12
-108
lines changed

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

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -106,24 +106,6 @@ public void accept(ConfigKey configKey, byte[] content, PollingRateHinter hinter
106106
Okio.buffer(Okio.source(new ByteArrayInputStream(content))));
107107

108108
if (null != overrides && null != overrides.libConfig) {
109-
ServiceTarget serviceTarget = overrides.serviceTarget;
110-
if (serviceTarget != null) {
111-
String targetService = serviceTarget.service;
112-
String thisService = Config.get().getServiceName();
113-
if (targetService != null && !targetService.equalsIgnoreCase(thisService)) {
114-
log.debug(
115-
"Skipping config for service {}. Current service is {}",
116-
targetService,
117-
thisService);
118-
throw new IllegalArgumentException("service mismatch");
119-
}
120-
String targetEnv = serviceTarget.env;
121-
String thisEnv = Config.get().getEnv();
122-
if (targetEnv != null && !targetEnv.equalsIgnoreCase(thisEnv)) {
123-
log.debug("Skipping config for env {}. Current env is {}", targetEnv, thisEnv);
124-
throw new IllegalArgumentException("env mismatch");
125-
}
126-
}
127109
receivedOverrides = true;
128110
applyConfigOverrides(checkConfig(overrides.libConfig));
129111
if (log.isDebugEnabled()) {
@@ -266,21 +248,10 @@ private Map<String, String> parseTagListToMap(List<String> input) {
266248
}
267249

268250
static final class ConfigOverrides {
269-
@Json(name = "service_target")
270-
public ServiceTarget serviceTarget;
271-
272251
@Json(name = "lib_config")
273252
public LibConfig libConfig;
274253
}
275254

276-
static final class ServiceTarget {
277-
@Json(name = "service")
278-
public String service;
279-
280-
@Json(name = "env")
281-
public String env;
282-
}
283-
284255
static final class LibConfig {
285256
@Json(name = "tracing_enabled")
286257
public Boolean tracingEnabled;

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

Lines changed: 12 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -570,72 +570,20 @@ class CoreTracerTest extends DDCoreSpecification {
570570
tracer?.close()
571571
}
572572

573-
574-
def "reject configuration when target service+env mismatch"() {
575-
setup:
576-
injectSysConfig(SERVICE_NAME, service)
577-
injectSysConfig(ENV, env)
578-
579-
def key = ParsedConfigKey.parse("datadog/2/APM_TRACING/config_overrides/config")
580-
def poller = Mock(ConfigurationPoller)
581-
def sco = new SharedCommunicationObjects(
582-
okHttpClient: Mock(OkHttpClient),
583-
monitoring: Mock(Monitoring),
584-
agentUrl: HttpUrl.get('https://example.com'),
585-
featuresDiscovery: Mock(DDAgentFeaturesDiscovery),
586-
configurationPoller: poller
587-
)
588-
589-
def updater
573+
def "flushes on tracer close if configured to do so"() {
574+
given:
575+
def writer = new WriterWithExplicitFlush()
576+
def tracer = tracerBuilder().writer(writer).flushOnClose(true).build()
590577

591578
when:
592-
def tracer = CoreTracer.builder()
593-
.sharedCommunicationObjects(sco)
594-
.pollForTracingConfiguration()
595-
.build()
579+
tracer.buildSpan('my_span').start().finish()
580+
tracer.close()
596581

597582
then:
598-
1 * poller.addListener(Product.APM_TRACING, _ as ProductListener) >> {
599-
updater = it[1] // capture config updater for further testing
600-
}
601-
and:
602-
tracer.captureTraceConfig().serviceMapping == [:]
603-
604-
when:
605-
updater.accept(key, """
606-
{
607-
"service_target": {
608-
"service": "${targetService}",
609-
"env": "${targetEnv}"
610-
},
611-
"lib_config":
612-
{
613-
"tracing_service_mapping":
614-
[{
615-
"from_key": "foobar",
616-
"to_name": "bar"
617-
}]
618-
}
619-
}
620-
""".getBytes(StandardCharsets.UTF_8), null)
621-
updater.commit()
622-
623-
then: "configuration should not be applied"
624-
tracer.captureTraceConfig().serviceMapping == [:]
625-
and:
626-
thrown(IllegalArgumentException)
627-
628-
cleanup:
629-
tracer?.close()
630-
631-
where:
632-
service | env | targetService | targetEnv
633-
"service" | "env" | "service_1" | "env"
634-
"service" | "env" | "service" | "env_1"
635-
"service" | "env" | "service_2" | "env_2"
583+
!writer.flushedTraces.empty
636584
}
637585

638-
def "accept configuration when target service+env match case-insensitive"() {
586+
def "verify no filtering of service/env when mismatched with DD_SERVICE/DD_ENV"() {
639587
setup:
640588
injectSysConfig(SERVICE_NAME, service)
641589
injectSysConfig(ENV, env)
@@ -691,25 +639,10 @@ class CoreTracerTest extends DDCoreSpecification {
691639
tracer?.close()
692640

693641
where:
694-
service | env | targetService | targetEnv
695-
"service" | "env" | "service" | "env"
696-
"service" | "env" | "SERVICE" | "env"
697-
"service" | "env" | "service" | "ENV"
698-
"service" | "env" | "SERVICE" | "ENV"
699-
"SERVICE" | "ENV" | "service" | "env"
700-
}
701-
702-
def "flushes on tracer close if configured to do so"() {
703-
given:
704-
def writer = new WriterWithExplicitFlush()
705-
def tracer = tracerBuilder().writer(writer).flushOnClose(true).build()
706-
707-
when:
708-
tracer.buildSpan('my_span').start().finish()
709-
tracer.close()
710-
711-
then:
712-
!writer.flushedTraces.empty
642+
service | env | targetService | targetEnv
643+
"service" | "env" | "service_1" | "env"
644+
"service" | "env" | "service" | "env_1"
645+
"service" | "env" | "service_2" | "env_2"
713646
}
714647
}
715648

0 commit comments

Comments
 (0)