diff --git a/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/BaseDecoratorTest.groovy b/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/BaseDecoratorTest.groovy index b2686d6257c..354a9c6bc4f 100644 --- a/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/BaseDecoratorTest.groovy +++ b/dd-java-agent/agent-bootstrap/src/test/groovy/datadog/trace/bootstrap/instrumentation/decorator/BaseDecoratorTest.groovy @@ -5,11 +5,16 @@ import datadog.trace.bootstrap.instrumentation.api.AgentSpan import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities import datadog.trace.bootstrap.instrumentation.api.Tags +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.test.util.DDSpecification import spock.lang.Shared class BaseDecoratorTest extends DDSpecification { + def setupSpec() { + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Shared def decorator = newDecorator() diff --git a/dd-java-agent/agent-installer/src/test/groovy/datadog/trace/agent/test/DefaultInstrumenterForkedTest.groovy b/dd-java-agent/agent-installer/src/test/groovy/datadog/trace/agent/test/DefaultInstrumenterForkedTest.groovy index 9be765964fe..a3500c61ede 100644 --- a/dd-java-agent/agent-installer/src/test/groovy/datadog/trace/agent/test/DefaultInstrumenterForkedTest.groovy +++ b/dd-java-agent/agent-installer/src/test/groovy/datadog/trace/agent/test/DefaultInstrumenterForkedTest.groovy @@ -2,6 +2,7 @@ package datadog.trace.agent.test import datadog.environment.EnvironmentVariables import datadog.trace.agent.tooling.InstrumenterModule +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers import datadog.trace.agent.tooling.bytebuddy.outline.TypePoolFacade import datadog.trace.test.util.DDSpecification @@ -12,6 +13,10 @@ class DefaultInstrumenterForkedTest extends DDSpecification { DDElementMatchers.registerAsSupplier() } + def setupSpec() { + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "default enabled"() { setup: def target = new TestDefaultInstrumenter("test") diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/InstrumenterIndexTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/InstrumenterIndexTest.groovy index 09ee41ea1cd..4f220451c38 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/InstrumenterIndexTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/InstrumenterIndexTest.groovy @@ -1,10 +1,15 @@ package datadog.trace.agent.tooling +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.test.util.DDSpecification import spock.lang.Shared class InstrumenterIndexTest extends DDSpecification { + def setupSpec() { + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Shared def unknownInstrumentation = new InstrumenterModule('unknown') {} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/csi/BaseCallSiteTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/csi/BaseCallSiteTest.groovy index 8d611b92ca3..1bc45f31015 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/csi/BaseCallSiteTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/csi/BaseCallSiteTest.groovy @@ -4,6 +4,7 @@ import datadog.trace.agent.tooling.bytebuddy.csi.Advices import datadog.trace.agent.tooling.bytebuddy.csi.CallSiteInstrumentation import datadog.trace.agent.tooling.bytebuddy.csi.CallSiteSupplier import datadog.trace.agent.tooling.bytebuddy.csi.CallSiteTransformer +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.test.util.DDSpecification import groovy.transform.CompileDynamic import net.bytebuddy.agent.builder.AgentBuilder @@ -31,6 +32,10 @@ import static net.bytebuddy.matcher.ElementMatchers.named @CompileDynamic class BaseCallSiteTest extends DDSpecification { + def setupSpec() { + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + protected CallSites mockCallSites(final byte type = BEFORE, final CallSiteAdvice advice, final Pointcut target, final String... helpers) { return Stub(CallSites) { accept(_ as CallSites.Container) >> { diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/muzzle/MuzzleVersionScanPluginTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/muzzle/MuzzleVersionScanPluginTest.groovy index 579c51bb8ed..48003a016e3 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/muzzle/MuzzleVersionScanPluginTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/muzzle/MuzzleVersionScanPluginTest.groovy @@ -2,6 +2,7 @@ package datadog.trace.agent.tooling.muzzle import datadog.trace.agent.tooling.Instrumenter import datadog.trace.agent.tooling.InstrumenterModule +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.test.util.DDSpecification import net.bytebuddy.matcher.ElementMatcher @@ -20,6 +21,10 @@ import static datadog.trace.agent.tooling.muzzle.TestInstrumentationClasses.Vali class MuzzleVersionScanPluginTest extends DDSpecification { + def setupSpec() { + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "test assertInstrumentationMuzzled advice"() { setup: def instrumentationLoader = new ServiceEnabledClassLoader(InstrumenterModule, diff --git a/dd-java-agent/instrumentation-testing/src/main/groovy/datadog/trace/agent/test/InstrumentationSpecification.groovy b/dd-java-agent/instrumentation-testing/src/main/groovy/datadog/trace/agent/test/InstrumentationSpecification.groovy index 0b9fb35e563..0fbfa70924e 100644 --- a/dd-java-agent/instrumentation-testing/src/main/groovy/datadog/trace/agent/test/InstrumentationSpecification.groovy +++ b/dd-java-agent/instrumentation-testing/src/main/groovy/datadog/trace/agent/test/InstrumentationSpecification.groovy @@ -10,6 +10,8 @@ import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_FO import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.closePrevious import static datadog.trace.util.AgentThreadFactory.AgentThread.TASK_SCHEDULER +import datadog.trace.config.inversion.ConfigHelper + import ch.qos.logback.classic.Level import ch.qos.logback.classic.util.ContextInitializer import com.datadog.debugger.agent.ClassesToRetransformFinder @@ -426,6 +428,13 @@ abstract class InstrumentationSpecification extends DDSpecification implements A .hasNext(): "No instrumentation found" activeTransformer = AgentInstaller.installBytebuddyAgent( INSTRUMENTATION, true, AgentInstaller.getEnabledSystems(), this) + + // Assert no unsupported configs were encountered during agent install. + // This catches configs that were swallowed by InstrumenterIndex.buildModule()/loadModules(). + def unsupported = ConfigHelper.get().drainUnsupportedConfigs() + assert unsupported.isEmpty(): "Unsupported configurations found during agent install. " + + "Add these to metadata/supported-configurations.json or opt out with StrictnessPolicy.TEST:\n " + + unsupported.join("\n ") } protected String idGenerationStrategyName() { diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/AgentTestRunnerTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/AgentTestRunnerTest.groovy index c21a1e0b7f1..4dcdb0dd9d7 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/AgentTestRunnerTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/AgentTestRunnerTest.groovy @@ -1,5 +1,6 @@ import com.google.common.reflect.ClassPath import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.BootstrapClasspathSetupListener import datadog.trace.api.GlobalTracer import datadog.trace.api.Platform @@ -26,6 +27,8 @@ class AgentTestRunnerTest extends InstrumentationSpecification { @Override void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig(TRACE_CLASSES_EXCLUDE, "config.exclude.packagename.*, config.exclude.SomeClass,config.exclude.SomeClass\$NestedClass") } diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/ConfigResetTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/ConfigResetTest.groovy index d0649db5008..6f4030d954d 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/ConfigResetTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/ConfigResetTest.groovy @@ -1,10 +1,18 @@ import datadog.environment.EnvironmentVariables import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.api.Config import spock.lang.Shared class ConfigResetTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Shared def sharedInstance = checkStaticAssertions() diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/InstrumentOldBytecode.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/InstrumentOldBytecode.groovy index cc3f1e1f83d..daca6092110 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/InstrumentOldBytecode.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/InstrumentOldBytecode.groovy @@ -1,7 +1,16 @@ import com.ibm.as400.resource.ResourceLevel import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper class InstrumentOldBytecode extends InstrumentationSpecification { + + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "can instrument old bytecode"() { expect: new ResourceLevel().toString() == "instrumented" diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/TooManyInvocationsErrorListenerTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/TooManyInvocationsErrorListenerTest.groovy index 03d0687e3a7..69e5b47b1b1 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/TooManyInvocationsErrorListenerTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/TooManyInvocationsErrorListenerTest.groovy @@ -1,10 +1,18 @@ import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.TestClassShadowingExtension import org.spockframework.mock.* import org.spockframework.mock.runtime.MockInvocation class TooManyInvocationsErrorListenerTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @SuppressWarnings('GroovyAccessibility') void 'test that listener modifies failure'() { setup: diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/TraceCorrelationTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/TraceCorrelationTest.groovy index ba0d4f6efde..91aa98755c3 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/TraceCorrelationTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/TraceCorrelationTest.groovy @@ -1,4 +1,5 @@ import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.api.CorrelationIdentifier import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_128_BIT_TRACEID_LOGGING_ENABLED @@ -6,6 +7,13 @@ import static datadog.trace.api.config.TracerConfig.TRACE_128_BIT_TRACEID_GENERA class TraceCorrelationTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "access trace correlation only under trace"() { when: def span = TEST_TRACER.startSpan("test", "myspan") @@ -28,6 +36,8 @@ class Trace128bitCorrelationTest extends TraceCorrelationTest { @Override void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig(TRACE_128_BIT_TRACEID_GENERATION_ENABLED, "true") injectSysConfig(TRACE_128_BIT_TRACEID_LOGGING_ENABLED, "true") } diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/context/FieldInjectionForkedTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/context/FieldInjectionForkedTest.groovy index 6736c3cc503..25dfc0fe52f 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/context/FieldInjectionForkedTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/context/FieldInjectionForkedTest.groovy @@ -2,6 +2,7 @@ package context import datadog.trace.agent.test.AbortTransformationException import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.utils.ClasspathUtils import datadog.trace.api.InstrumenterConfig import datadog.trace.test.util.GCUtils @@ -32,6 +33,13 @@ import static context.FieldInjectionTestInstrumentation.ValidSerializableKeyClas class FieldInjectionForkedTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Override void onDiscovery(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) { if (typeName?.endsWith("UntransformableKeyClass")) { @@ -219,6 +227,8 @@ class FieldInjectionForkedTest extends InstrumentationSpecification { class FieldInjectionDisabledForkedTest extends InstrumentationSpecification { void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("dd.trace.runtime.context.field.injection", "false") } diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/excludefilter/ExcludeFilterForkedTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/excludefilter/ExcludeFilterForkedTest.groovy index 25083625484..d536739c68a 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/excludefilter/ExcludeFilterForkedTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/excludefilter/ExcludeFilterForkedTest.groovy @@ -1,6 +1,7 @@ package excludefilter import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.FieldBackedContextStores import datadog.trace.bootstrap.instrumentation.java.concurrent.ExcludeFilter @@ -18,6 +19,13 @@ import static excludefilter.ExcludeFilterTestInstrumentation.RunnableExcludedExe class ExcludeFilterForkedTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "test ExcludeFilter #runnable.class.name"() { expect: ExcludeFilter.exclude(RUNNABLE, runnable) == excluded diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingForkedTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingForkedTest.groovy index a456f873cf6..6df0d5eb259 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingForkedTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingForkedTest.groovy @@ -1,6 +1,7 @@ package locator import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import net.bytebuddy.agent.builder.AgentBuilder import net.bytebuddy.description.type.TypeDescription import net.bytebuddy.dynamic.DynamicType @@ -16,6 +17,8 @@ class ClassInjectingForkedTest extends InstrumentationSpecification { @Override protected void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) // Since this method is not at all configurePreAgent, but more like // configurePreAgentAndOhByTheWayBeforeEveryTest we need to not install diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingLoadClassDisabledForkedTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingLoadClassDisabledForkedTest.groovy index a9f36303a92..50598422da7 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingLoadClassDisabledForkedTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/locator/ClassInjectingLoadClassDisabledForkedTest.groovy @@ -1,6 +1,7 @@ package locator import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import net.bytebuddy.agent.builder.AgentBuilder import net.bytebuddy.description.type.TypeDescription import net.bytebuddy.dynamic.DynamicType @@ -19,6 +20,8 @@ class ClassInjectingLoadClassDisabledForkedTest extends InstrumentationSpecifica @Override protected void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("dd.resolver.use.loadclass", "false") diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpProxyTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpProxyTest.groovy index fb5d04791d2..3f7a5cc41cd 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpProxyTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpProxyTest.groovy @@ -1,6 +1,7 @@ package server import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.server.http.HttpProxy import datadog.trace.agent.test.utils.OkHttpUtils import okhttp3.MediaType @@ -21,6 +22,13 @@ import static datadog.trace.agent.test.server.http.TestHttpServer.httpServer }) class HttpProxyTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @AutoCleanup @Shared def proxy = new HttpProxy() diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpServerTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpServerTest.groovy index 84510eeab1d..16da158c2c2 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpServerTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/server/HttpServerTest.groovy @@ -6,6 +6,7 @@ import static datadog.trace.agent.test.utils.TraceUtils.runUnderTrace import datadog.communication.util.IOUtils import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.utils.OkHttpUtils import okhttp3.MultipartBody import okhttp3.Request @@ -14,6 +15,14 @@ import spock.lang.Shared /* Don't actually need AgentTestRunner, but it messes up the classloader for AgentTestRunnerTest if this runs first. */ class HttpServerTest extends InstrumentationSpecification { + + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Shared def client = OkHttpUtils.client() diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/synthetic/SyntheticForkedTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/synthetic/SyntheticForkedTest.groovy index ffeb41b6196..0b9f545916e 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/synthetic/SyntheticForkedTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/synthetic/SyntheticForkedTest.groovy @@ -1,9 +1,17 @@ package synthetic import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper abstract class SyntheticForkedTestBase extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "test Synthetic methods"() { expect: SyntheticTestInstrumentation.Compute.result(i) == computed(i) @@ -25,6 +33,8 @@ class SyntheticForkedTest extends SyntheticForkedTestBase { @Override protected void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) System.setProperty("synthetic.test.enabled", "true") } diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/utils/PortUtilsTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/utils/PortUtilsTest.groovy index 511e6929557..88be11bf2df 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/utils/PortUtilsTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/utils/PortUtilsTest.groovy @@ -1,11 +1,20 @@ package utils import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.utils.PortUtils import java.util.concurrent.TimeUnit class PortUtilsTest extends InstrumentationSpecification { + + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def "expect waitForPortToOpen succeed"() { given: int port = PortUtils.randomOpenPort() diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/utils/ThreadUtilsTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/utils/ThreadUtilsTest.groovy index dbd0f8041ea..f6736550716 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/utils/ThreadUtilsTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/utils/ThreadUtilsTest.groovy @@ -1,6 +1,7 @@ package utils import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.test.util.ThreadUtils import org.spockframework.runtime.ConditionNotSatisfiedError import spock.lang.FailsWith @@ -11,6 +12,13 @@ import java.util.concurrent.atomic.AtomicInteger class ThreadUtilsTest extends InstrumentationSpecification { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation - test module loads test instrumentations with fake names + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + @Shared def counter = new AtomicInteger() diff --git a/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/MeasuredConfigTest.groovy b/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/MeasuredConfigTest.groovy index c3f540b4d38..6ba58ea4a1c 100644 --- a/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/MeasuredConfigTest.groovy +++ b/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/MeasuredConfigTest.groovy @@ -1,4 +1,5 @@ import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import java.util.concurrent.Callable @@ -8,6 +9,7 @@ class MeasuredConfigTest extends InstrumentationSpecification { @Override void configurePreAgent() { super.configurePreAgent() + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("dd.trace.methods", "package.ClassName[method1,method2];${ConfigTracedCallable.name}[call];${ConfigTracedCallable2.name}[*];") injectSysConfig("dd.measure.methods", "package.ClassName[method1,method2];${ConfigTracedCallable.name}[call];${ConfigTracedCallable2.name}[*];") } diff --git a/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/TraceConfigTest.groovy b/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/TraceConfigTest.groovy index f1c0874e670..d5e556e1c36 100644 --- a/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/TraceConfigTest.groovy +++ b/dd-java-agent/instrumentation/datadog/tracing/trace-annotation/src/test/groovy/TraceConfigTest.groovy @@ -1,4 +1,5 @@ import datadog.trace.agent.test.InstrumentationSpecification +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import java.util.concurrent.Callable @@ -8,6 +9,7 @@ class TraceConfigTest extends InstrumentationSpecification { @Override void configurePreAgent() { super.configurePreAgent() + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("dd.trace.methods", "package.ClassName[method1,method2];${ConfigTracedCallable.name}[call];${ConfigTracedCallable2.name}[*];${Animal.name}[animalSound];${DictionaryElement.name}[*];${Floor.name}[setNumber];${Mammal.name}[*]") } diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2NodeClientTest.groovy index 59bea7669e1..408d0dcdabe 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -29,8 +30,14 @@ class Elasticsearch2NodeClientTest extends InstrumentationSpecification { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2TransportClientTest.groovy index e04c446c81e..cbd5b5e1b38 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/Elasticsearch2TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -32,8 +33,14 @@ class Elasticsearch2TransportClientTest extends InstrumentationSpecification { @Shared TransportClient client - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy index 2e98f8166b5..b39626c161f 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy @@ -3,6 +3,7 @@ package springdata import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.springframework.context.ApplicationContext @@ -20,6 +21,13 @@ class Elasticsearch2SpringRepositoryTest extends InstrumentationSpecification { @Shared DocRepository repo = applicationContext.getBean(DocRepository) + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def cleanup() { def cleanupSpan = runUnderTrace("cleanup") { repo.refresh() diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy index 62b1b909f07..cb4002309eb 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/latestDepTest/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy @@ -3,6 +3,7 @@ package springdata import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.search.SearchResponse @@ -36,8 +37,14 @@ class Elasticsearch2SpringTemplateTest extends InstrumentationSpecification { @Shared ElasticsearchTemplate template - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2NodeClientTest.groovy index 6e419097bb9..cc066bcd822 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.naming.VersionedNamingTestBase import datadog.trace.api.Config +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.api.DDSpanTypes import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky @@ -26,8 +27,14 @@ abstract class Elasticsearch2NodeClientTest extends VersionedNamingTestBase { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2TransportClientTest.groovy index a765a46a229..fa2a5d76ccc 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/Elasticsearch2TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.naming.VersionedNamingTestBase import datadog.trace.api.Config +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.api.DDSpanTypes import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky @@ -34,8 +35,14 @@ abstract class Elasticsearch2TransportClientTest extends VersionedNamingTestBase @Shared TransportClient client - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy index 141d8476270..3f3e0853c66 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy @@ -3,6 +3,7 @@ package springdata import datadog.trace.agent.test.naming.VersionedNamingTestBase import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.springframework.context.ApplicationContext @@ -29,6 +30,13 @@ abstract class Elasticsearch2SpringRepositoryTest extends VersionedNamingTestBas TEST_WRITER.waitUntilReported(cleanupSpan) } + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { // force putting the mapping here to avoid flakiness repo.index(new Doc()) diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy index 6d85d26507b..d5227c37dfa 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-2.0/src/test/groovy/springdata/Elasticsearch2SpringTemplateTest.groovy @@ -2,6 +2,7 @@ package springdata import datadog.trace.agent.test.naming.VersionedNamingTestBase import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.search.SearchResponse @@ -35,8 +36,14 @@ abstract class Elasticsearch2SpringTemplateTest extends VersionedNamingTestBase @Shared ElasticsearchTemplate template - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5NodeClientTest.groovy index 198ed0e0b3b..996f7e3d34e 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -28,8 +29,14 @@ class Elasticsearch5NodeClientTest extends InstrumentationSpecification { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5TransportClientTest.groovy index f9e1637244a..82ed0d6d7a3 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.0/src/test/groovy/Elasticsearch5TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -36,8 +37,14 @@ class Elasticsearch5TransportClientTest extends InstrumentationSpecification { @Shared TransportClient client - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53NodeClientTest.groovy index 06aedcae037..218f75e6454 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -28,8 +29,14 @@ class Elasticsearch53NodeClientTest extends InstrumentationSpecification { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53TransportClientTest.groovy index cf2afb15466..cb05afcc747 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/Elasticsearch53TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -37,8 +38,14 @@ class Elasticsearch53TransportClientTest extends InstrumentationSpecification { @Shared String clusterName = UUID.randomUUID().toString() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy index c65155597cc..82f22c908e0 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy @@ -2,6 +2,7 @@ package springdata import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.springframework.context.annotation.AnnotationConfigApplicationContext @@ -54,6 +55,13 @@ class Elasticsearch53SpringRepositoryTest extends InstrumentationSpecification { } } + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { repo.refresh() // lazy init cleanup() diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy index b7c2664da3b..b047c5873cf 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-5.3/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy @@ -3,6 +3,7 @@ package springdata import com.google.common.collect.ImmutableSet import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.search.SearchResponse @@ -46,8 +47,14 @@ class Elasticsearch53SpringTemplateTest extends InstrumentationSpecification { @Shared ElasticsearchTemplate template - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6NodeClientTest.groovy index 3845d1873eb..1171175820e 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -27,8 +28,14 @@ class Elasticsearch6NodeClientTest extends InstrumentationSpecification { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6TransportClientTest.groovy index 6df99841620..3fcc03496b5 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-6.0/src/test/groovy/Elasticsearch6TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -35,6 +36,13 @@ class Elasticsearch6TransportClientTest extends InstrumentationSpecification { @Shared TransportClient client + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73NodeClientTest.groovy index 6d9e5b44900..d3e192b3f82 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73NodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -27,8 +28,14 @@ class Elasticsearch73NodeClientTest extends InstrumentationSpecification { def client = testNode.client() - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() println "ES work dir: $esWorkingDir" diff --git a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73TransportClientTest.groovy index 32a4ea411cd..b2a19e0ad2e 100644 --- a/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch/elasticsearch-transport/elasticsearch-transport-7.3/src/test/groovy/Elasticsearch73TransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest @@ -35,6 +36,13 @@ class Elasticsearch73TransportClientTest extends InstrumentationSpecification { @Shared TransportClient client + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { esWorkingDir = File.createTempDir("test-es-working-dir-", "") esWorkingDir.deleteOnExit() diff --git a/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleForkedTest.groovy b/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleForkedTest.groovy index 07f201d3cae..2fb36652a66 100644 --- a/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleForkedTest.groovy +++ b/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleForkedTest.groovy @@ -8,6 +8,7 @@ import static org.mule.runtime.api.util.MuleTestUtil.muleSpan import com.squareup.moshi.Moshi import com.squareup.moshi.Types import datadog.trace.agent.test.base.WithHttpServer +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.api.DDSpanTypes import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.core.DDSpan @@ -30,6 +31,9 @@ class MuleForkedTest extends WithHttpServer { @Override protected void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation because this test loads HttpServerTestHandlerInstrumentation + // which uses the fake instrumentation name "mule4-http-server-test-handler" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("integration.mule.enabled", "true") } diff --git a/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleHttpServerForkedTest.groovy b/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleHttpServerForkedTest.groovy index c102754dc74..c5b060a2f2b 100644 --- a/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleHttpServerForkedTest.groovy +++ b/dd-java-agent/instrumentation/mule-4.5/src/test/groovy/mule4/MuleHttpServerForkedTest.groovy @@ -4,6 +4,7 @@ import static org.mule.runtime.api.util.MuleTestUtil.muleSpan import datadog.trace.agent.test.asserts.TraceAssert import datadog.trace.agent.test.base.HttpServerTest +import datadog.trace.config.inversion.ConfigHelper import spock.lang.Shared class MuleHttpServerForkedTest extends HttpServerTest { @@ -56,6 +57,7 @@ class MuleHttpServerForkedTest extends HttpServerTest { @Override protected void configurePreAgent() { super.configurePreAgent() + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) injectSysConfig("integration.mule.enabled", "true") } diff --git a/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchNodeClientTest.groovy b/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchNodeClientTest.groovy index 488b808d600..153a764ac71 100644 --- a/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchNodeClientTest.groovy +++ b/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchNodeClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.opensearch.action.admin.cluster.health.ClusterHealthRequest @@ -33,8 +34,14 @@ class OpensearchNodeClientTest extends InstrumentationSpecification { false } - def setupSpec() { + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { aosWorkingDir = File.createTempDir("test-aos-working-dir-", "") aosWorkingDir.deleteOnExit() println "AOS work dir: $aosWorkingDir" diff --git a/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchTransportClientTest.groovy b/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchTransportClientTest.groovy index 273802eb278..42f23f38ea2 100644 --- a/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchTransportClientTest.groovy +++ b/dd-java-agent/instrumentation/opensearch/opensearch-transport-1.0/src/test/groovy/OpensearchTransportClientTest.groovy @@ -1,5 +1,6 @@ import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.api.DDSpanTypes +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.test.util.Flaky import org.opensearch.action.admin.cluster.health.ClusterHealthRequest @@ -40,6 +41,13 @@ class OpensearchTransportClientTest extends InstrumentationSpecification { false } + @Override + protected void configurePreAgent() { + super.configurePreAgent() + // Opt out of strict config validation because this test loads a BreakTrace test instrumentation with fake name "test" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) + } + def setupSpec() { aosWorkingDir = File.createTempDir("test-aos-working-dir-", "") aosWorkingDir.deleteOnExit() diff --git a/dd-java-agent/instrumentation/wildfly-9.0/src/test/groovy/WildFlyForkedTest.groovy b/dd-java-agent/instrumentation/wildfly-9.0/src/test/groovy/WildFlyForkedTest.groovy index 6ababdb5f24..4c2eb9663a3 100644 --- a/dd-java-agent/instrumentation/wildfly-9.0/src/test/groovy/WildFlyForkedTest.groovy +++ b/dd-java-agent/instrumentation/wildfly-9.0/src/test/groovy/WildFlyForkedTest.groovy @@ -1,5 +1,6 @@ import datadog.environment.JavaVirtualMachine import datadog.trace.agent.test.base.WithHttpServer +import datadog.trace.config.inversion.ConfigHelper import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions import datadog.trace.agent.test.utils.OkHttpUtils import datadog.trace.api.DDSpanTypes @@ -17,6 +18,7 @@ import test.TestServlet JavaVirtualMachine.isJavaVersionAtLeast(22) }) class WildFlyForkedTest extends WithHttpServer implements TestingGenericHttpNamingConventions.ServerV0 { + @Override EmbeddedWildfly startServer(int port) { // create the archive @@ -39,6 +41,9 @@ class WildFlyForkedTest extends WithHttpServer implements Testi @Override protected void configurePreAgent() { super.configurePreAgent() + // Opt out of strict config validation because this test loads ModulePatchInstrumentation + // which uses the fake instrumentation name "jboss-module-patch" + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.TEST) // otherwise there are differences in setting the resource name across wildfly versions injectSysConfig("undertow.legacy.tracing.enabled", "false") } diff --git a/metadata/supported-configurations.json b/metadata/supported-configurations.json index fac0f0dff2f..14d108a9006 100644 --- a/metadata/supported-configurations.json +++ b/metadata/supported-configurations.json @@ -3974,7 +3974,7 @@ "version": "B", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AEROSPIKE_ENABLED", "DD_TRACE_INTEGRATION_AEROSPIKE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AEROSPIKE_ENABLED", "DD_INTEGRATION_AEROSPIKE_ENABLED"] } ], "DD_TRACE_AGENT_ARGS": [ @@ -4062,7 +4062,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AKKA_ACTOR_SEND_ENABLED", "DD_TRACE_INTEGRATION_AKKA_ACTOR_SEND_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AKKA_ACTOR_SEND_ENABLED", "DD_INTEGRATION_AKKA_ACTOR_SEND_ENABLED"] } ], "DD_TRACE_AKKA_CONCURRENT_ENABLED": [ @@ -4070,7 +4070,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AKKA_CONCURRENT_ENABLED", "DD_TRACE_INTEGRATION_AKKA_CONCURRENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AKKA_CONCURRENT_ENABLED", "DD_INTEGRATION_AKKA_CONCURRENT_ENABLED"] } ], "DD_TRACE_AKKA_FORK_JOIN_EXECUTOR_TASK_NAME": [ @@ -4142,7 +4142,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED", "DD_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED"] } ], "DD_TRACE_AKKA_HTTP_ENABLED": [ @@ -4174,7 +4174,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AKKA_HTTP_SERVER_ENABLED", "DD_TRACE_INTEGRATION_AKKA_HTTP_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AKKA_HTTP_SERVER_ENABLED", "DD_INTEGRATION_AKKA_HTTP_SERVER_ENABLED"] } ], "DD_TRACE_ALLOCATEDIRECT_ENABLED": [ @@ -4214,7 +4214,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AMQP_ENABLED", "DD_TRACE_INTEGRATION_AMQP_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AMQP_ENABLED", "DD_INTEGRATION_AMQP_ENABLED"] } ], "DD_TRACE_ANALYTICS_ENABLED": [ @@ -4278,7 +4278,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED", "DD_TRACE_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED", "DD_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED"] } ], "DD_TRACE_APACHE_HTTPCLIENT5_ANALYTICS_ENABLED": [ @@ -4334,7 +4334,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_APACHE_HTTPCORE_5_ENABLED", "DD_TRACE_INTEGRATION_APACHE_HTTPCORE_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_APACHE_HTTPCORE_5_ENABLED", "DD_INTEGRATION_APACHE_HTTPCORE_5_ENABLED"] } ], "DD_TRACE_APACHE_HTTPCORE_ENABLED": [ @@ -4366,7 +4366,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED", "DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED", "DD_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED"] } ], "DD_TRACE_APACHE_HTTP_CLIENT_ANALYTICS_ENABLED": [ @@ -4390,7 +4390,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED", "DD_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED"] } ], "DD_TRACE_APACHE_HTTP_CORE_5_ENABLED": [ @@ -4398,7 +4398,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED", "DD_TRACE_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED", "DD_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED"] } ], "DD_TRACE_APACHE_HTTP_CORE_ENABLED": [ @@ -4438,7 +4438,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ARMERIA_ENABLED", "DD_TRACE_INTEGRATION_ARMERIA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ARMERIA_ENABLED", "DD_INTEGRATION_ARMERIA_ENABLED"] } ], "DD_TRACE_ARMERIA_GRPC_ANALYTICS_ENABLED": [ @@ -4486,7 +4486,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ARMERIA_GRPC_ENABLED", "DD_TRACE_INTEGRATION_ARMERIA_GRPC_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_ENABLED", "DD_INTEGRATION_ARMERIA_GRPC_ENABLED"] } ], "DD_TRACE_ARMERIA_GRPC_MESSAGE_ENABLED": [ @@ -4494,7 +4494,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED", "DD_TRACE_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED", "DD_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED"] } ], "DD_TRACE_ARMERIA_GRPC_SERVER_ANALYTICS_ENABLED": [ @@ -4518,7 +4518,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED", "DD_TRACE_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED", "DD_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED"] } ], "DD_TRACE_ARMERIA_JETTY_ENABLED": [ @@ -4526,7 +4526,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ARMERIA_JETTY_ENABLED", "DD_TRACE_INTEGRATION_ARMERIA_JETTY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ARMERIA_JETTY_ENABLED", "DD_INTEGRATION_ARMERIA_JETTY_ENABLED"] } ], "DD_TRACE_AUTH0_JWT_ENABLED": [ @@ -4542,7 +4542,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AVRO_ENABLED", "DD_TRACE_INTEGRATION_AVRO_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AVRO_ENABLED", "DD_INTEGRATION_AVRO_ENABLED"] } ], "DD_TRACE_AWSADD_SPAN_POINTERS": [ @@ -4582,7 +4582,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AWS_S3_ENABLED", "DD_TRACE_INTEGRATION_AWS_S3_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AWS_S3_ENABLED", "DD_INTEGRATION_AWS_S3_ENABLED"] } ], "DD_TRACE_AWS_SDK_ANALYTICS_ENABLED": [ @@ -4686,7 +4686,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AXWAY_API_ENABLED", "DD_TRACE_INTEGRATION_AXWAY_API_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AXWAY_API_ENABLED", "DD_INTEGRATION_AXWAY_API_ENABLED"] } ], "DD_TRACE_AXWAY_HTTP_ANALYTICS_ENABLED": [ @@ -4726,7 +4726,7 @@ "version": "B", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_AZURE_FUNCTIONS_ENABLED", "DD_TRACE_INTEGRATION_AZURE_FUNCTIONS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_AZURE_FUNCTIONS_ENABLED", "DD_INTEGRATION_AZURE_FUNCTIONS_ENABLED"] } ], "DD_TRACE_BAGGAGE_MAX_BYTES": [ @@ -4758,7 +4758,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CAFFEINE_ENABLED", "DD_TRACE_INTEGRATION_CAFFEINE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CAFFEINE_ENABLED", "DD_INTEGRATION_CAFFEINE_ENABLED"] } ], "DD_TRACE_CASSANDRA_ANALYTICS_ENABLED": [ @@ -4793,12 +4793,36 @@ "aliases": [] } ], + "DD_TRACE_CICS_ANALYTICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_CICS_ANALYTICS_ENABLED"] + } + ], + "DD_TRACE_CICS_ANALYTICS_SAMPLE_RATE": [ + { + "version": "A", + "type": "decimal", + "default": "1.0", + "aliases": ["DD_CICS_ANALYTICS_SAMPLE_RATE"] + } + ], + "DD_TRACE_CICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_CICS_ENABLED", "DD_INTEGRATION_CICS_ENABLED"] + } + ], "DD_TRACE_CI_VISIBILITY_ENABLED": [ { "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CI_VISIBILITY_ENABLED", "DD_TRACE_INTEGRATION_CI_VISIBILITY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CI_VISIBILITY_ENABLED", "DD_INTEGRATION_CI_VISIBILITY_ENABLED"] } ], "DD_TRACE_CLASSES_EXCLUDE": [ @@ -4838,7 +4862,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CLASSLOADING_ENABLED", "DD_TRACE_INTEGRATION_CLASSLOADING_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CLASSLOADING_ENABLED", "DD_INTEGRATION_CLASSLOADING_ENABLED"] } ], "DD_TRACE_CLIENT_IP_ENABLED": [ @@ -4926,7 +4950,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED", "DD_TRACE_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED", "DD_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED"] } ], "DD_TRACE_COMMONS_HTTP_CLIENT_ANALYTICS_ENABLED": [ @@ -4950,7 +4974,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED", "DD_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED"] } ], "DD_TRACE_CONFIG": [ @@ -4974,7 +4998,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CONSUMER_TASK_ENABLED", "DD_TRACE_INTEGRATION_CONSUMER_TASK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CONSUMER_TASK_ENABLED", "DD_INTEGRATION_CONSUMER_TASK_ENABLED"] } ], "DD_TRACE_COUCHBASE_3_ENABLED": [ @@ -4982,7 +5006,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_COUCHBASE_3_ENABLED", "DD_TRACE_INTEGRATION_COUCHBASE_3_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_COUCHBASE_3_ENABLED", "DD_INTEGRATION_COUCHBASE_3_ENABLED"] } ], "DD_TRACE_COUCHBASE_ANALYTICS_ENABLED": [ @@ -5006,7 +5030,7 @@ "version": "B", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_COUCHBASE_ENABLED", "DD_TRACE_INTEGRATION_COUCHBASE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_COUCHBASE_ENABLED", "DD_INTEGRATION_COUCHBASE_ENABLED"] } ], "DD_TRACE_COUCHBASE_INTERNAL_SPANS_ENABLED": [ @@ -5038,7 +5062,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CUCUMBER_5_ENABLED", "DD_TRACE_INTEGRATION_CUCUMBER_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CUCUMBER_5_ENABLED", "DD_INTEGRATION_CUCUMBER_5_ENABLED"] } ], "DD_TRACE_CUCUMBER_ANALYTICS_ENABLED": [ @@ -5062,7 +5086,7 @@ "version": "B", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CUCUMBER_ENABLED", "DD_TRACE_INTEGRATION_CUCUMBER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CUCUMBER_ENABLED", "DD_INTEGRATION_CUCUMBER_ENABLED"] } ], "DD_TRACE_CXF_ENABLED": [ @@ -5078,7 +5102,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_CXF_INVOKER_ENABLED", "DD_TRACE_INTEGRATION_CXF_INVOKER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_CXF_INVOKER_ENABLED", "DD_INTEGRATION_CXF_INVOKER_ENABLED"] } ], "DD_TRACE_DATANUCLEUS_ANALYTICS_ENABLED": [ @@ -5118,7 +5142,7 @@ "version": "B", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_DBCP2_ENABLED", "DD_TRACE_INTEGRATION_DBCP2_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DBCP2_ENABLED", "DD_INTEGRATION_DBCP2_ENABLED"] } ], "DD_TRACE_DBM_ENABLED": [ @@ -5126,7 +5150,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DBM_ENABLED", "DD_TRACE_INTEGRATION_DBM_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DBM_ENABLED", "DD_INTEGRATION_DBM_ENABLED"] } ], "DD_TRACE_DBSTATEMENTRULE_ENABLED": [ @@ -5190,7 +5214,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DEFINECLASS_ENABLED", "DD_TRACE_INTEGRATION_DEFINECLASS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DEFINECLASS_ENABLED", "DD_INTEGRATION_DEFINECLASS_ENABLED"] } ], "DD_TRACE_DIRECTALLOCATION_ENABLED": [ @@ -5198,7 +5222,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DIRECTALLOCATION_ENABLED", "DD_TRACE_INTEGRATION_DIRECTALLOCATION_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DIRECTALLOCATION_ENABLED", "DD_INTEGRATION_DIRECTALLOCATION_ENABLED"] } ], "DD_TRACE_DO_NOT_TRACE_ANNOTATION_ENABLED": [ @@ -5206,7 +5230,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED", "DD_TRACE_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED", "DD_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED"] } ], "DD_TRACE_DROPWIZARD_ENABLED": [ @@ -5214,7 +5238,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DROPWIZARD_ENABLED", "DD_TRACE_INTEGRATION_DROPWIZARD_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DROPWIZARD_ENABLED", "DD_INTEGRATION_DROPWIZARD_ENABLED"] } ], "DD_TRACE_DROPWIZARD_VIEW_ENABLED": [ @@ -5222,7 +5246,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DROPWIZARD_VIEW_ENABLED", "DD_TRACE_INTEGRATION_DROPWIZARD_VIEW_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DROPWIZARD_VIEW_ENABLED", "DD_INTEGRATION_DROPWIZARD_VIEW_ENABLED"] } ], "DD_TRACE_DYNAMODB_ENABLED": [ @@ -5230,7 +5254,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_DYNAMODB_ENABLED", "DD_TRACE_INTEGRATION_DYNAMODB_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_DYNAMODB_ENABLED", "DD_INTEGRATION_DYNAMODB_ENABLED"] } ], "DD_TRACE_ELASTICSEARCH_ANALYTICS_ENABLED": [ @@ -5326,7 +5350,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED", "DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED", "DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED"] } ], "DD_TRACE_ELASTICSEARCH_TRANSPORT_6_ENABLED": [ @@ -5334,7 +5358,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED", "DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED", "DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED"] } ], "DD_TRACE_ELASTICSEARCH_TRANSPORT_7_ENABLED": [ @@ -5342,7 +5366,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED", "DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED", "DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED"] } ], "DD_TRACE_ELASTICSEARCH_TRANSPORT_ENABLED": [ @@ -5470,7 +5494,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_FILEITEMITERATOR_ENABLED", "DD_TRACE_INTEGRATION_FILEITEMITERATOR_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_FILEITEMITERATOR_ENABLED", "DD_INTEGRATION_FILEITEMITERATOR_ENABLED"] } ], "DD_TRACE_FILEITEMSTREAM_ENABLED": [ @@ -5518,7 +5542,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_FJP_ENABLED", "DD_TRACE_INTEGRATION_FJP_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_FJP_ENABLED", "DD_INTEGRATION_FJP_ENABLED"] } ], "DD_TRACE_FJP_WORKQUEUE_ENABLED": [ @@ -5566,7 +5590,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_FREEMARKER_ENABLED", "DD_TRACE_INTEGRATION_FREEMARKER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_FREEMARKER_ENABLED", "DD_INTEGRATION_FREEMARKER_ENABLED"] } ], "DD_TRACE_GIT_METADATA_ENABLED": [ @@ -5582,7 +5606,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GLASSFISH_ENABLED", "DD_TRACE_INTEGRATION_GLASSFISH_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GLASSFISH_ENABLED", "DD_INTEGRATION_GLASSFISH_ENABLED"] } ], "DD_TRACE_GLOBAL_TAGS": [ @@ -5614,7 +5638,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED", "DD_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED"] } ], "DD_TRACE_GOOGLE_PUBSUB_ANALYTICS_ENABLED": [ @@ -5646,7 +5670,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GOOGLE_PUBSUB_ENABLED", "DD_TRACE_INTEGRATION_GOOGLE_PUBSUB_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GOOGLE_PUBSUB_ENABLED", "DD_INTEGRATION_GOOGLE_PUBSUB_ENABLED"] } ], "DD_TRACE_GOOGLE_PUBSUB_IGNORED_GRPC_METHODS": [ @@ -5710,7 +5734,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED", "DD_TRACE_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED", "DD_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED"] } ], "DD_TRACE_GRADLE_DAEMON_JVM_OPTIONS_ENABLED": [ @@ -5718,7 +5742,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED", "DD_TRACE_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED", "DD_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED"] } ], "DD_TRACE_GRADLE_PLUGIN_INJECTOR_ENABLED": [ @@ -5726,7 +5750,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED", "DD_TRACE_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED", "DD_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED"] } ], "DD_TRACE_GRAPHQL_JAVA_ANALYTICS_ENABLED": [ @@ -5750,7 +5774,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GRAPHQL_JAVA_ENABLED", "DD_TRACE_INTEGRATION_GRAPHQL_JAVA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRAPHQL_JAVA_ENABLED", "DD_INTEGRATION_GRAPHQL_JAVA_ENABLED"] } ], "DD_TRACE_GRIZZLY_ANALYTICS_ENABLED": [ @@ -5806,7 +5830,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED", "DD_TRACE_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED", "DD_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED"] } ], "DD_TRACE_GRPC_ANALYTICS_ENABLED": [ @@ -5878,7 +5902,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_GRPC_MESSAGE_ENABLED", "DD_TRACE_INTEGRATION_GRPC_MESSAGE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_GRPC_MESSAGE_ENABLED", "DD_INTEGRATION_GRPC_MESSAGE_ENABLED"] } ], "DD_TRACE_GRPC_NETTY_ENABLED": [ @@ -5929,6 +5953,14 @@ "aliases": [] } ], + "DD_TRACE_INTEGRATION_GRPC_SERVER_MATCHING_SHORTCUT_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_INTEGRATION_GRPC_SERVER_MATCHING_SHORTCUT_ENABLED"] + } + ], "DD_TRACE_GSON_ENABLED": [ { "version": "A", @@ -6054,7 +6086,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HIBERNATE_ENABLED", "DD_TRACE_INTEGRATION_HIBERNATE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HIBERNATE_ENABLED", "DD_INTEGRATION_HIBERNATE_ENABLED"] } ], "DD_TRACE_HIKARI_ENABLED": [ @@ -6062,7 +6094,7 @@ "version": "B", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_HIKARI_ENABLED", "DD_TRACE_INTEGRATION_HIKARI_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HIKARI_ENABLED", "DD_INTEGRATION_HIKARI_ENABLED"] } ], "DD_TRACE_HTTPASYNCCLIENT4_LEGACY_TRACING_ENABLED": [ @@ -6102,7 +6134,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HTTPASYNCCLIENT_ENABLED", "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HTTPASYNCCLIENT_ENABLED", "DD_INTEGRATION_HTTPASYNCCLIENT_ENABLED"] } ], "DD_TRACE_HTTPCLIENT5_ANALYTICS_ENABLED": [ @@ -6150,7 +6182,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HTTPCLIENT_ENABLED", "DD_TRACE_INTEGRATION_HTTPCLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HTTPCLIENT_ENABLED", "DD_INTEGRATION_HTTPCLIENT_ENABLED"] } ], "DD_TRACE_HTTPCLIENT_REDIRECT_ENABLED": [ @@ -6166,7 +6198,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HTTPCORE_5_ENABLED", "DD_TRACE_INTEGRATION_HTTPCORE_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HTTPCORE_5_ENABLED", "DD_INTEGRATION_HTTPCORE_5_ENABLED"] } ], "DD_TRACE_HTTPCORE_ENABLED": [ @@ -6198,7 +6230,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HTTPURLCONNECTION_ENABLED", "DD_TRACE_INTEGRATION_HTTPURLCONNECTION_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HTTPURLCONNECTION_ENABLED", "DD_INTEGRATION_HTTPURLCONNECTION_ENABLED"] } ], "DD_TRACE_HTTP_CLIENT_ERROR_STATUSES": [ @@ -6270,7 +6302,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_HYSTRIX_ENABLED", "DD_TRACE_INTEGRATION_HYSTRIX_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_HYSTRIX_ENABLED", "DD_INTEGRATION_HYSTRIX_ENABLED"] } ], "DD_TRACE_IASTINSTRUMENTATION_ENABLED": [ @@ -6286,7 +6318,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_IAST_RESULTSET_ENABLED", "DD_TRACE_INTEGRATION_IAST_RESULTSET_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_IAST_RESULTSET_ENABLED", "DD_INTEGRATION_IAST_RESULTSET_ENABLED"] } ], "DD_TRACE_IGNITE_ANALYTICS_ENABLED": [ @@ -6310,7 +6342,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_IGNITE_ENABLED", "DD_TRACE_INTEGRATION_IGNITE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_IGNITE_ENABLED", "DD_INTEGRATION_IGNITE_ENABLED"] } ], "DD_TRACE_INFERRED_PROXY_SERVICES_ENABLED": [ @@ -6326,7 +6358,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_INPUTSTREAM_ENABLED", "DD_TRACE_INTEGRATION_INPUTSTREAM_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_INPUTSTREAM_ENABLED", "DD_INTEGRATION_INPUTSTREAM_ENABLED"] } ], "DD_TRACE_INTEGRATION_DATANUCLEUS_MATCHING_SHORTCUT_ENABLED": [ @@ -6361,6 +6393,14 @@ "aliases": ["DD_INTEGRATION_HIBERNATE_MATCHING_SHORTCUT_ENABLED"] } ], + "DD_TRACE_INTEGRATION_HIBERNATE_CORE_MATCHING_SHORTCUT_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_INTEGRATION_HIBERNATE_CORE_MATCHING_SHORTCUT_ENABLED"] + } + ], "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT5_MATCHING_SHORTCUT_ENABLED": [ { "version": "A", @@ -6409,6 +6449,14 @@ "aliases": ["DD_INTEGRATION_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED"] } ], + "DD_TRACE_INTEGRATION_APACHE_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_INTEGRATION_APACHE_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED"] + } + ], "DD_TRACE_INTERNAL_EXIT_ON_FAILURE": [ { "version": "A", @@ -6422,7 +6470,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JACKSON_1_ENABLED", "DD_TRACE_INTEGRATION_JACKSON_1_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JACKSON_1_ENABLED", "DD_INTEGRATION_JACKSON_1_ENABLED"] } ], "DD_TRACE_JACKSON_2_12_ENABLED": [ @@ -6430,7 +6478,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JACKSON_2_12_ENABLED", "DD_TRACE_INTEGRATION_JACKSON_2_12_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JACKSON_2_12_ENABLED", "DD_INTEGRATION_JACKSON_2_12_ENABLED"] } ], "DD_TRACE_JACKSON_2_16_ENABLED": [ @@ -6486,7 +6534,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JACOCO_ENABLED", "DD_TRACE_INTEGRATION_JACOCO_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JACOCO_ENABLED", "DD_INTEGRATION_JACOCO_ENABLED"] } ], "DD_TRACE_JAKARTARS_ENABLED": [ @@ -6494,7 +6542,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAKARTARS_ENABLED", "DD_TRACE_INTEGRATION_JAKARTARS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAKARTARS_ENABLED", "DD_INTEGRATION_JAKARTARS_ENABLED"] } ], "DD_TRACE_JAKARTA_JMS_ENABLED": [ @@ -6502,7 +6550,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAKARTA_JMS_ENABLED", "DD_TRACE_INTEGRATION_JAKARTA_JMS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAKARTA_JMS_ENABLED", "DD_INTEGRATION_JAKARTA_JMS_ENABLED"] } ], "DD_TRACE_JAKARTA_MAIL_BODY_ENABLED": [ @@ -6526,7 +6574,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED", "DD_TRACE_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED", "DD_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED"] } ], "DD_TRACE_JAKARTA_RS_ANNOTATIONS_ENABLED": [ @@ -6534,7 +6582,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED", "DD_TRACE_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED", "DD_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED"] } ], "DD_TRACE_JAKARTA_RS_ENABLED": [ @@ -6582,7 +6630,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAKARTA_WS_ENABLED", "DD_TRACE_INTEGRATION_JAKARTA_WS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAKARTA_WS_ENABLED", "DD_INTEGRATION_JAKARTA_WS_ENABLED"] } ], "DD_TRACE_JAVAX_MAIL_BODY_ENABLED": [ @@ -6590,7 +6638,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVAX_MAIL_BODY_ENABLED", "DD_TRACE_INTEGRATION_JAVAX_MAIL_BODY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVAX_MAIL_BODY_ENABLED", "DD_INTEGRATION_JAVAX_MAIL_BODY_ENABLED"] } ], "DD_TRACE_JAVAX_MAIL_ENABLED": [ @@ -6598,7 +6646,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVAX_MAIL_ENABLED", "DD_TRACE_INTEGRATION_JAVAX_MAIL_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVAX_MAIL_ENABLED", "DD_INTEGRATION_JAVAX_MAIL_ENABLED"] } ], "DD_TRACE_JAVAX_MAIL_TRANSPORT_ENABLED": [ @@ -6614,7 +6662,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_JAVAX_WEBSOCKET_ENABLED", "DD_TRACE_INTEGRATION_JAVAX_WEBSOCKET_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVAX_WEBSOCKET_ENABLED", "DD_INTEGRATION_JAVAX_WEBSOCKET_ENABLED"] } ], "DD_TRACE_JAVA_COMPLETABLEFUTURE_ENABLED": [ @@ -6622,7 +6670,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED", "DD_TRACE_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED", "DD_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED"] } ], "DD_TRACE_JAVA_CONCURRENT_ENABLED": [ @@ -6630,7 +6678,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_CONCURRENT_ENABLED", "DD_TRACE_INTEGRATION_JAVA_CONCURRENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_CONCURRENT_ENABLED", "DD_INTEGRATION_JAVA_CONCURRENT_ENABLED"] } ], "DD_TRACE_JAVA_CONCURRENT_OTHER_ENABLED": [ @@ -6638,7 +6686,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED", "DD_TRACE_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED", "DD_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED"] } ], "DD_TRACE_JAVA_HTTP_CLIENT_ANALYTICS_ENABLED": [ @@ -6662,7 +6710,47 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED", "DD_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED"] + } + ], + "DD_TRACE_TRACE_FFM_ANALYTICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_TRACE_FFM_ANALYTICS_ENABLED"] + } + ], + "DD_TRACE_TRACE_FFM_ANALYTICS_SAMPLE_RATE": [ + { + "version": "A", + "type": "decimal", + "default": "1.0", + "aliases": ["DD_TRACE_FFM_ANALYTICS_SAMPLE_RATE"] + } + ], + "DD_TRACE_FFM_NATIVE_TRACING_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_FFM_NATIVE_TRACING_ENABLED", "DD_INTEGRATION_FFM_NATIVE_TRACING_ENABLED"] + } + ], + "DD_TRACE_JAVA_LANG_21_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_JAVA_LANG_21_ENABLED", "DD_INTEGRATION_JAVA_LANG_21_ENABLED"] + } + ], + "DD_TRACE_JAVA_LANG_22_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_JAVA_LANG_22_ENABLED", "DD_INTEGRATION_JAVA_LANG_22_ENABLED"] } ], "DD_TRACE_JAVA_LANG_APPSEC_ENABLED": [ @@ -6670,7 +6758,15 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_LANG_APPSEC_ENABLED", "DD_TRACE_INTEGRATION_JAVA_LANG_APPSEC_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_LANG_APPSEC_ENABLED", "DD_INTEGRATION_JAVA_LANG_APPSEC_ENABLED"] + } + ], + "DD_TRACE_JAVA_LANG_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_JAVA_LANG_ENABLED", "DD_INTEGRATION_JAVA_LANG_ENABLED"] } ], "DD_TRACE_JAVA_LANG_MANAGEMENT_ENABLED": [ @@ -6678,7 +6774,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED", "DD_TRACE_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED", "DD_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED"] } ], "DD_TRACE_JAVA_TIMER_ENABLED": [ @@ -6710,7 +6806,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAXRS_ENABLED", "DD_TRACE_INTEGRATION_JAXRS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAXRS_ENABLED", "DD_INTEGRATION_JAXRS_ENABLED"] } ], "DD_TRACE_JAX_RS_ADDITIONAL_ANNOTATIONS": [ @@ -6774,7 +6870,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JAX_RS_ENABLED", "DD_TRACE_INTEGRATION_JAX_RS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JAX_RS_ENABLED", "DD_INTEGRATION_JAX_RS_ENABLED"] } ], "DD_TRACE_JAX_RS_EXCEPTION_AS_ERROR_ENABLED": [ @@ -6822,7 +6918,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JBOSS_LOGMANAGER_ENABLED", "DD_TRACE_INTEGRATION_JBOSS_LOGMANAGER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JBOSS_LOGMANAGER_ENABLED", "DD_INTEGRATION_JBOSS_LOGMANAGER_ENABLED"] } ], "DD_TRACE_JBOSS_MODULES_ENABLED": [ @@ -6830,7 +6926,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JBOSS_MODULES_ENABLED", "DD_TRACE_INTEGRATION_JBOSS_MODULES_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JBOSS_MODULES_ENABLED", "DD_INTEGRATION_JBOSS_MODULES_ENABLED"] } ], "DD_TRACE_JDBC_ANALYTICS_ENABLED": [ @@ -6886,7 +6982,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JDBC_ENABLED", "DD_TRACE_INTEGRATION_JDBC_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JDBC_ENABLED", "DD_INTEGRATION_JDBC_ENABLED"] } ], "DD_TRACE_JDBC_PREPARED_STATEMENT_CLASS_NAME": [ @@ -6902,7 +6998,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JDBC_RESULTSET_ENABLED", "DD_TRACE_INTEGRATION_JDBC_RESULTSET_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JDBC_RESULTSET_ENABLED", "DD_INTEGRATION_JDBC_RESULTSET_ENABLED"] } ], "DD_TRACE_JEDIS_ANALYTICS_ENABLED": [ @@ -6926,7 +7022,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JEDIS_ENABLED", "DD_TRACE_INTEGRATION_JEDIS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JEDIS_ENABLED", "DD_INTEGRATION_JEDIS_ENABLED"] } ], "DD_TRACE_JEE_ENV_ENTRY_ENABLED": [ @@ -6982,7 +7078,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JETTY_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_JETTY_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JETTY_CLIENT_ENABLED", "DD_INTEGRATION_JETTY_CLIENT_ENABLED"] } ], "DD_TRACE_JETTY_CONCURRENT_ENABLED": [ @@ -6990,7 +7086,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JETTY_CONCURRENT_ENABLED", "DD_TRACE_INTEGRATION_JETTY_CONCURRENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JETTY_CONCURRENT_ENABLED", "DD_INTEGRATION_JETTY_CONCURRENT_ENABLED"] } ], "DD_TRACE_JETTY_ENABLED": [ @@ -7014,7 +7110,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JMS_1_ENABLED", "DD_TRACE_INTEGRATION_JMS_1_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JMS_1_ENABLED", "DD_INTEGRATION_JMS_1_ENABLED"] } ], "DD_TRACE_JMS_2_ENABLED": [ @@ -7246,7 +7342,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JOSE_JWT_ENABLED", "DD_TRACE_INTEGRATION_JOSE_JWT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JOSE_JWT_ENABLED", "DD_INTEGRATION_JOSE_JWT_ENABLED"] } ], "DD_TRACE_JSP_ANALYTICS_ENABLED": [ @@ -7270,7 +7366,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JSP_COMPILE_ENABLED", "DD_TRACE_INTEGRATION_JSP_COMPILE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JSP_COMPILE_ENABLED", "DD_INTEGRATION_JSP_COMPILE_ENABLED"] } ], "DD_TRACE_JSP_ENABLED": [ @@ -7286,7 +7382,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JSP_RENDER_ENABLED", "DD_TRACE_INTEGRATION_JSP_RENDER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JSP_RENDER_ENABLED", "DD_INTEGRATION_JSP_RENDER_ENABLED"] } ], "DD_TRACE_JUNIT4_ENABLED": [ @@ -7302,7 +7398,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JUNIT_38_ENABLED", "DD_TRACE_INTEGRATION_JUNIT_38_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JUNIT_38_ENABLED", "DD_INTEGRATION_JUNIT_38_ENABLED"] } ], "DD_TRACE_JUNIT_4_CUCUMBER_ENABLED": [ @@ -7334,7 +7430,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED", "DD_TRACE_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED", "DD_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED"] } ], "DD_TRACE_JUNIT_5_ENABLED": [ @@ -7342,7 +7438,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JUNIT_5_ENABLED", "DD_TRACE_INTEGRATION_JUNIT_5_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JUNIT_5_ENABLED", "DD_INTEGRATION_JUNIT_5_ENABLED"] } ], "DD_TRACE_JUNIT_5_SPOCK_ENABLED": [ @@ -7350,7 +7446,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_JUNIT_5_SPOCK_ENABLED", "DD_TRACE_INTEGRATION_JUNIT_5_SPOCK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_JUNIT_5_SPOCK_ENABLED", "DD_INTEGRATION_JUNIT_5_SPOCK_ENABLED"] } ], "DD_TRACE_JWT_ENABLED": [ @@ -7366,7 +7462,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_KAFKA_0_11_ENABLED", "DD_TRACE_INTEGRATION_KAFKA_0_11_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_KAFKA_0_11_ENABLED", "DD_INTEGRATION_KAFKA_0_11_ENABLED"] } ], "DD_TRACE_KAFKA_3_8_ENABLED": [ @@ -7374,7 +7470,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_KAFKA_3_8_ENABLED", "DD_TRACE_INTEGRATION_KAFKA_3_8_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_KAFKA_3_8_ENABLED", "DD_INTEGRATION_KAFKA_3_8_ENABLED"] } ], "DD_TRACE_KAFKA_ANALYTICS_ENABLED": [ @@ -7422,7 +7518,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_KAFKA_ENABLED", "DD_TRACE_INTEGRATION_KAFKA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_KAFKA_ENABLED", "DD_INTEGRATION_KAFKA_ENABLED"] } ], "DD_TRACE_KAFKA_LEGACY_TRACING_ENABLED": [ @@ -7566,7 +7662,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LETTUCE_ENABLED", "DD_TRACE_INTEGRATION_LETTUCE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LETTUCE_ENABLED", "DD_INTEGRATION_LETTUCE_ENABLED"] } ], "DD_TRACE_LIBERTY_ANALYTICS_ENABLED": [ @@ -7590,7 +7686,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED", "DD_TRACE_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED", "DD_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED"] } ], "DD_TRACE_LIBERTY_ENABLED": [ @@ -7606,7 +7702,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LOG4J_1_ENABLED", "DD_TRACE_INTEGRATION_LOG4J_1_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LOG4J_1_ENABLED", "DD_INTEGRATION_LOG4J_1_ENABLED"] } ], "DD_TRACE_LOG4J_2_ENABLED": [ @@ -7622,7 +7718,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LOG4J_ENABLED", "DD_TRACE_INTEGRATION_LOG4J_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LOG4J_ENABLED", "DD_INTEGRATION_LOG4J_ENABLED"] } ], "DD_TRACE_LOGBACK_ENABLED": [ @@ -7630,7 +7726,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LOGBACK_ENABLED", "DD_TRACE_INTEGRATION_LOGBACK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LOGBACK_ENABLED", "DD_INTEGRATION_LOGBACK_ENABLED"] } ], "DD_TRACE_LOGS_INTAKE_ENABLED": [ @@ -7638,7 +7734,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_LOGS_INTAKE_ENABLED", "DD_TRACE_INTEGRATION_LOGS_INTAKE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_LOGS_INTAKE_ENABLED", "DD_INTEGRATION_LOGS_INTAKE_ENABLED"] } ], "DD_TRACE_LOGS_INTAKE_LOG4J_2_ENABLED": [ @@ -7694,7 +7790,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MICRONAUT_ENABLED", "DD_TRACE_INTEGRATION_MICRONAUT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MICRONAUT_ENABLED", "DD_INTEGRATION_MICRONAUT_ENABLED"] } ], "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED": [ @@ -7702,7 +7798,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED", "DD_TRACE_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED", "DD_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED"] } ], "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_3_ENABLED": [ @@ -7734,7 +7830,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED", "DD_TRACE_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED", "DD_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED"] } ], "DD_TRACE_MMAP_ENABLED": [ @@ -7742,7 +7838,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MMAP_ENABLED", "DD_TRACE_INTEGRATION_MMAP_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MMAP_ENABLED", "DD_INTEGRATION_MMAP_ENABLED"] } ], "DD_TRACE_MONGO_3_1_ENABLED": [ @@ -7750,7 +7846,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MONGO_3_1_ENABLED", "DD_TRACE_INTEGRATION_MONGO_3_1_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MONGO_3_1_ENABLED", "DD_INTEGRATION_MONGO_3_1_ENABLED"] } ], "DD_TRACE_MONGO_3_4_ENABLED": [ @@ -7758,7 +7854,23 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MONGO_3_4_ENABLED", "DD_TRACE_INTEGRATION_MONGO_3_4_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MONGO_3_4_ENABLED", "DD_INTEGRATION_MONGO_3_4_ENABLED"] + } + ], + "DD_TRACE_MONGO_3_6_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_MONGO_3_6_ENABLED", "DD_INTEGRATION_MONGO_3_6_ENABLED"] + } + ], + "DD_TRACE_MONGO_3_8_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_MONGO_3_8_ENABLED", "DD_INTEGRATION_MONGO_3_8_ENABLED"] } ], "DD_TRACE_MONGO_ANALYTICS_ENABLED": [ @@ -7782,7 +7894,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MONGO_ENABLED", "DD_TRACE_INTEGRATION_MONGO_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MONGO_ENABLED", "DD_INTEGRATION_MONGO_ENABLED"] } ], "DD_TRACE_MONGO_REACTIVESTREAMS_ENABLED": [ @@ -7790,7 +7902,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED", "DD_TRACE_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED", "DD_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED"] } ], "DD_TRACE_MULE_ANALYTICS_ENABLED": [ @@ -7814,7 +7926,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_MULE_ENABLED", "DD_TRACE_INTEGRATION_MULE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MULE_ENABLED", "DD_INTEGRATION_MULE_ENABLED"] } ], "DD_TRACE_MULE_JPMS_ENABLED": [ @@ -7830,7 +7942,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_MULTIPART_ENABLED", "DD_TRACE_INTEGRATION_MULTIPART_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_MULTIPART_ENABLED", "DD_INTEGRATION_MULTIPART_ENABLED"] } ], "DD_TRACE_NATIVE_IMAGE_ENABLED": [ @@ -7838,7 +7950,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_NATIVE_IMAGE_ENABLED", "DD_TRACE_INTEGRATION_NATIVE_IMAGE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NATIVE_IMAGE_ENABLED", "DD_INTEGRATION_NATIVE_IMAGE_ENABLED"] } ], "DD_TRACE_NETTY_3_8_ENABLED": [ @@ -7886,7 +7998,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_NETTY_4_0_ENABLED", "DD_TRACE_INTEGRATION_NETTY_4_0_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NETTY_4_0_ENABLED", "DD_INTEGRATION_NETTY_4_0_ENABLED"] } ], "DD_TRACE_NETTY_4_1_ENABLED": [ @@ -7902,7 +8014,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_NETTY_4_1_HTTP2_ENABLED", "DD_TRACE_INTEGRATION_NETTY_4_1_HTTP2_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NETTY_4_1_HTTP2_ENABLED", "DD_INTEGRATION_NETTY_4_1_HTTP2_ENABLED"] } ], "DD_TRACE_NETTY_ANALYTICS_ENABLED": [ @@ -7934,7 +8046,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_NETTY_ENABLED", "DD_TRACE_INTEGRATION_NETTY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NETTY_ENABLED", "DD_INTEGRATION_NETTY_ENABLED"] } ], "DD_TRACE_NETTY_EVENT_EXECUTOR_ENABLED": [ @@ -7942,7 +8054,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED", "DD_TRACE_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED", "DD_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED"] } ], "DD_TRACE_NETTY_PROMISE_ENABLED": [ @@ -7982,7 +8094,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_NING_ENABLED", "DD_TRACE_INTEGRATION_NING_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_NING_ENABLED", "DD_INTEGRATION_NING_ENABLED"] } ], "DD_TRACE_NOT_NOT_TRACE_ENABLED": [ @@ -8006,7 +8118,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_OGNL_ENABLED", "DD_TRACE_INTEGRATION_OGNL_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_OGNL_ENABLED", "DD_INTEGRATION_OGNL_ENABLED"] } ], "DD_TRACE_OKHTTP_2_ANALYTICS_ENABLED": [ @@ -8081,6 +8193,30 @@ "aliases": ["DD_TRACE_INTEGRATION_OKHTTP_ENABLED", "DD_INTEGRATION_OKHTTP_ENABLED"] } ], + "DD_TRACE_OPENAI_JAVA_ANALYTICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_OPENAI_JAVA_ANALYTICS_ENABLED"] + } + ], + "DD_TRACE_OPENAI_JAVA_ANALYTICS_SAMPLE_RATE": [ + { + "version": "A", + "type": "decimal", + "default": "1.0", + "aliases": ["DD_OPENAI_JAVA_ANALYTICS_SAMPLE_RATE"] + } + ], + "DD_TRACE_OPENAI_JAVA_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_OPENAI_JAVA_ENABLED", "DD_INTEGRATION_OPENAI_JAVA_ENABLED"] + } + ], "DD_TRACE_OPENSEARCH_ANALYTICS_ENABLED": [ { "version": "A", @@ -8118,7 +8254,15 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED", "DD_TRACE_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED", "DD_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED"] + } + ], + "DD_TRACE_OPENTELEMETRY_1_47_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_1_47_ENABLED", "DD_INTEGRATION_OPENTELEMETRY_1_47_ENABLED"] } ], "DD_TRACE_OPENTELEMETRY_1_ENABLED": [ @@ -8134,7 +8278,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED", "DD_TRACE_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED", "DD_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED"] } ], "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_26_ENABLED": [ @@ -8198,7 +8342,23 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED", "DD_TRACE_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED", "DD_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED"] + } + ], + "DD_TRACE_OPENTELEMETRY_METRICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_METRICS_ENABLED", "DD_INTEGRATION_OPENTELEMETRY_METRICS_ENABLED"] + } + ], + "DD_TRACE_INTEGRATION_OPENTELEMETRY_METRICS_MATCHING_SHORTCUT_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_INTEGRATION_OPENTELEMETRY_METRICS_MATCHING_SHORTCUT_ENABLED"] } ], "DD_TRACE_OPENTRACING_ENABLED": [ @@ -8214,7 +8374,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED", "DD_TRACE_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED", "DD_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED"] } ], "DD_TRACE_ORG_JSON_ENABLED": [ @@ -8222,7 +8382,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_ORG_JSON_ENABLED", "DD_TRACE_INTEGRATION_ORG_JSON_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ORG_JSON_ENABLED", "DD_INTEGRATION_ORG_JSON_ENABLED"] } ], "DD_TRACE_OSGI_ENABLED": [ @@ -8342,7 +8502,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_PEKKO_CONCURRENT_ENABLED", "DD_TRACE_INTEGRATION_PEKKO_CONCURRENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_PEKKO_CONCURRENT_ENABLED", "DD_INTEGRATION_PEKKO_CONCURRENT_ENABLED"] } ], "DD_TRACE_PEKKO_HTTP2_ENABLED": [ @@ -8422,7 +8582,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED", "DD_TRACE_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED", "DD_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED"] } ], "DD_TRACE_PEKKO_SCHEDULER_ENABLED": [ @@ -8430,7 +8590,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": [] + "aliases": ["DD_TRACE_INTEGRATION_PEKKO_SCHEDULER_ENABLED", "DD_INTEGRATION_PEKKO_SCHEDULER_ENABLED"] } ], "DD_TRACE_PERF_METRICS_ENABLED": [ @@ -8718,7 +8878,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RATPACK_ENABLED", "DD_TRACE_INTEGRATION_RATPACK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RATPACK_ENABLED", "DD_INTEGRATION_RATPACK_ENABLED"] } ], "DD_TRACE_RATPACK_REQUEST_BODY_ENABLED": [ @@ -8726,7 +8886,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED", "DD_TRACE_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED", "DD_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED"] } ], "DD_TRACE_REACTIVE_STREAMS_1_ENABLED": [ @@ -8750,7 +8910,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_REACTOR_CORE_ENABLED", "DD_TRACE_INTEGRATION_REACTOR_CORE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_REACTOR_CORE_ENABLED", "DD_INTEGRATION_REACTOR_CORE_ENABLED"] } ], "DD_TRACE_REACTOR_NETTY_1_ENABLED": [ @@ -8766,7 +8926,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_REACTOR_NETTY_ENABLED", "DD_TRACE_INTEGRATION_REACTOR_NETTY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_REACTOR_NETTY_ENABLED", "DD_INTEGRATION_REACTOR_NETTY_ENABLED"] } ], "DD_TRACE_REDISCALA_ANALYTICS_ENABLED": [ @@ -8822,7 +8982,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_REDISSON_ENABLED", "DD_TRACE_INTEGRATION_REDISSON_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_REDISSON_ENABLED", "DD_INTEGRATION_REDISSON_ENABLED"] } ], "DD_TRACE_REDIS_ANALYTICS_ENABLED": [ @@ -8854,7 +9014,15 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED", "DD_TRACE_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED", "DD_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED"] + } + ], + "DD_TRACE_INTEGRATION_REJECTED_EXECUTION_HANDLER_MATCHING_SHORTCUT_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_INTEGRATION_REJECTED_EXECUTION_HANDLER_MATCHING_SHORTCUT_ENABLED"] } ], "DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED": [ @@ -8870,7 +9038,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_RENAISSANCE_ENABLED", "DD_TRACE_INTEGRATION_RENAISSANCE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RENAISSANCE_ENABLED", "DD_INTEGRATION_RENAISSANCE_ENABLED"] } ], "DD_TRACE_REPORT_HOSTNAME": [ @@ -8897,6 +9065,22 @@ "aliases": [] } ], + "DD_TRACE_RESILIENCE4J_ANALYTICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_RESILIENCE4J_ANALYTICS_ENABLED"] + } + ], + "DD_TRACE_RESILIENCE4J_ANALYTICS_SAMPLE_RATE": [ + { + "version": "A", + "type": "decimal", + "default": "1.0", + "aliases": ["DD_RESILIENCE4J_ANALYTICS_SAMPLE_RATE"] + } + ], "DD_TRACE_RESILIENCE4J_ENABLED": [ { "version": "A", @@ -8905,6 +9089,22 @@ "aliases": ["DD_TRACE_INTEGRATION_RESILIENCE4J_ENABLED", "DD_INTEGRATION_RESILIENCE4J_ENABLED"] } ], + "DD_TRACE_RESILIENCE4J_RETRY_ANALYTICS_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_RESILIENCE4J_RETRY_ANALYTICS_ENABLED"] + } + ], + "DD_TRACE_RESILIENCE4J_RETRY_ANALYTICS_SAMPLE_RATE": [ + { + "version": "A", + "type": "decimal", + "default": "1.0", + "aliases": ["DD_RESILIENCE4J_RETRY_ANALYTICS_SAMPLE_RATE"] + } + ], "DD_TRACE_RESILIENCE4J_REACTOR_ENABLED": [ { "version": "A", @@ -8950,7 +9150,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RESPONSE_ENABLED", "DD_TRACE_INTEGRATION_RESPONSE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RESPONSE_ENABLED", "DD_INTEGRATION_RESPONSE_ENABLED"] } ], "DD_TRACE_RESPONSE_HEADER_TAGS": [ @@ -9014,7 +9214,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED", "DD_TRACE_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED", "DD_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED"] } ], "DD_TRACE_RMI_ANALYTICS_ENABLED": [ @@ -9054,7 +9254,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED", "DD_TRACE_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED", "DD_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED"] } ], "DD_TRACE_RMI_CLIENT_ENABLED": [ @@ -9062,7 +9262,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RMI_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_RMI_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RMI_CLIENT_ENABLED", "DD_INTEGRATION_RMI_CLIENT_ENABLED"] } ], "DD_TRACE_RMI_CONTEXT_PROPAGATOR_ENABLED": [ @@ -9078,7 +9278,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RMI_ENABLED", "DD_TRACE_INTEGRATION_RMI_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RMI_ENABLED", "DD_INTEGRATION_RMI_ENABLED"] } ], "DD_TRACE_RMI_SERVER_ANALYTICS_ENABLED": [ @@ -9110,7 +9310,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RMI_SERVER_ENABLED", "DD_TRACE_INTEGRATION_RMI_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RMI_SERVER_ENABLED", "DD_INTEGRATION_RMI_SERVER_ENABLED"] } ], "DD_TRACE_RUNNABLE_ENABLED": [ @@ -9142,7 +9342,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_RXJAVA_ENABLED", "DD_TRACE_INTEGRATION_RXJAVA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_RXJAVA_ENABLED", "DD_INTEGRATION_RXJAVA_ENABLED"] } ], "DD_TRACE_S3_ENABLED": [ @@ -9198,7 +9398,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SCALATEST_ENABLED", "DD_TRACE_INTEGRATION_SCALATEST_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SCALATEST_ENABLED", "DD_INTEGRATION_SCALATEST_ENABLED"] } ], "DD_TRACE_SCALA_CONCURRENT_ENABLED": [ @@ -9214,7 +9414,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED", "DD_TRACE_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED", "DD_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED"] } ], "DD_TRACE_SCALA_PROMISE_COMPLETE_ENABLED": [ @@ -9222,7 +9422,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED", "DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED", "DD_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED"] } ], "DD_TRACE_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED": [ @@ -9230,7 +9430,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED", "DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED", "DD_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED"] } ], "DD_TRACE_SCALA_PROMISE_RESOLVE_ENABLED": [ @@ -9238,7 +9438,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED", "DD_TRACE_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED", "DD_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED"] } ], "DD_TRACE_SCOPE_DEPTH_LIMIT": [ @@ -9318,7 +9518,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED", "DD_TRACE_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED", "DD_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED"] } ], "DD_TRACE_SERVICETALK_ENABLED": [ @@ -9326,7 +9526,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVICETALK_ENABLED", "DD_TRACE_INTEGRATION_SERVICETALK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVICETALK_ENABLED", "DD_INTEGRATION_SERVICETALK_ENABLED"] } ], "DD_TRACE_SERVLETCONTEXTTAGINTERCEPTOR_ENABLED": [ @@ -9382,7 +9582,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_3_ASYNC_CONTEXT_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_3_ASYNC_CONTEXT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_3_ASYNC_CONTEXT_ENABLED", "DD_INTEGRATION_SERVLET_3_ASYNC_CONTEXT_ENABLED"] } ], "DD_TRACE_SERVLET_3_ENABLED": [ @@ -9390,7 +9590,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_3_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_3_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_3_ENABLED", "DD_INTEGRATION_SERVLET_3_ENABLED"] } ], "DD_TRACE_SERVLET_5_ASYNC_CONTEXT_ENABLED": [ @@ -9398,7 +9598,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_5_ASYNC_CONTEXT_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_5_ASYNC_CONTEXT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_5_ASYNC_CONTEXT_ENABLED", "DD_INTEGRATION_SERVLET_5_ASYNC_CONTEXT_ENABLED"] } ], "DD_TRACE_SERVLET_5_ENABLED": [ @@ -9462,7 +9662,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_DISPATCHER_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_DISPATCHER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_DISPATCHER_ENABLED", "DD_INTEGRATION_SERVLET_DISPATCHER_ENABLED"] } ], "DD_TRACE_SERVLET_ENABLED": [ @@ -9518,7 +9718,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_REQUEST_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_REQUEST_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_REQUEST_ENABLED", "DD_INTEGRATION_SERVLET_REQUEST_ENABLED"] } ], "DD_TRACE_SERVLET_RESPONSE_ANALYTICS_ENABLED": [ @@ -9582,7 +9782,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SERVLET_SESSION_ENABLED", "DD_TRACE_INTEGRATION_SERVLET_SESSION_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SERVLET_SESSION_ENABLED", "DD_INTEGRATION_SERVLET_SESSION_ENABLED"] } ], "DD_TRACE_SETUP_TEARDOWN_ENABLED": [ @@ -9590,7 +9790,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SETUP_TEARDOWN_ENABLED", "DD_TRACE_INTEGRATION_SETUP_TEARDOWN_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SETUP_TEARDOWN_ENABLED", "DD_INTEGRATION_SETUP_TEARDOWN_ENABLED"] } ], "DD_TRACE_SFN_ENABLED": [ @@ -9598,7 +9798,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SFN_ENABLED", "DD_TRACE_INTEGRATION_SFN_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SFN_ENABLED", "DD_INTEGRATION_SFN_ENABLED"] } ], "DD_TRACE_SFN_INJECT_DATADOG_ATTRIBUTE_ENABLED": [ @@ -9622,7 +9822,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SLICK_ENABLED", "DD_TRACE_INTEGRATION_SLICK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SLICK_ENABLED", "DD_INTEGRATION_SLICK_ENABLED"] } ], "DD_TRACE_SNAKEYAML_ENABLED": [ @@ -9638,7 +9838,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SNS_ENABLED", "DD_TRACE_INTEGRATION_SNS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SNS_ENABLED", "DD_INTEGRATION_SNS_ENABLED"] } ], "DD_TRACE_SNS_INJECT_DATADOG_ATTRIBUTE_ENABLED": [ @@ -9654,7 +9854,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SOCKET_ENABLED", "DD_TRACE_INTEGRATION_SOCKET_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SOCKET_ENABLED", "DD_INTEGRATION_SOCKET_ENABLED"] } ], "DD_TRACE_SPAN_ATTRIBUTE_SCHEMA": [ @@ -9678,7 +9878,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_SPARKJAVA_2_4_ENABLED", "DD_TRACE_INTEGRATION_SPARKJAVA_2_4_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPARKJAVA_2_4_ENABLED", "DD_INTEGRATION_SPARKJAVA_2_4_ENABLED"] } ], "DD_TRACE_SPARKJAVA_ENABLED": [ @@ -9686,7 +9886,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_SPARKJAVA_ENABLED", "DD_TRACE_INTEGRATION_SPARKJAVA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPARKJAVA_ENABLED", "DD_INTEGRATION_SPARKJAVA_ENABLED"] } ], "DD_TRACE_SPARK_ENABLED": [ @@ -9697,6 +9897,14 @@ "aliases": ["DD_TRACE_INTEGRATION_SPARK_ENABLED", "DD_INTEGRATION_SPARK_ENABLED"] } ], + "DD_TRACE_SPARK_LAUNCHER_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "false", + "aliases": ["DD_TRACE_INTEGRATION_SPARK_LAUNCHER_ENABLED", "DD_INTEGRATION_SPARK_LAUNCHER_ENABLED"] + } + ], "DD_TRACE_SPARK_EXECUTOR_ANALYTICS_ENABLED": [ { "version": "A", @@ -9726,7 +9934,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_SPARK_EXIT_ENABLED", "DD_TRACE_INTEGRATION_SPARK_EXIT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPARK_EXIT_ENABLED", "DD_INTEGRATION_SPARK_EXIT_ENABLED"] } ], "DD_TRACE_SPARK_OPENLINEAGE_ENABLED": [ @@ -9734,7 +9942,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_SPARK_OPENLINEAGE_ENABLED", "DD_TRACE_INTEGRATION_SPARK_OPENLINEAGE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPARK_OPENLINEAGE_ENABLED", "DD_INTEGRATION_SPARK_OPENLINEAGE_ENABLED"] } ], "DD_TRACE_SPLIT_BY_TAGS": [ @@ -9774,7 +9982,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED", "DD_TRACE_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED", "DD_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED"] } ], "DD_TRACE_SPRING_ASYNC_ENABLED": [ @@ -9790,7 +9998,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_BEANS_ENABLED", "DD_TRACE_INTEGRATION_SPRING_BEANS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_BEANS_ENABLED", "DD_INTEGRATION_SPRING_BEANS_ENABLED"] } ], "DD_TRACE_SPRING_BOOT_ENABLED": [ @@ -9798,7 +10006,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_BOOT_ENABLED", "DD_TRACE_INTEGRATION_SPRING_BOOT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_BOOT_ENABLED", "DD_INTEGRATION_SPRING_BOOT_ENABLED"] } ], "DD_TRACE_SPRING_BOOT_SPAN_ORIGIN_ENABLED": [ @@ -9846,7 +10054,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_DATA_ENABLED", "DD_TRACE_INTEGRATION_SPRING_DATA_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_DATA_ENABLED", "DD_INTEGRATION_SPRING_DATA_ENABLED"] } ], "DD_TRACE_SPRING_JMS_ENABLED": [ @@ -9854,7 +10062,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_JMS_ENABLED", "DD_TRACE_INTEGRATION_SPRING_JMS_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_JMS_ENABLED", "DD_INTEGRATION_SPRING_JMS_ENABLED"] } ], "DD_TRACE_SPRING_MESSAGING_4_ENABLED": [ @@ -9862,7 +10070,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_MESSAGING_4_ENABLED", "DD_TRACE_INTEGRATION_SPRING_MESSAGING_4_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_MESSAGING_4_ENABLED", "DD_INTEGRATION_SPRING_MESSAGING_4_ENABLED"] } ], "DD_TRACE_SPRING_MESSAGING_ANALYTICS_ENABLED": [ @@ -9894,7 +10102,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_MESSAGING_ENABLED", "DD_TRACE_INTEGRATION_SPRING_MESSAGING_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_MESSAGING_ENABLED", "DD_INTEGRATION_SPRING_MESSAGING_ENABLED"] } ], "DD_TRACE_SPRING_PATH_FILTER_ENABLED": [ @@ -9910,7 +10118,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_RABBIT_ENABLED", "DD_TRACE_INTEGRATION_SPRING_RABBIT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_RABBIT_ENABLED", "DD_INTEGRATION_SPRING_RABBIT_ENABLED"] } ], "DD_TRACE_SPRING_SCHEDULING_ANALYTICS_ENABLED": [ @@ -9950,7 +10158,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_SECURITY_ENABLED", "DD_TRACE_INTEGRATION_SPRING_SECURITY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_SECURITY_ENABLED", "DD_INTEGRATION_SPRING_SECURITY_ENABLED"] } ], "DD_TRACE_SPRING_WEBFLUX_ANALYTICS_ENABLED": [ @@ -9990,7 +10198,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED", "DD_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED"] } ], "DD_TRACE_SPRING_WEBFLUX_ENABLED": [ @@ -9998,7 +10206,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_WEBFLUX_ENABLED", "DD_TRACE_INTEGRATION_SPRING_WEBFLUX_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_ENABLED", "DD_INTEGRATION_SPRING_WEBFLUX_ENABLED"] } ], "DD_TRACE_SPRING_WEBFLUX_FUNCTIONAL_ENABLED": [ @@ -10006,7 +10214,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED", "DD_TRACE_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED", "DD_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED"] } ], "DD_TRACE_SPRING_WEB_ANALYTICS_ENABLED": [ @@ -10030,7 +10238,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED", "DD_TRACE_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED", "DD_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED"] } ], "DD_TRACE_SPRING_WEB_ENABLED": [ @@ -10046,7 +10254,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPRING_WS_2_ENABLED", "DD_TRACE_INTEGRATION_SPRING_WS_2_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPRING_WS_2_ENABLED", "DD_INTEGRATION_SPRING_WS_2_ENABLED"] } ], "DD_TRACE_SPRING_WS_ENABLED": [ @@ -10078,7 +10286,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SPYMEMCACHED_ENABLED", "DD_TRACE_INTEGRATION_SPYMEMCACHED_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SPYMEMCACHED_ENABLED", "DD_INTEGRATION_SPYMEMCACHED_ENABLED"] } ], "DD_TRACE_SQS_BODY_PROPAGATION_ENABLED": [ @@ -10198,7 +10406,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED", "DD_TRACE_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED", "DD_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED"] } ], "DD_TRACE_SUREFIRE_ENABLED": [ @@ -10230,7 +10438,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SYNAPSE3_CLIENT_ENABLED", "DD_TRACE_INTEGRATION_SYNAPSE3_CLIENT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SYNAPSE3_CLIENT_ENABLED", "DD_INTEGRATION_SYNAPSE3_CLIENT_ENABLED"] } ], "DD_TRACE_SYNAPSE3_ENABLED": [ @@ -10238,7 +10446,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_SYNAPSE3_ENABLED", "DD_TRACE_INTEGRATION_SYNAPSE3_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_SYNAPSE3_ENABLED", "DD_INTEGRATION_SYNAPSE3_ENABLED"] } ], "DD_TRACE_SYNAPSE3_SERVER_ENABLED": [ @@ -10278,7 +10486,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TESTNG_6_ENABLED", "DD_TRACE_INTEGRATION_TESTNG_6_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TESTNG_6_ENABLED", "DD_INTEGRATION_TESTNG_6_ENABLED"] } ], "DD_TRACE_TESTNG_7_ENABLED": [ @@ -10310,7 +10518,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TEST_ORDER_ENABLED", "DD_TRACE_INTEGRATION_TEST_ORDER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TEST_ORDER_ENABLED", "DD_INTEGRATION_TEST_ORDER_ENABLED"] } ], "DD_TRACE_TEST_RETRY_ENABLED": [ @@ -10318,7 +10526,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TEST_RETRY_ENABLED", "DD_TRACE_INTEGRATION_TEST_RETRY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TEST_RETRY_ENABLED", "DD_INTEGRATION_TEST_RETRY_ENABLED"] } ], "DD_TRACE_THREAD_POOL_EXECUTORS_EXCLUDE": [ @@ -10374,7 +10582,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TIBCO_BW_ENABLED", "DD_TRACE_INTEGRATION_TIBCO_BW_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TIBCO_BW_ENABLED", "DD_INTEGRATION_TIBCO_BW_ENABLED"] } ], "DD_TRACE_TIBCO_ENABLED": [ @@ -10382,7 +10590,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TIBCO_ENABLED", "DD_TRACE_INTEGRATION_TIBCO_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TIBCO_ENABLED", "DD_INTEGRATION_TIBCO_ENABLED"] } ], "DD_TRACE_TINYLOG_ENABLED": [ @@ -10390,7 +10598,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TINYLOG_ENABLED", "DD_TRACE_INTEGRATION_TINYLOG_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TINYLOG_ENABLED", "DD_INTEGRATION_TINYLOG_ENABLED"] } ], "DD_TRACE_TOMCAT_ANALYTICS_ENABLED": [ @@ -10422,7 +10630,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TOMCAT_ENABLED", "DD_TRACE_INTEGRATION_TOMCAT_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TOMCAT_ENABLED", "DD_INTEGRATION_TOMCAT_ENABLED"] } ], "DD_TRACE_TOMCAT_WEBSOCKET_ENABLED": [ @@ -10526,7 +10734,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TRACE_ENABLED", "DD_TRACE_INTEGRATION_TRACE_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TRACE_ENABLED", "DD_INTEGRATION_TRACE_ENABLED"] } ], "DD_TRACE_TRIAGE": [ @@ -10558,7 +10766,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_TWILIO_SDK_ENABLED", "DD_TRACE_INTEGRATION_TWILIO_SDK_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_TWILIO_SDK_ENABLED", "DD_INTEGRATION_TWILIO_SDK_ENABLED"] } ], "DD_TRACE_UNDERTOW_2_0_ENABLED": [ @@ -10566,7 +10774,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_UNDERTOW_2_0_ENABLED", "DD_TRACE_INTEGRATION_UNDERTOW_2_0_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_UNDERTOW_2_0_ENABLED", "DD_INTEGRATION_UNDERTOW_2_0_ENABLED"] } ], "DD_TRACE_UNDERTOW_2_2_ENABLED": [ @@ -10574,7 +10782,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_UNDERTOW_2_2_ENABLED", "DD_TRACE_INTEGRATION_UNDERTOW_2_2_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_UNDERTOW_2_2_ENABLED", "DD_INTEGRATION_UNDERTOW_2_2_ENABLED"] } ], "DD_TRACE_UNDERTOW_ENABLED": [ @@ -10686,7 +10894,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_VALKEY_ENABLED", "DD_TRACE_INTEGRATION_VALKEY_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_VALKEY_ENABLED", "DD_INTEGRATION_VALKEY_ENABLED"] } ], "DD_TRACE_VELOCITY_ENABLED": [ @@ -10702,7 +10910,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_VERTX_3_4_ENABLED", "DD_TRACE_INTEGRATION_VERTX_3_4_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_VERTX_3_4_ENABLED", "DD_INTEGRATION_VERTX_3_4_ENABLED"] } ], "DD_TRACE_VERTX_3_5_ENABLED": [ @@ -10726,7 +10934,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_VERTX_4_0_ENABLED", "DD_TRACE_INTEGRATION_VERTX_4_0_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_VERTX_4_0_ENABLED", "DD_INTEGRATION_VERTX_4_0_ENABLED"] } ], "DD_TRACE_VERTX_5_0_ENABLED": [ @@ -10734,7 +10942,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_VERTX_5_0_ENABLED", "DD_TRACE_INTEGRATION_VERTX_5_0_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_VERTX_5_0_ENABLED", "DD_INTEGRATION_VERTX_5_0_ENABLED"] } ], "DD_TRACE_VERTX_ANALYTICS_ENABLED": [ @@ -10758,7 +10966,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_VERTX_ENABLED", "DD_TRACE_INTEGRATION_VERTX_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_VERTX_ENABLED", "DD_INTEGRATION_VERTX_ENABLED"] } ], "DD_TRACE_VERTX_REDIS_CLIENT_ANALYTICS_ENABLED": [ @@ -10825,6 +11033,14 @@ "aliases": ["DD_TRACE_INTEGRATION_VERTX_SQL_CLIENT_ENABLED", "DD_INTEGRATION_VERTX_SQL_CLIENT_ENABLED"] } ], + "DD_TRACE_VIRTUAL_THREAD_ENABLED": [ + { + "version": "A", + "type": "boolean", + "default": "true", + "aliases": ["DD_TRACE_INTEGRATION_VIRTUAL_THREAD_ENABLED", "DD_INTEGRATION_VIRTUAL_THREAD_ENABLED"] + } + ], "DD_TRACE_WALLCLOCK_ENABLED": [ { "version": "A", @@ -10838,7 +11054,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_WEAVER_ENABLED", "DD_TRACE_INTEGRATION_WEAVER_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_WEAVER_ENABLED", "DD_INTEGRATION_WEAVER_ENABLED"] } ], "DD_TRACE_WEBSOCKET_ANALYTICS_ENABLED": [ @@ -10862,7 +11078,7 @@ "version": "B", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_WEBSOCKET_ENABLED", "DD_TRACE_INTEGRATION_WEBSOCKET_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_WEBSOCKET_ENABLED", "DD_INTEGRATION_WEBSOCKET_ENABLED"] } ], "DD_TRACE_WEBSOCKET_MESSAGES_ENABLED": [ @@ -10902,7 +11118,7 @@ "version": "A", "type": "boolean", "default": "true", - "aliases": ["DD_INTEGRATION_WEBSPHERE_JMX_ENABLED", "DD_TRACE_INTEGRATION_WEBSPHERE_JMX_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_WEBSPHERE_JMX_ENABLED", "DD_INTEGRATION_WEBSPHERE_JMX_ENABLED"] } ], "DD_TRACE_WILDFLY_ENABLED": [ @@ -10926,7 +11142,7 @@ "version": "A", "type": "boolean", "default": "false", - "aliases": ["DD_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED", "DD_TRACE_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED"] + "aliases": ["DD_TRACE_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED", "DD_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED"] } ], "DD_TRIAGE_REPORT_DIR": [ diff --git a/utils/config-utils/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java b/utils/config-utils/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java index 35093ca9724..7b193304480 100644 --- a/utils/config-utils/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java +++ b/utils/config-utils/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java @@ -318,9 +318,12 @@ private String getDatadogProperty(String sysProp) { *

Checks system properties and environment variables. */ private static String getProperty(String sysProp) { - String value = SystemProperties.get(sysProp); - if (null == value) { - value = ConfigHelper.env(toEnvVar(sysProp)); + // Always validate through ConfigHelper so STRICT_TEST mode can detect unsupported configs + String value = ConfigHelper.env(toEnvVar(sysProp)); + // System property takes precedence over environment variable + String sysPropValue = SystemProperties.get(sysProp); + if (sysPropValue != null) { + value = sysPropValue; } return value; } diff --git a/utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java b/utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java index 59c183a4700..e58c71fa664 100644 --- a/utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java +++ b/utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java @@ -2,11 +2,14 @@ import datadog.environment.EnvironmentVariables; import datadog.trace.api.telemetry.ConfigInversionMetricCollectorProvider; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,7 +18,7 @@ private ConfigHelper() {} /** Config Inversion strictness policy for enforcement of undocumented environment variables */ public enum StrictnessPolicy { - STRICT, + STRICT_TEST, WARNING, TEST; @@ -49,6 +52,9 @@ public String toString() { // Default to production source private SupportedConfigurationSource configSource = new SupportedConfigurationSource(); + // Collects unsupported config keys encountered in STRICT_TEST mode + private final Set unsupportedConfigs = ConcurrentHashMap.newKeySet(); + public static ConfigHelper get() { return INSTANCE; } @@ -75,9 +81,18 @@ void resetCache() { void resetToDefaults() { configSource = new SupportedConfigurationSource(); this.configInversionStrict = StrictnessPolicy.WARNING; + unsupportedConfigs.clear(); resetCache(); } + /** Returns and clears the set of unsupported config keys encountered in STRICT_TEST mode. */ + public List drainUnsupportedConfigs() { + List result = new ArrayList<>(unsupportedConfigs); + unsupportedConfigs.clear(); + Collections.sort(result); + return result; + } + public static Map env() { return get().getEnvironmentVariables(); } @@ -142,8 +157,13 @@ public String getEnvironmentVariable(String name) { ConfigInversionMetricCollectorProvider.get().setUndocumentedEnvVarMetric(name); } - if (configInversionStrict == StrictnessPolicy.STRICT) { - return null; // If strict mode is enabled, return null for unsupported configs + if (configInversionStrict == StrictnessPolicy.STRICT_TEST) { + unsupportedConfigs.add(name); + throw new IllegalArgumentException( + "Unsupported configuration: " + + name + + " is not in GeneratedSupportedConfigurations. " + + "Add it to metadata/supported-configurations.json or remove the usage."); } } diff --git a/utils/config-utils/src/test/java/datadog/trace/config/inversion/ConfigHelperTest.java b/utils/config-utils/src/test/java/datadog/trace/config/inversion/ConfigHelperTest.java index aed77304eac..9696642c8ac 100644 --- a/utils/config-utils/src/test/java/datadog/trace/config/inversion/ConfigHelperTest.java +++ b/utils/config-utils/src/test/java/datadog/trace/config/inversion/ConfigHelperTest.java @@ -62,7 +62,7 @@ static void setUp() { testSupported, testAliases, testAliasMapping, new HashMap<>()); ConfigHelper.get().setConfigurationSource(testSource); strictness = ConfigHelper.get().configInversionStrictFlag(); - ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.STRICT); + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.STRICT_TEST); } @AfterAll @@ -177,7 +177,7 @@ void testUnsupportedEnvWarningNotInTestMode() { assertEquals("banana", ConfigHelper.env("DD_FAKE_VAR")); // Cleanup - ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.STRICT); + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.STRICT_TEST); } @Test diff --git a/utils/test-utils/build.gradle.kts b/utils/test-utils/build.gradle.kts index 1f975c4ad45..6ec6b9c66db 100644 --- a/utils/test-utils/build.gradle.kts +++ b/utils/test-utils/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { api(libs.bytebuddyagent) api(project(":components:environment")) + api(project(":utils:config-utils")) api(group = "commons-fileupload", name = "commons-fileupload", version = "1.5") compileOnly(libs.junit.jupiter) diff --git a/utils/test-utils/src/main/groovy/datadog/trace/test/util/DDSpecification.groovy b/utils/test-utils/src/main/groovy/datadog/trace/test/util/DDSpecification.groovy index e7967d38006..3e18712f52d 100644 --- a/utils/test-utils/src/main/groovy/datadog/trace/test/util/DDSpecification.groovy +++ b/utils/test-utils/src/main/groovy/datadog/trace/test/util/DDSpecification.groovy @@ -1,6 +1,7 @@ package datadog.trace.test.util import datadog.environment.EnvironmentVariables +import datadog.trace.config.inversion.ConfigHelper import de.thetaphi.forbiddenapis.SuppressForbidden import java.lang.reflect.Constructor import java.lang.reflect.Field @@ -21,6 +22,7 @@ abstract class DDSpecification extends Specification { private static Constructor instConfigConstructor private static Field configInstanceField private static Constructor configConstructor + private static ConfigHelper.StrictnessPolicy previousStrictnessPolicy static { allowContextTesting() @@ -90,6 +92,17 @@ abstract class DDSpecification extends Specification { } } + private void enableStrictTestPolicy() { + previousStrictnessPolicy = ConfigHelper.get().configInversionStrictFlag() + ConfigHelper.get().setConfigInversionStrict(ConfigHelper.StrictnessPolicy.STRICT_TEST) + } + + private void restoreStrictnessPolicy() { + if (previousStrictnessPolicy != null) { + ConfigHelper.get().setConfigInversionStrict(previousStrictnessPolicy) + } + } + private void saveProperties() { originalSystemProperties = new Properties() originalSystemProperties.putAll(System.properties) @@ -117,9 +130,11 @@ abstract class DDSpecification extends Specification { } saveProperties() + enableStrictTestPolicy() } void cleanupSpec() { + restoreStrictnessPolicy() restoreProperties() assert EnvironmentVariables.getAll().findAll { it.key.startsWith("DD_") }.isEmpty() @@ -154,6 +169,12 @@ abstract class DDSpecification extends Specification { } void cleanup() { + // Assert no unsupported configs were encountered during the test + def unsupported = ConfigHelper.get().drainUnsupportedConfigs() + assert unsupported.isEmpty(): "Unsupported configurations found during test. " + + "Add these to metadata/supported-configurations.json or opt out with StrictnessPolicy.TEST:\n " + + unsupported.join("\n ") + environmentVariables.clear() restoreProperties()