diff --git a/build.gradle b/build.gradle index 51f42158331..d6b4e2d355a 100644 --- a/build.gradle +++ b/build.gradle @@ -66,6 +66,7 @@ spotlessPredeclare { } } apply from: "$rootDir/gradle/spotless.gradle" +apply from: "$rootDir/gradle/configInversionLinter.gradle" def compileTask = tasks.register("compile") diff --git a/components/environment/build.gradle.kts b/components/environment/build.gradle.kts index c8c280e6b26..82cb40f8cea 100644 --- a/components/environment/build.gradle.kts +++ b/components/environment/build.gradle.kts @@ -3,8 +3,46 @@ plugins { id("com.gradleup.shadow") } +sourceSets { + create("generator") { + java.srcDir("src/generator/java") + } + val main by getting { + java { + srcDir("build/generated/sources/supported") + } + } +} + +dependencies { + "generatorImplementation"("com.fasterxml.jackson.core:jackson-databind:2.15.2") + "generatorImplementation"("org.slf4j:slf4j-api:1.7.36") + implementation(project(":dd-trace-api")) +} + apply(from = "$rootDir/gradle/java.gradle") +val compileGeneratorJava = tasks.named("compileGeneratorJava") + +val generateSupportedConfigurations by tasks.registering(JavaExec::class) { + // We can run the generator with the main sourceSet runtimeClasspath + dependsOn(compileGeneratorJava) + mainClass.set("datadog.environment.ParseSupportedConfigurations") + classpath = sourceSets["generator"].runtimeClasspath + + val outputFile = layout.buildDirectory.file("generated/sources/supported/GeneratedSupportedConfigurations.java") + args("supported-configurations.json", outputFile.get().asFile.absolutePath) + + doFirst { + outputFile.get().asFile.parentFile.mkdirs() + } +} +// Ensure Java compilation depends on the generated sources +sourceSets["main"].java.srcDir(layout.buildDirectory.dir("generated/sources/supported")) + +tasks.named("compileJava") { + dependsOn(generateSupportedConfigurations) +} /* * Add an addition gradle configuration to be consumed by bootstrap only. * "datadog.trace." prefix is required to be excluded from Jacoco instrumentation. diff --git a/components/environment/src/generator/java/datadog/environment/ParseSupportedConfigurations.java b/components/environment/src/generator/java/datadog/environment/ParseSupportedConfigurations.java new file mode 100644 index 00000000000..9d10fc60663 --- /dev/null +++ b/components/environment/src/generator/java/datadog/environment/ParseSupportedConfigurations.java @@ -0,0 +1,142 @@ +package datadog.environment; + +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ParseSupportedConfigurations { + + public static void main(String[] args) { + String supportedConfigurationsFilename = + args[0]; // e.g., "resources/supported-configurations.json" + String generatedMappingPath = args[1]; // e.g., + // "build/generated-sources/datadog/environment/GeneratedSupportedConfigurations.java" + + String jsonString; + try { + + InputStream in = + ParseSupportedConfigurations.class + .getClassLoader() + .getResourceAsStream(supportedConfigurationsFilename); + if (in == null) { + throw new IllegalArgumentException( + "Resource not found: " + supportedConfigurationsFilename); + } + + ObjectMapper mapper = new ObjectMapper(); + Map fileData = mapper.readValue(in, Map.class); + + Map> supported = + (Map>) fileData.get("supportedConfigurations"); + Map> aliases = (Map>) fileData.get("aliases"); + Map deprecated = (Map) fileData.get("deprecations"); + + Map aliasMapping = new HashMap<>(); + for (Map.Entry> entry : aliases.entrySet()) { + for (String alias : entry.getValue()) { + aliasMapping.put(alias, entry.getKey()); + } + } + generateJavaFile(generatedMappingPath, supported.keySet(), aliases, aliasMapping, deprecated); + } catch (IOException e) { + throw new RuntimeException("Failed to read " + supportedConfigurationsFilename, e); + } + } + + private static void generateJavaFile( + String outputPath, + Set supported, + Map> aliases, + Map aliasMapping, + Map deprecated) + throws IOException { + try (PrintWriter out = new PrintWriter(Files.newBufferedWriter(Paths.get(outputPath)))) { + out.println("package datadog.environment;"); + out.println(); + out.println("import java.util.*;"); + out.println(); + out.println("public final class GeneratedSupportedConfigurations {"); + + // Supported set using Arrays.asList and HashSet + out.println(" public static final Set SUPPORTED;"); + out.println(); + + // ALIASES map + out.println(" public static final Map> ALIASES;"); + out.println(); + + // ALIAS_MAPPING map + out.println(" public static final Map ALIAS_MAPPING;"); + out.println(); + + // DEPRECATED map + out.println(" public static final Map DEPRECATED;"); + out.println(); + + // Static initializer block + out.println(" static {"); + + // Initialize SUPPORTED + out.print(" Set supportedSet = new HashSet<>(Arrays.asList("); + Iterator supportedIter = supported.iterator(); + while (supportedIter.hasNext()) { + String key = supportedIter.next(); + out.print("\"" + key + "\""); + if (supportedIter.hasNext()) { + out.print(", "); + } + } + out.println("));"); + out.println(" SUPPORTED = Collections.unmodifiableSet(supportedSet);"); + out.println(); + + // Initialize ALIASES + out.println(" Map> aliasesMap = new HashMap<>();"); + for (Map.Entry> entry : aliases.entrySet()) { + out.printf( + " aliasesMap.put(\"%s\", Collections.unmodifiableList(Arrays.asList(%s)));\n", + entry.getKey(), quoteList(entry.getValue())); + } + out.println(" ALIASES = Collections.unmodifiableMap(aliasesMap);"); + out.println(); + + // Initialize ALIAS_MAPPING + out.println(" Map aliasMappingMap = new HashMap<>();"); + for (Map.Entry entry : aliasMapping.entrySet()) { + out.printf(" aliasMappingMap.put(\"%s\", \"%s\");\n", entry.getKey(), entry.getValue()); + } + out.println(" ALIAS_MAPPING = Collections.unmodifiableMap(aliasMappingMap);"); + out.println(); + + // Initialize DEPRECATED + out.println(" Map deprecatedMap = new HashMap<>();"); + for (Map.Entry entry : deprecated.entrySet()) { + out.printf(" deprecatedMap.put(\"%s\", \"%s\");\n", entry.getKey(), entry.getValue()); + } + out.println(" DEPRECATED = Collections.unmodifiableMap(deprecatedMap);"); + + out.println(" }"); // end static block + out.println("}"); // end class + } + } + + private static String quoteList(List list) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < list.size(); i++) { + sb.append("\"").append(list.get(i)).append("\""); + if (i < list.size() - 1) { + sb.append(", "); + } + } + return sb.toString(); + } +} diff --git a/components/environment/src/generator/resources/supported-configurations.json b/components/environment/src/generator/resources/supported-configurations.json new file mode 100644 index 00000000000..46a860fd5e9 --- /dev/null +++ b/components/environment/src/generator/resources/supported-configurations.json @@ -0,0 +1,1897 @@ +{ + "supportedConfigurations": { + "DD_AAS_JAVA_EXTENSION_VERSION": ["A"], + "DD_ACTION_EXECUTION_ID": ["A"], + "DD_ADD_SPAN_POINTERS": ["A"], + "DD_AGENTLESS_LOG_SUBMISSION_ENABLED": ["A"], + "DD_AGENTLESS_LOG_SUBMISSION_LEVEL": ["A"], + "DD_AGENTLESS_LOG_SUBMISSION_QUEUE_SIZE": ["A"], + "DD_AGENTLESS_LOG_SUBMISSION_URL": ["A"], + "DD_AGENT_HOST": ["A"], + "DD_AGENT_PORT": ["A"], + "DD_API_KEY": ["A"], + "DD_API_KEY_FILE": ["A"], + "DD_API_SECURITY_ENABLED": ["A"], + "DD_API_SECURITY_ENDPOINT_COLLECTION_ENABLED": ["A"], + "DD_API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT": ["A"], + "DD_API_SECURITY_SAMPLE_DELAY": ["A"], + "DD_APM_TRACING_ENABLED": ["A"], + "DD_APPLICATION_KEY": ["A"], + "DD_APPLICATION_KEY_FILE": ["A"], + "DD_APPSEC_AUTOMATED_USER_EVENTS_TRACKING": ["A"], + "DD_APPSEC_AUTO_USER_INSTRUMENTATION_MODE": ["A"], + "DD_APPSEC_COLLECT_ALL_HEADERS": ["A"], + "DD_APPSEC_ENABLED": ["A"], + "DD_APPSEC_HEADER_COLLECTION_REDACTION_ENABLED": ["A"], + "DD_APPSEC_HTTP_BLOCKED_TEMPLATE_HTML": ["A"], + "DD_APPSEC_HTTP_BLOCKED_TEMPLATE_JSON": ["A"], + "DD_APPSEC_IPHEADER": ["A"], + "DD_APPSEC_MAX_COLLECTED_HEADERS": ["A"], + "DD_APPSEC_MAX_STACKTRACES": ["A"], + "DD_APPSEC_MAX_STACKTRACE_DEPTH": ["A"], + "DD_APPSEC_MAX_STACK_TRACES": ["A"], + "DD_APPSEC_MAX_STACK_TRACE_DEPTH": ["A"], + "DD_APPSEC_OBFUSCATION_PARAMETER_KEY_REGEXP": ["A"], + "DD_APPSEC_OBFUSCATION_PARAMETER_VALUE_REGEXP": ["A"], + "DD_APPSEC_RASP_COLLECT_REQUEST_BODY": ["A"], + "DD_APPSEC_RASP_ENABLED": ["A"], + "DD_APPSEC_REPORTING_INBAND": ["A"], + "DD_APPSEC_REPORT_TIMEOUT": ["A"], + "DD_APPSEC_RULES": ["A"], + "DD_APPSEC_SCA_ENABLED": ["A"], + "DD_APPSEC_STACKTRACE_ENABLED": ["A"], + "DD_APPSEC_STACK_TRACE_ENABLED": ["A"], + "DD_APPSEC_TRACE_RATE_LIMIT": ["A"], + "DD_APPSEC_WAF_METRICS": ["A"], + "DD_APPSEC_WAF_TIMEOUT": ["A"], + "DD_AWS_PROPAGATION_ENABLED": ["A"], + "DD_AWS_SDK_PROPAGATION_ENABLED": ["A"], + "DD_AZURE_APP_SERVICES": ["A"], + "DD_CIVISIBILITY_ADDITIONAL_CHILD_PROCESS_JVM_ARGS": ["A"], + "DD_CIVISIBILITY_AGENTLESS_ENABLED": ["A"], + "DD_CIVISIBILITY_AGENTLESS_URL": ["A"], + "DD_CIVISIBILITY_AGENT_JAR_URI": ["A"], + "DD_CIVISIBILITY_AUTO_CONFIGURATION_ENABLED": ["A"], + "DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER": ["A"], + "DD_CIVISIBILITY_BACKEND_API_TIMEOUT_MILLIS": ["A"], + "DD_CIVISIBILITY_BUILD_INSTRUMENTATION_ENABLED": ["A"], + "DD_CIVISIBILITY_CIPROVIDER_INTEGRATION_ENABLED": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_ENABLED": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_EXCLUDES": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_INCLUDES": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_LINES_ENABLED": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_REPORT_DUMP_DIR": ["A"], + "DD_CIVISIBILITY_CODE_COVERAGE_ROOT_PACKAGES_LIMIT": ["A"], + "DD_CIVISIBILITY_COMPILER_PLUGIN_AUTO_CONFIGURATION_ENABLED": ["A"], + "DD_CIVISIBILITY_COMPILER_PLUGIN_VERSION": ["A"], + "DD_CIVISIBILITY_DEBUG_PORT": ["A"], + "DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED": ["A"], + "DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_LOWER_LIMIT": ["A"], + "DD_CIVISIBILITY_ENABLED": ["A"], + "DD_CIVISIBILITY_EXECUTION_SETTINGS_CACHE_SIZE": ["A"], + "DD_CIVISIBILITY_FLAKY_RETRY_COUNT": ["A"], + "DD_CIVISIBILITY_FLAKY_RETRY_ENABLED": ["A"], + "DD_CIVISIBILITY_FLAKY_RETRY_ONLY_KNOWN_FLAKES": ["A"], + "DD_CIVISIBILITY_GIT_CLIENT_ENABLED": ["A"], + "DD_CIVISIBILITY_GIT_COMMAND_TIMEOUT_MILLIS": ["A"], + "DD_CIVISIBILITY_GIT_REMOTE_NAME": ["A"], + "DD_CIVISIBILITY_GIT_UNSHALLOW_DEFER": ["A"], + "DD_CIVISIBILITY_GIT_UNSHALLOW_ENABLED": ["A"], + "DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": ["A"], + "DD_CIVISIBILITY_GIT_UPLOAD_TIMEOUT_MILLIS": ["A"], + "DD_CIVISIBILITY_GRADLE_SOURCESETS": ["A"], + "DD_CIVISIBILITY_IMPACTED_TESTS_DETECTION_ENABLED": ["A"], + "DD_CIVISIBILITY_INJECTED_TRACER_VERSION": ["A"], + "DD_CIVISIBILITY_ITR_ENABLED": ["A"], + "DD_CIVISIBILITY_JACOCO_PLUGIN_VERSION": ["A"], + "DD_CIVISIBILITY_JVM_INFO_CACHE_SIZE": ["A"], + "DD_CIVISIBILITY_KNOWN_TESTS_REQUEST_ENABLED": ["A"], + "DD_CIVISIBILITY_MODULE_NAME": ["A"], + "DD_CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_KEY": ["A"], + "DD_CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_URL": ["A"], + "DD_CIVISIBILITY_REPO_INDEX_DUPLICATE_KEY_CHECK_ENABLED": ["A"], + "DD_CIVISIBILITY_RESOURCE_FOLDER_NAMES": ["A"], + "DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS": ["A"], + "DD_CIVISIBILITY_SCALATEST_FORK_MONITOR_ENABLED": ["A"], + "DD_CIVISIBILITY_SIGNAL_CLIENT_TIMEOUT_MILLIS": ["A"], + "DD_CIVISIBILITY_SIGNAL_SERVER_HOST": ["A"], + "DD_CIVISIBILITY_SIGNAL_SERVER_PORT": ["A"], + "DD_CIVISIBILITY_SOURCE_DATA_ENABLED": ["A"], + "DD_CIVISIBILITY_TELEMETRY_ENABLED": ["A"], + "DD_CIVISIBILITY_TEST_COMMAND": ["A"], + "DD_CIVISIBILITY_TEST_ORDER": ["A"], + "DD_CIVISIBILITY_TEST_SKIPPING_ENABLED": ["A"], + "DD_CIVISIBILITY_TOTAL_FLAKY_RETRY_COUNT": ["A"], + "DD_CIVISIBILITY_TRACE_SANITATION_ENABLED": ["A"], + "DD_CODE_ORIGIN_FOR_SPANS_ENABLED": ["A"], + "DD_CODE_ORIGIN_MAX_USER_FRAMES": ["A"], + "DD_CONFIG_INVERSION_STRICT": ["A"], + "DD_CRASHTRACKING_AGENTLESS": ["A"], + "DD_CRASHTRACKING_PROXY_HOST": ["A"], + "DD_CRASHTRACKING_PROXY_PASSWORD": ["A"], + "DD_CRASHTRACKING_PROXY_PORT": ["A"], + "DD_CRASHTRACKING_PROXY_USERNAME": ["A"], + "DD_CRASHTRACKING_TAGS": ["A"], + "DD_CRASHTRACKING_UPLOAD_TIMEOUT": ["A"], + "DD_CUSTOM_TRACE_ID": ["A"], + "DD_CWS_ENABLED": ["A"], + "DD_CWS_TLS_REFRESH": ["A"], + "DD_DATA_JOBS_COMMAND_PATTERN": ["A"], + "DD_DATA_JOBS_ENABLED": ["A"], + "DD_DATA_JOBS_OPENLINEAGE_ENABLED": ["A"], + "DD_DATA_STREAMS_BUCKET_DURATION_SECONDS": ["A"], + "DD_DATA_STREAMS_ENABLED": ["A"], + "DD_DBM_PROPAGATION_MODE": ["A"], + "DD_DBM_TRACE_PREPARED_STATEMENTS": ["A"], + "DD_DISTRIBUTED_DEBUGGER_ENABLED": ["A"], + "DD_DOGSTATSD_ARGS": ["A"], + "DD_DOGSTATSD_HOST": ["A"], + "DD_DOGSTATSD_PATH": ["A"], + "DD_DOGSTATSD_PIPE_NAME": ["A"], + "DD_DOGSTATSD_PORT": ["A"], + "DD_DOGSTATSD_START_DELAY": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_CLASSFILE_DUMP_ENABLED": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_DIAGNOSTICS_INTERVAL": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_ENABLED": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_EXCLUDE_FILES": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_INCLUDE_FILES": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_INSTRUMENT_THE_WORLD": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_LOCALVAR_HOISTING_LEVEL": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_MAX_PAYLOAD_SIZE": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_METRICS_ENABLED": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_POLL_INTERVAL": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_REDACTED_TYPES": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_REDACTION_EXCLUDED_IDENTIFIERS": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_SNAPSHOT_URL": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_SOURCE_FILE_TRACKING_ENABLED": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_BATCH_SIZE": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_INTERVAL_SECONDS": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_TIMEOUT": ["A"], + "DD_DYNAMIC_INSTRUMENTATION_VERIFY_BYTECODE": ["A"], + "DD_ENV": ["A"], + "DD_EXCEPTION_DEBUGGING_ENABLED": ["A"], + "DD_EXCEPTION_REPLAY_CAPTURE_INTERMEDIATE_SPANS_ENABLED": ["A"], + "DD_EXCEPTION_REPLAY_CAPTURE_INTERVAL_SECONDS": ["A"], + "DD_EXCEPTION_REPLAY_CAPTURE_MAX_FRAMES": ["A"], + "DD_EXCEPTION_REPLAY_ENABLED": ["A"], + "DD_EXCEPTION_REPLAY_MAX_EXCEPTION_ANALYSIS_LIMIT": ["A"], + "DD_EXCEPTION_REPLAY_MAX_FRAMES_TO_CAPTURE": ["A"], + "DD_EXPERIMENTAL_API_SECURITY_ENABLED": ["A"], + "DD_EXPERIMENTAL_DEFER_INTEGRATIONS_UNTIL": ["A"], + "DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED": ["A"], + "DD_GIT_BRANCH": ["A"], + "DD_GIT_COMMIT_AUTHOR_DATE": ["A"], + "DD_GIT_COMMIT_AUTHOR_EMAIL": ["A"], + "DD_GIT_COMMIT_AUTHOR_NAME": ["A"], + "DD_GIT_COMMIT_COMMITTER_DATE": ["A"], + "DD_GIT_COMMIT_COMMITTER_EMAIL": ["A"], + "DD_GIT_COMMIT_COMMITTER_NAME": ["A"], + "DD_GIT_COMMIT_HEAD_SHA": ["A"], + "DD_GIT_COMMIT_MESSAGE": ["A"], + "DD_GIT_COMMIT_SHA": ["A"], + "DD_GIT_PULL_REQUEST_BASE_BRANCH": ["A"], + "DD_GIT_PULL_REQUEST_BASE_BRANCH_SHA": ["A"], + "DD_GIT_REPOSITORY_URL": ["A"], + "DD_GIT_TAG": ["A"], + "DD_GRPC_CLIENT_ERROR_STATUSES": ["A"], + "DD_GRPC_SERVER_ERROR_STATUSES": ["A"], + "DD_HTTP_CLIENT_ERROR_STATUSES": ["A"], + "DD_HTTP_CLIENT_TAG_HEADERS": ["A"], + "DD_HTTP_CLIENT_TAG_QUERY_STRING": ["A"], + "DD_HTTP_SERVER_DECODED_RESOURCE_PRESERVE_SPACES": ["A"], + "DD_HTTP_SERVER_ERROR_STATUSES": ["A"], + "DD_HTTP_SERVER_RAW_QUERY_STRING": ["A"], + "DD_HTTP_SERVER_RAW_RESOURCE": ["A"], + "DD_HTTP_SERVER_ROUTE_BASED_NAMING": ["A"], + "DD_HTTP_SERVER_TAG_QUERY_STRING": ["A"], + "DD_HYSTRIX_MEASURED_ENABLED": ["A"], + "DD_HYSTRIX_TAGS_ENABLED": ["A"], + "DD_IAST_ANONYMOUS_CLASSES_ENABLED": ["A"], + "DD_IAST_CONTEXT_MODE": ["A"], + "DD_IAST_DB_ROWS_TO_TAINT": ["A"], + "DD_IAST_DEBUG_ENABLED": ["A"], + "DD_IAST_DEDUPLICATION_ENABLED": ["A"], + "DD_IAST_DETECTION_MODE": ["A"], + "DD_IAST_ENABLED": ["A"], + "DD_IAST_EXPERIMENTAL_PROPAGATION_ENABLED": ["A"], + "DD_IAST_HARDCODED_SECRET_ENABLED": ["A"], + "DD_IAST_MAX_CONCURRENT_REQUESTS": ["A"], + "DD_IAST_MAX_RANGE_COUNT": ["A"], + "DD_IAST_REDACTION_ENABLED": ["A"], + "DD_IAST_REDACTION_NAME_PATTERN": ["A"], + "DD_IAST_REDACTION_VALUE_PATTERN": ["A"], + "DD_IAST_REQUEST_SAMPLING": ["A"], + "DD_IAST_SECURITY_CONTROLS_CONFIGURATION": ["A"], + "DD_IAST_SOURCE_MAPPING_ENABLED": ["A"], + "DD_IAST_SOURCE_MAPPING_MAX_SIZE": ["A"], + "DD_IAST_STACKTRACE_ENABLED": ["A"], + "DD_IAST_STACKTRACE_LEAK_SUPPRESS": ["A"], + "DD_IAST_STACK_TRACE_ENABLED": ["A"], + "DD_IAST_STACK_TRACE_LEAK_SUPPRESS": ["A"], + "DD_IAST_TELEMETRY_VERBOSITY": ["A"], + "DD_IAST_TRUNCATION_MAX_VALUE_LENGTH": ["A"], + "DD_IAST_VULNERABILITIES_PER_REQUEST": ["A"], + "DD_IAST_WEAK_CIPHER_ALGORITHMS": ["A"], + "DD_IAST_WEAK_HASH_ALGORITHMS": ["A"], + "DD_ID_GENERATION_STRATEGY": ["A"], + "DD_IGNITE_CACHE_INCLUDE_KEYS": ["A"], + "DD_INJECTION_ENABLED": ["A"], + "DD_INJECT_FORCE": ["A"], + "DD_INSTRUMENTATION_CONFIG_ID": ["A"], + "DD_INSTRUMENTATION_INSTALL_ID": ["A"], + "DD_INSTRUMENTATION_INSTALL_TIME": ["A"], + "DD_INSTRUMENTATION_INSTALL_TYPE": ["A"], + "DD_INSTRUMENTATION_SOURCE": ["A"], + "DD_INSTRUMENTATION_TELEMETRY_ENABLED": ["A"], + "DD_INTEGRATIONS_ENABLED": ["A"], + "DD_INTEGRATION_SYNAPSE_LEGACY_OPERATION_NAME": ["A"], + "DD_INTERNAL_EXCEPTION_REPLAY_ONLY_LOCAL_ROOT": ["A"], + "DD_INTERNAL_FORCE_SYMBOL_DATABASE_UPLOAD": ["A"], + "DD_JDK_SOCKET_ENABLED": ["A"], + "DD_JMS_PROPAGATION_DISABLED_QUEUES": ["A"], + "DD_JMS_PROPAGATION_DISABLED_TOPICS": ["A"], + "DD_JMS_PROPAGATION_ENABLED": ["A"], + "DD_JMS_UNACKNOWLEDGED_MAX_AGE": ["A"], + "DD_JMXFETCH_CHECK_PERIOD": ["A"], + "DD_JMXFETCH_CONFIG": ["A"], + "DD_JMXFETCH_CONFIG_DIR": ["A"], + "DD_JMXFETCH_ENABLED": ["A"], + "DD_JMXFETCH_INITIAL_REFRESH_BEANS_PERIOD": ["A"], + "DD_JMXFETCH_METRICS_CONFIGS": ["A"], + "DD_JMXFETCH_MULTIPLE_RUNTIME_SERVICES_ENABLED": ["A"], + "DD_JMXFETCH_MULTIPLE_RUNTIME_SERVICES_LIMIT": ["A"], + "DD_JMXFETCH_REFRESH_BEANS_PERIOD": ["A"], + "DD_JMXFETCH_START_DELAY": ["A"], + "DD_JMXFETCH_STATSD_HOST": ["A"], + "DD_JMXFETCH_STATSD_PORT": ["A"], + "DD_KAFKA_CLIENT_BASE64_DECODING_ENABLED": ["A"], + "DD_KAFKA_CLIENT_PROPAGATION_DISABLED_TOPICS": ["A"], + "DD_KAFKA_CLIENT_PROPAGATION_ENABLED": ["A"], + "DD_KAFKA_PROPAGATION_ENABLED": ["A"], + "DD_LLMOBS_AGENTLESS_ENABLED": ["A"], + "DD_LLMOBS_ENABLED": ["A"], + "DD_LLMOBS_ML_APP": ["A"], + "DD_LOGS_INJECTION": ["A"], + "DD_LOGS_INJECTION_ENABLED": ["A"], + "DD_LOG_LEVEL": ["A"], + "DD_MEASURE_METHODS": ["A"], + "DD_MESSAGE_BROKER_SPLIT_BY_DESTINATION": ["A"], + "DD_OBFUSCATION_QUERY_STRING_REGEXP": ["A"], + "DD_OPTIMIZED_MAP_ENABLED": ["A"], + "DD_PIPELINE_EXECUTION_ID": ["A"], + "DD_PRIMARY_TAG": ["A"], + "DD_PRIORITIZATION_TYPE": ["A"], + "DD_PRIORITY_SAMPLING": ["A"], + "DD_PRIORITY_SAMPLING_FORCE": ["A"], + "DD_PROFILING_AGENTLESS": ["A"], + "DD_PROFILING_ALLOCATION_ENABLED": ["A"], + "DD_PROFILING_APIKEY": ["A"], + "DD_PROFILING_APIKEY_FILE": ["A"], + "DD_PROFILING_API_KEY": ["A"], + "DD_PROFILING_API_KEY_FILE": ["A"], + "DD_PROFILING_ASYNC_ALLOC_INTERVAL": ["A"], + "DD_PROFILING_ASYNC_CPU_INTERVAL_MS": ["A"], + "DD_PROFILING_ASYNC_CSTACK": ["A"], + "DD_PROFILING_ASYNC_DEBUG_LIB": ["A"], + "DD_PROFILING_EXPERIMENTAL_ASYNC_WALL_JVMTI": ["A"], + "DD_PROFILING_ASYNC_LINENUMBERS": ["A"], + "DD_PROFILING_ASYNC_LIVEHEAP_CAPACITY": ["A"], + "DD_PROFILING_ASYNC_LIVEHEAP_INTERVAL": ["A"], + "DD_PROFILING_ASYNC_LIVEHEAP_SAMPLE_PERCENT": ["A"], + "DD_PROFILING_ASYNC_LOGLEVEL": ["A"], + "DD_PROFILING_ASYNC_SAFEMODE": ["A"], + "DD_PROFILING_ASYNC_WALL_COLLAPSING": ["A"], + "DD_PROFILING_ASYNC_WALL_CONTEXT_FILTER": ["A"], + "DD_PROFILING_ASYNC_WALL_INTERVAL_MS": ["A"], + "DD_PROFILING_AUXILIARY": ["A"], + "DD_PROFILING_BACKPRESSURE_SAMPLE_LIMIT": ["A"], + "DD_PROFILING_BACKPRESSURE_SAMPLING_ENABLED": ["A"], + "DD_PROFILING_CONTEXT_ATTRIBUTES": ["A"], + "DD_PROFILING_CONTEXT_ATTRIBUTES_RESOURCE_NAME_ENABLED": ["A"], + "DD_PROFILING_CONTEXT_ATTRIBUTES_SPAN_NAME_ENABLED": ["A"], + "DD_PROFILING_DDPROF_ALLOC_ENABLED": ["A"], + "DD_PROFILING_DDPROF_ALLOC_INTERVAL": ["A"], + "DD_PROFILING_DDPROF_CPU_ENABLED": ["A"], + "DD_PROFILING_DDPROF_CPU_INTERVAL_MS": ["A"], + "DD_PROFILING_DDPROF_CSTACK": ["A"], + "DD_PROFILING_DDPROF_DEBUG_LIB": ["A"], + "DD_PROFILING_DDPROF_ENABLED": ["A"], + "DD_PROFILING_DDPROF_LINENUMBERS": ["A"], + "DD_PROFILING_DDPROF_LIVEHEAP_CAPACITY": ["A"], + "DD_PROFILING_DDPROF_LIVEHEAP_ENABLED": ["A"], + "DD_PROFILING_DDPROF_LIVEHEAP_INTERVAL": ["A"], + "DD_PROFILING_DDPROF_LIVEHEAP_SAMPLE_PERCENT": ["A"], + "DD_PROFILING_DDPROF_LIVEHEAP_TRACK_SIZE_ENABLED": ["A"], + "DD_PROFILING_DDPROF_LOGLEVEL": ["A"], + "DD_PROFILING_DDPROF_MEMLEAK_CAPACITY": ["A"], + "DD_PROFILING_DDPROF_MEMLEAK_ENABLED": ["A"], + "DD_PROFILING_DDPROF_MEMLEAK_INTERVAL": ["A"], + "DD_PROFILING_DDPROF_SAFEMODE": ["A"], + "DD_PROFILING_DDPROF_SCRATCH": ["A"], + "DD_PROFILING_DDPROF_STACKDEPTH": ["A"], + "DD_PROFILING_DDPROF_WALL_COLLAPSING": ["A"], + "DD_PROFILING_DDPROF_WALL_CONTEXT_FILTER": ["A"], + "DD_PROFILING_DDPROF_WALL_ENABLED": ["A"], + "DD_PROFILING_DDPROF_WALL_INTERVAL_MS": ["A"], + "DD_PROFILING_DEBUG_DUMP_PATH": ["A"], + "DD_PROFILING_DEBUG_JFR_DISABLED": ["A"], + "DD_PROFILING_DEBUG_UPLOAD_COMPRESSION": ["A"], + "DD_PROFILING_DETAILED_DEBUG_LOGGING": ["A"], + "DD_PROFILING_DIRECTALLOCATION_ENABLED": ["A"], + "DD_PROFILING_DIRECT_ALLOCATION_SAMPLE_LIMIT": ["A"], + "DD_PROFILING_DISABLED_EVENTS": ["A"], + "DD_PROFILING_ENABLED": ["A"], + "DD_PROFILING_ENABLED_EVENTS": ["A"], + "DD_PROFILING_ENDPOINT_COLLECTION_ENABLED": ["A"], + "DD_PROFILING_EXCEPTION_HISTOGRAM_MAX_COLLECTION_SIZE": ["A"], + "DD_PROFILING_EXCEPTION_HISTOGRAM_TOP_ITEMS": ["A"], + "DD_PROFILING_EXCEPTION_RECORD_MESSAGE": ["A"], + "DD_PROFILING_EXCEPTION_SAMPLE_LIMIT": ["A"], + "DD_PROFILING_EXCLUDE_AGENT_THREADS": ["A"], + "DD_PROFILING_EXPERIMENTAL_ASYNC_SCHEDULING_EVENT": ["A"], + "DD_PROFILING_EXPERIMENTAL_ASYNC_SCHEDULING_EVENT_INTERVAL": ["A"], + "DD_PROFILING_EXPERIMENTAL_DDPROF_SCHEDULING_EVENT": ["A"], + "DD_PROFILING_EXPERIMENTAL_DDPROF_SCHEDULING_EVENT_INTERVAL": ["A"], + "DD_PROFILING_EXPERIMENTAL_DDPROF_WALL_JVMTI": ["A"], + "DD_PROFILING_HEAP_ENABLED": ["A"], + "DD_PROFILING_HEAP_HISTOGRAM_ENABLED": ["A"], + "DD_PROFILING_HEAP_HISTOGRAM_MODE": ["A"], + "DD_PROFILING_HEAP_TRACK_GENERATIONS": ["A"], + "DD_PROFILING_HOTSPOTS_ENABLED": ["A"], + "DD_PROFILING_JFR_REPOSITORY_BASE": ["A"], + "DD_PROFILING_JFR_REPOSITORY_MAXSIZE": ["A"], + "DD_PROFILING_JFR_TEMPLATE_OVERRIDE_FILE": ["A"], + "DD_PROFILING_PROXY_HOST": ["A"], + "DD_PROFILING_PROXY_PASSWORD": ["A"], + "DD_PROFILING_PROXY_PORT": ["A"], + "DD_PROFILING_PROXY_USERNAME": ["A"], + "DD_PROFILING_QUEUEING_TIME_ENABLED": ["A"], + "DD_PROFILING_QUEUEING_TIME_THRESHOLD_MILLIS": ["A"], + "DD_PROFILING_SMAP_AGGREGATION_ENABLED": ["A"], + "DD_PROFILING_SMAP_COLLECTION_ENABLED": ["A"], + "DD_PROFILING_STACKDEPTH": ["A"], + "DD_PROFILING_START_DELAY": ["A"], + "DD_PROFILING_START_FORCE_FIRST": ["A"], + "DD_PROFILING_TAGS": ["A"], + "DD_PROFILING_TEMPDIR": ["A"], + "DD_PROFILING_TIMELINE_EVENTS_ENABLED": ["A"], + "DD_PROFILING_ULTRA_MINIMAL": ["A"], + "DD_PROFILING_UPLOAD_COMPRESSION": ["A"], + "DD_PROFILING_UPLOAD_PERIOD": ["A"], + "DD_PROFILING_UPLOAD_SUMMARY_ON_413": ["A"], + "DD_PROFILING_UPLOAD_TIMEOUT": ["A"], + "DD_PROFILING_URL": ["A"], + "DD_PROPAGATION_EXTRACT_LOG_HEADER_NAMES_ENABLED": ["A"], + "DD_PROPAGATION_STYLE_EXTRACT": ["A"], + "DD_PROPAGATION_STYLE_INJECT": ["A"], + "DD_PROXY_NO_PROXY": ["A"], + "DD_RABBITMQ_PROPAGATION_ENABLED": ["A"], + "DD_RABBIT_INCLUDE_ROUTINGKEY_IN_RESOURCE": ["A"], + "DD_RABBIT_PROPAGATION_DISABLED_EXCHANGES": ["A"], + "DD_RABBIT_PROPAGATION_DISABLED_QUEUES": ["A"], + "DD_RABBIT_PROPAGATION_ENABLED": ["A"], + "DD_RC_TARGETS_KEY": ["A"], + "DD_RC_TARGETS_KEY_ID": ["A"], + "DD_REMOTE_CONFIGURATION_ENABLED": ["A"], + "DD_REMOTE_CONFIG_ENABLED": ["A"], + "DD_REMOTE_CONFIG_INTEGRITY_CHECK_ENABLED": ["A"], + "DD_REMOTE_CONFIG_MAX_EXTRA_SERVICES": ["A"], + "DD_REMOTE_CONFIG_MAX_PAYLOAD_SIZE": ["A"], + "DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS": ["A"], + "DD_REMOTE_CONFIG_URL": ["A"], + "DD_RESOLVER_CACHE_CONFIG": ["A"], + "DD_RESOLVER_CACHE_DIR": ["A"], + "DD_RESOLVER_NAMES_ARE_UNIQUE": ["A"], + "DD_RESOLVER_RESET_INTERVAL": ["A"], + "DD_RESOLVER_SIMPLE_METHOD_GRAPH": ["A"], + "DD_RESOLVER_USE_LOADCLASS": ["A"], + "DD_RESOLVER_USE_URL_CACHES": ["A"], + "DD_RUM_APPLICATION_ID": ["A"], + "DD_RUM_CLIENT_TOKEN": ["A"], + "DD_RUM_DEFAULT_PRIVACY_LEVEL": ["A"], + "DD_RUM_ENABLED": ["A"], + "DD_RUM_ENVIRONMENT": ["A"], + "DD_RUM_MAJOR_VERSION": ["A"], + "DD_RUM_REMOTE_CONFIGURATION_ID": ["A"], + "DD_RUM_SERVICE": ["A"], + "DD_RUM_SESSION_REPLAY_SAMPLE_RATE": ["A"], + "DD_RUM_SESSION_SAMPLE_RATE": ["A"], + "DD_RUM_SITE": ["A"], + "DD_RUM_TRACK_LONG_TASKS": ["A"], + "DD_RUM_TRACK_RESOURCES": ["A"], + "DD_RUM_TRACK_USER_INTERACTION": ["A"], + "DD_RUM_VERSION": ["A"], + "DD_RUNTIME_ID_ENABLED": ["A"], + "DD_RUNTIME_METRICS_ENABLED": ["A"], + "DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED": ["A"], + "DD_SERVICE": ["A"], + "DD_SERVICE_MAPPING": ["A"], + "DD_SERVICE_NAME": ["A"], + "DD_SERVICE_NAME_SET_BY_USER": ["A"], + "DD_SITE": ["A"], + "DD_SPAN_SAMPLING_RULES": ["A"], + "DD_SPAN_SAMPLING_RULES_FILE": ["A"], + "DD_SPARK_APP_NAME_AS_SERVICE": ["A"], + "DD_SPARK_TASK_HISTOGRAM_ENABLED": ["A"], + "DD_SPRING_DATA_REPOSITORY_INTERFACE_RESOURCE_NAME": ["A"], + "DD_SQS_PROPAGATION_ENABLED": ["A"], + "DD_STACK_TRACE_LENGTH_LIMIT": ["A"], + "DD_STATSD_CLIENT_QUEUE_SIZE": ["A"], + "DD_STATSD_CLIENT_SOCKET_BUFFER": ["A"], + "DD_STATSD_CLIENT_SOCKET_TIMEOUT": ["A"], + "DD_SYMBOL_DATABASE_COMPRESSED": ["A"], + "DD_SYMBOL_DATABASE_FLUSH_THRESHOLD": ["A"], + "DD_SYMBOL_DATABASE_UPLOAD_ENABLED": ["A"], + "DD_TAGS": ["A"], + "DD_TELEMETRY_DEBUG_REQUESTS_ENABLED": ["A"], + "DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED": ["A"], + "DD_TELEMETRY_DEPENDENCY_RESOLUTION_PERIOD_MILLIS": ["A"], + "DD_TELEMETRY_DEPENDENCY_RESOLUTION_QUEUE_SIZE": ["A"], + "DD_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL": ["A"], + "DD_TELEMETRY_FORWARDER_MAX_TAGS": ["A"], + "DD_TELEMETRY_FORWARDER_PATH": ["A"], + "DD_TELEMETRY_HEARTBEAT_INTERVAL": ["A"], + "DD_TELEMETRY_LOG_COLLECTION_ENABLED": ["A"], + "DD_TELEMETRY_METRICS_ENABLED": ["A"], + "DD_TELEMETRY_METRICS_INTERVAL": ["A"], + "DD_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES": ["A"], + "DD_TEST_MANAGEMENT_ENABLED": ["A"], + "DD_TEST_SESSION_NAME": ["A"], + "DD_THIRD_PARTY_EXCLUDES": ["A"], + "DD_THIRD_PARTY_INCLUDES": ["A"], + "DD_THIRD_PARTY_SHADING_IDENTIFIERS": ["A"], + "DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED": ["A"], + "DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED": ["A"], + "DD_TRACE_AEROSPIKE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AEROSPIKE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AEROSPIKE_ENABLED": ["A"], + "DD_TRACE_AGENT_ARGS": ["A"], + "DD_TRACE_AGENT_PATH": ["A"], + "DD_TRACE_AGENT_PORT": ["A"], + "DD_TRACE_AGENT_TIMEOUT": ["A"], + "DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET": ["A"], + "DD_TRACE_AGENT_URL": ["A"], + "DD_TRACE_AGENT_V0_5_ENABLED": ["A"], + "DD_TRACE_AKKA_ACTOR_ENABLED": ["A"], + "DD_TRACE_AKKA_ACTOR_MAILBOX_ENABLED": ["A"], + "DD_TRACE_AKKA_ACTOR_RECEIVE_ENABLED": ["A"], + "DD_TRACE_AKKA_ACTOR_SEND_ENABLED": ["A"], + "DD_TRACE_AKKA_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_AKKA_FORK_JOIN_EXECUTOR_TASK_NAME": ["A"], + "DD_TRACE_AKKA_FORK_JOIN_POOL_NAME": ["A"], + "DD_TRACE_AKKA_FORK_JOIN_TASK_NAME": ["A"], + "DD_TRACE_AKKA_HTTP2_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AKKA_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AKKA_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AKKA_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AKKA_HTTP_SERVER_ENABLED": ["A"], + "DD_TRACE_ALLOCATEDIRECT_ENABLED": ["A"], + "DD_TRACE_AMQP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AMQP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AMQP_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_AMQP_ENABLED": ["A"], + "DD_TRACE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ANNOTATIONS": ["A"], + "DD_TRACE_ANNOTATIONS_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_ANNOTATION_ASYNC": ["A"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT5_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT5_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT5_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_APACHE_HTTPCLIENT_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCORE_5_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTPCORE_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT5_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT5_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT5_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_APACHE_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CORE_5_ENABLED": ["A"], + "DD_TRACE_APACHE_HTTP_CORE_ENABLED": ["A"], + "DD_TRACE_APACHE_SPARK_ENABLED": ["A"], + "DD_TRACE_ARMERIA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ARMERIA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_ARMERIA_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_ARMERIA_GRPC_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_ARMERIA_GRPC_CLIENT_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_MESSAGE_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ARMERIA_GRPC_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_ARMERIA_GRPC_SERVER_ENABLED": ["A"], + "DD_TRACE_ARMERIA_JETTY_ENABLED": ["A"], + "DD_TRACE_AUTH0_JWT_ENABLED": ["A"], + "DD_TRACE_AVRO_ENABLED": ["A"], + "DD_TRACE_AWSADD_SPAN_POINTERS": ["A"], + "DD_TRACE_AWS_DYNAMODB_ENABLED": ["A"], + "DD_TRACE_AWS_LAMBDA_ENABLED": ["A"], + "DD_TRACE_AWS_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_AWS_S3_ENABLED": ["A"], + "DD_TRACE_AWS_SDK_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AWS_SDK_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AWS_SDK_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_AWS_SDK_ENABLED": ["A"], + "DD_TRACE_AWS_SDK_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_AWS_SDK_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_AXIS2_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AXIS2_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AXIS2_ENABLED": ["A"], + "DD_TRACE_AXIS2_TRANSPORT_ENABLED": ["A"], + "DD_TRACE_AXIS_PROMOTE_RESOURCE_NAME": ["A"], + "DD_TRACE_AXIS_TRANSPORT_CLASS_NAME": ["A"], + "DD_TRACE_AXWAY_API_ENABLED": ["A"], + "DD_TRACE_AXWAY_HTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AXWAY_HTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AZURE_FUNCTIONS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_AZURE_FUNCTIONS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_AZURE_FUNCTIONS_ENABLED": ["A"], + "DD_TRACE_BAGGAGE_MAX_BYTES": ["A"], + "DD_TRACE_BAGGAGE_MAX_ITEMS": ["A"], + "DD_TRACE_CAFFEINE_ENABLED": ["A"], + "DD_TRACE_CASSANDRA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_CASSANDRA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_CASSANDRA_ENABLED": ["A"], + "DD_TRACE_CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED": ["A"], + "DD_TRACE_CI_VISIBILITY_ENABLED": ["A"], + "DD_TRACE_CLASSES_EXCLUDE": ["A"], + "DD_TRACE_CLASSES_EXCLUDE_FILE": ["A"], + "DD_TRACE_CLASSLOADERS_DEFER": ["A"], + "DD_TRACE_CLASSLOADERS_EXCLUDE": ["A"], + "DD_TRACE_CLASSLOADING_ENABLED": ["A"], + "DD_TRACE_CLIENT_IP_ENABLED": ["A"], + "DD_TRACE_CLIENT_IP_HEADER": ["A"], + "DD_TRACE_CLIENT_IP_RESOLVER_ENABLED": ["A"], + "DD_TRACE_CLOCK_SYNC_PERIOD": ["A"], + "DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH": ["A"], + "DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS": ["A"], + "DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES": ["A"], + "DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING": ["A"], + "DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING": ["A"], + "DD_TRACE_CODESOURCES_EXCLUDE": ["A"], + "DD_TRACE_COMMONS_FILEUPLOAD_ENABLED": ["A"], + "DD_TRACE_COMMONS_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_COMMONS_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_COMMONS_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_CONFIG": ["A"], + "DD_TRACE_CONSUMER_TASK_ENABLED": ["A"], + "DD_TRACE_COUCHBASE_3_ENABLED": ["A"], + "DD_TRACE_COUCHBASE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_COUCHBASE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_COUCHBASE_ENABLED": ["A"], + "DD_TRACE_COUCHBASE_INTERNAL_SPANS_ENABLED": ["A"], + "DD_TRACE_CUCUMBER_5_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_CUCUMBER_5_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_CUCUMBER_5_ENABLED": ["A"], + "DD_TRACE_CUCUMBER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_CUCUMBER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_CUCUMBER_ENABLED": ["A"], + "DD_TRACE_CXF_ENABLED": ["A"], + "DD_TRACE_CXF_INVOKER_ENABLED": ["A"], + "DD_TRACE_DATANUCLEUS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_DATANUCLEUS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_DATANUCLEUS_ENABLED": ["A"], + "DD_TRACE_DB2_ENABLED": ["A"], + "DD_TRACE_DBM_ENABLED": ["A"], + "DD_TRACE_DBSTATEMENTRULE_ENABLED": ["A"], + "DD_TRACE_DB_CLIENT_SPLIT_BY_HOST": ["A"], + "DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE": ["A"], + "DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE_TYPE_SUFFIX": ["A"], + "DD_TRACE_DEBUG": ["A"], + "DD_TRACE_DEFINECLASS_ENABLED": ["A"], + "DD_TRACE_DIRECTALLOCATION_ENABLED": ["A"], + "DD_TRACE_DO_NOT_TRACE_ANNOTATION_ENABLED": ["A"], + "DD_TRACE_DROPWIZARD_ENABLED": ["A"], + "DD_TRACE_DROPWIZARD_VIEW_ENABLED": ["A"], + "DD_TRACE_DYNAMODB_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_ELASTICSEARCH_BODY_AND_PARAMS_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_BODY_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_PARAMS_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_REST_5_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_REST_6_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_REST_7_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_REST_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_2_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_5_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_6_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_7_ENABLED": ["A"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_ENABLED": ["A"], + "DD_TRACE_EMR_AWS_SDK_ENABLED": ["A"], + "DD_TRACE_ENABLED": ["A"], + "DD_TRACE_EVENTBRIDGE_ENABLED": ["A"], + "DD_TRACE_EXECUTORS": ["A"], + "DD_TRACE_EXECUTORS_ALL": ["A"], + "DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED": ["A"], + "DD_TRACE_EXPERIMENTAL_JEE_SPLIT_BY_DEPLOYMENT": ["A"], + "DD_TRACE_EXPERIMENTAL_KEEP_LATENCY_THRESHOLD_MS": ["A"], + "DD_TRACE_EXPERIMENTAL_LONG_RUNNING_ENABLED": ["A"], + "DD_TRACE_EXPERIMENTAL_LONG_RUNNING_FLUSH_INTERVAL": ["A"], + "DD_TRACE_EXPERIMENTAL_LONG_RUNNING_INITIAL_FLUSH_INTERVAL": ["A"], + "DD_TRACE_EXTENSIONS_PATH": ["A"], + "DD_TRACE_FILEITEMITERATOR_ENABLED": ["A"], + "DD_TRACE_FILEITEMSTREAM_ENABLED": ["A"], + "DD_TRACE_FILEITEM_ENABLED": ["A"], + "DD_TRACE_FINATRA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_FINATRA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_FINATRA_ENABLED": ["A"], + "DD_TRACE_FJP_ENABLED": ["A"], + "DD_TRACE_FJP_WORKQUEUE_ENABLED": ["A"], + "DD_TRACE_FLUSH_INTERVAL": ["A"], + "DD_TRACE_FORCEMANUALDROPTAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_FORCEMANUALKEEPTAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_FORCESAMPLINGPRIORITYTAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_FREEMARKER_ENABLED": ["A"], + "DD_TRACE_GIT_METADATA_ENABLED": ["A"], + "DD_TRACE_GLASSFISH_ENABLED": ["A"], + "DD_TRACE_GLOBAL_TAGS": ["A"], + "DD_TRACE_GOOGLE_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GOOGLE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GOOGLE_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_IGNORED_GRPC_METHODS": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_PUBLISHER_ENABLED": ["A"], + "DD_TRACE_GOOGLE_PUBSUB_RECEIVER_ENABLED": ["A"], + "DD_TRACE_GRADLE_ENABLED": ["A"], + "DD_TRACE_GRADLE_BUILD_LISTENER_ENABLED": ["A"], + "DD_TRACE_GRADLE_BUILD_SCOPE_SERVICES_ENABLED": ["A"], + "DD_TRACE_GRADLE_DAEMON_LOGGING_ENABLED": ["A"], + "DD_TRACE_GRADLE_DAEMON_JVM_OPTIONS_ENABLED": ["A"], + "DD_TRACE_GRADLE_PLUGIN_INJECTOR_ENABLED": ["A"], + "DD_TRACE_GRAPHQL_JAVA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRAPHQL_JAVA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRAPHQL_JAVA_ENABLED": ["A"], + "DD_TRACE_GRIZZLY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRIZZLY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRIZZLY_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRIZZLY_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRIZZLY_CLIENT_ENABLED": ["A"], + "DD_TRACE_GRIZZLY_ENABLED": ["A"], + "DD_TRACE_GRIZZLY_FILTERCHAIN_ENABLED": ["A"], + "DD_TRACE_GRPC_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRPC_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRPC_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRPC_CLIENT_ENABLED": ["A"], + "DD_TRACE_GRPC_ENABLED": ["A"], + "DD_TRACE_GRPC_IGNORED_INBOUND_METHODS": ["A"], + "DD_TRACE_GRPC_IGNORED_OUTBOUND_METHODS": ["A"], + "DD_TRACE_GRPC_MESSAGE_ENABLED": ["A"], + "DD_TRACE_GRPC_NETTY_ENABLED": ["A"], + "DD_TRACE_GRPC_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_GRPC_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_GRPC_SERVER_CODE_ORIGIN_ENABLED": ["A"], + "DD_TRACE_GRPC_SERVER_ENABLED": ["A"], + "DD_TRACE_GRPC_SERVER_TRIM_PACKAGE_RESOURCE": ["A"], + "DD_TRACE_GSON_ENABLED": ["A"], + "DD_TRACE_GUAVA_ENABLED": ["A"], + "DD_TRACE_HAZELCAST_ENABLED": ["A"], + "DD_TRACE_HAZELCAST_LEGACY_ENABLED": ["A"], + "DD_TRACE_HAZELCAST_SDK_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HAZELCAST_SDK_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HEADER_BAGGAGE": ["A"], + "DD_TRACE_HEADER_TAGS": ["A"], + "DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED": ["A"], + "DD_TRACE_HEALTH_METRICS_ENABLED": ["A"], + "DD_TRACE_HEALTH_METRICS_STATSD_HOST": ["A"], + "DD_TRACE_HEALTH_METRICS_STATSD_PORT": ["A"], + "DD_TRACE_HIBERNATE_CORE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HIBERNATE_CORE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HIBERNATE_CORE_ENABLED": ["A"], + "DD_TRACE_HIBERNATE_ENABLED": ["A"], + "DD_TRACE_HTTPASYNCCLIENT4_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_HTTPASYNCCLIENT5_ENABLED": ["A"], + "DD_TRACE_HTTPASYNCCLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HTTPASYNCCLIENT_ENABLED": ["A"], + "DD_TRACE_HTTPCLIENT5_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HTTPCLIENT5_ENABLED": ["A"], + "DD_TRACE_HTTPCLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HTTPCLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HTTPCLIENT_ENABLED": ["A"], + "DD_TRACE_HTTPCLIENT_REDIRECT_ENABLED": ["A"], + "DD_TRACE_HTTPCORE_5_ENABLED": ["A"], + "DD_TRACE_HTTPCORE_ENABLED": ["A"], + "DD_TRACE_HTTPURLCONNECTION_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_HTTPURLCONNECTION_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_HTTPURLCONNECTION_ENABLED": ["A"], + "DD_TRACE_HTTP_CLIENT_ERROR_STATUSES": ["A"], + "DD_TRACE_HTTP_CLIENT_PATH_RESOURCE_NAME_MAPPING": ["A"], + "DD_TRACE_HTTP_CLIENT_SPLIT_BY_DOMAIN": ["A"], + "DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING": ["A"], + "DD_TRACE_HTTP_RESOURCE_REMOVE_TRAILING_SLASH": ["A"], + "DD_TRACE_HTTP_SERVER_ERROR_STATUSES": ["A"], + "DD_TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING": ["A"], + "DD_TRACE_HTTP_URL_CONNECTION_CLASS_NAME": ["A"], + "DD_TRACE_HYSTRIX_ENABLED": ["A"], + "DD_TRACE_IASTINSTRUMENTATION_ENABLED": ["A"], + "DD_TRACE_IAST_RESULTSET_ENABLED": ["A"], + "DD_TRACE_IGNITE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_IGNITE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_IGNITE_ENABLED": ["A"], + "DD_TRACE_INPUTSTREAM_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_DATANUCLEUS_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_DROPWIZARD_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_GRPC_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_HIBERNATE_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT5_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_HTTPCLIENT5_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_HTTPCLIENT_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_JAVA_CONCURRENT_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED": ["A"], + "DD_TRACE_INTERNAL_EXIT_ON_FAILURE": ["A"], + "DD_TRACE_JACKSON_1_ENABLED": ["A"], + "DD_TRACE_JACKSON_2_12_ENABLED": ["A"], + "DD_TRACE_JACKSON_2_16_ENABLED": ["A"], + "DD_TRACE_JACKSON_2_6_ENABLED": ["A"], + "DD_TRACE_JACKSON_2_8_ENABLED": ["A"], + "DD_TRACE_JACKSON_2_ENABLED": ["A"], + "DD_TRACE_JACKSON_CORE_ENABLED": ["A"], + "DD_TRACE_JACKSON_ENABLED": ["A"], + "DD_TRACE_JACOCO_ENABLED": ["A"], + "DD_TRACE_JAKARTARS_ENABLED": ["A"], + "DD_TRACE_JAKARTA_JMS_ENABLED": ["A"], + "DD_TRACE_JAKARTA_MAIL_BODY_ENABLED": ["A"], + "DD_TRACE_JAKARTA_MAIL_ENABLED": ["A"], + "DD_TRACE_JAKARTA_MAIL_TRANSPORT_ENABLED": ["A"], + "DD_TRACE_JAKARTA_RS_ANNOTATIONS_ENABLED": ["A"], + "DD_TRACE_JAKARTA_RS_ENABLED": ["A"], + "DD_TRACE_JAKARTA_RS_FILTER_ENABLED": ["A"], + "DD_TRACE_JAKARTA_WEBSOCKET_ENABLED": ["A"], + "DD_TRACE_JAKARTA_WS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAKARTA_WS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAKARTA_WS_ENABLED": ["A"], + "DD_TRACE_JAVAX_MAIL_BODY_ENABLED": ["A"], + "DD_TRACE_JAVAX_MAIL_ENABLED": ["A"], + "DD_TRACE_JAVAX_MAIL_TRANSPORT_ENABLED": ["A"], + "DD_TRACE_JAVAX_WEBSOCKET_ENABLED": ["A"], + "DD_TRACE_JAVA_COMPLETABLEFUTURE_ENABLED": ["A"], + "DD_TRACE_JAVA_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_JAVA_CONCURRENT_OTHER_ENABLED": ["A"], + "DD_TRACE_JAVA_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAVA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAVA_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_JAVA_LANG_APPSEC_ENABLED": ["A"], + "DD_TRACE_JAVA_LANG_MANAGEMENT_ENABLED": ["A"], + "DD_TRACE_JAVA_TIMER_ENABLED": ["A"], + "DD_TRACE_JAXRS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAXRS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAXRS_ENABLED": ["A"], + "DD_TRACE_JAX_RS_ADDITIONAL_ANNOTATIONS": ["A"], + "DD_TRACE_JAX_RS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAX_RS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAX_RS_ANNOTATIONS_ENABLED": ["A"], + "DD_TRACE_JAX_RS_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAX_RS_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAX_RS_CLIENT_ENABLED": ["A"], + "DD_TRACE_JAX_RS_ENABLED": ["A"], + "DD_TRACE_JAX_RS_EXCEPTION_AS_ERROR_ENABLED": ["A"], + "DD_TRACE_JAX_RS_FILTER_ENABLED": ["A"], + "DD_TRACE_JAX_WS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JAX_WS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JAX_WS_ENABLED": ["A"], + "DD_TRACE_JBOSS_LOGMANAGER_ENABLED": ["A"], + "DD_TRACE_JBOSS_MODULES_ENABLED": ["A"], + "DD_TRACE_JDBC_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JDBC_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JDBC_CONNECTION_CLASS_NAME": ["A"], + "DD_TRACE_JDBC_DATASOURCE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JDBC_DATASOURCE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JDBC_DATASOURCE_ENABLED": ["A"], + "DD_TRACE_JDBC_ENABLED": ["A"], + "DD_TRACE_JDBC_PREPARED_STATEMENT_CLASS_NAME": ["A"], + "DD_TRACE_JDBC_RESULTSET_ENABLED": ["A"], + "DD_TRACE_JEDIS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JEDIS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JEDIS_ENABLED": ["A"], + "DD_TRACE_JEE_ENV_ENTRY_ENABLED": ["A"], + "DD_TRACE_JERSEY_ENABLED": ["A"], + "DD_TRACE_JETTY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JETTY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JETTY_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JETTY_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JETTY_CLIENT_ENABLED": ["A"], + "DD_TRACE_JETTY_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_JETTY_ENABLED": ["A"], + "DD_TRACE_JETTY_WEBSOCKET_ENABLED": ["A"], + "DD_TRACE_JMS_1_ENABLED": ["A"], + "DD_TRACE_JMS_2_ENABLED": ["A"], + "DD_TRACE_JMS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JMS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JMS_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_JMS_ENABLED": ["A"], + "DD_TRACE_JMS_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_JMS_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_JMS_TIME_IN_QUEUE_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_ACTIVEMQ_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_CASSANDRA_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_CONFLUENT_PLATFORM_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_HAZELCAST_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_HIVEMQ_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_HIVE_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_HUDI_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_IGNITE_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_JBOSS_WILDFLY_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_KAFKA_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_KUBE_APISERVER_METRICS_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_PRESTO_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_SOLR_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_SONARQUBE_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_TOMCAT_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_WEBLOGIC_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_WEBSPHERE_ENABLED": ["A"], + "DD_TRACE_JMXFETCH_{CHECK_NAME}_ENABLED": ["A"], + "DD_TRACE_JMX_TAGS": ["A"], + "DD_TRACE_JNI_ENABLED": ["A"], + "DD_TRACE_JOSE_JWT_ENABLED": ["A"], + "DD_TRACE_JSP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_JSP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_JSP_COMPILE_ENABLED": ["A"], + "DD_TRACE_JSP_ENABLED": ["A"], + "DD_TRACE_JSP_RENDER_ENABLED": ["A"], + "DD_TRACE_JUNIT4_ENABLED": ["A"], + "DD_TRACE_JUNIT_38_ENABLED": ["A"], + "DD_TRACE_JUNIT_4_CUCUMBER_ENABLED": ["A"], + "DD_TRACE_JUNIT_4_ENABLED": ["A"], + "DD_TRACE_JUNIT_4_MUNIT_ENABLED": ["A"], + "DD_TRACE_JUNIT_5_CUCUMBER_ENABLED": ["A"], + "DD_TRACE_JUNIT_5_ENABLED": ["A"], + "DD_TRACE_JUNIT_5_SPOCK_ENABLED": ["A"], + "DD_TRACE_JWT_ENABLED": ["A"], + "DD_TRACE_KAFKA_0_11_ENABLED": ["A"], + "DD_TRACE_KAFKA_3_8_ENABLED": ["A"], + "DD_TRACE_KAFKA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_KAFKA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_KAFKA_CLIENT_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_KAFKA_CONNECT_ENABLED": ["A"], + "DD_TRACE_KAFKA_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_KAFKA_ENABLED": ["A"], + "DD_TRACE_KAFKA_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_KAFKA_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_KAFKA_STREAMS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_KAFKA_STREAMS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_KAFKA_STREAMS_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_KAFKA_STREAMS_ENABLED": ["A"], + "DD_TRACE_KAFKA_TIME_IN_QUEUE_ENABLED": ["A"], + "DD_TRACE_KARATE_ENABLED": ["A"], + "DD_TRACE_KOTLIN_COROUTINE_ENABLED": ["A"], + "DD_TRACE_LEGACY_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_LETTUCE_4_ASYNC_ENABLED": ["A"], + "DD_TRACE_LETTUCE_4_ENABLED": ["A"], + "DD_TRACE_LETTUCE_5_ASYNC_ENABLED": ["A"], + "DD_TRACE_LETTUCE_5_ENABLED": ["A"], + "DD_TRACE_LETTUCE_5_RX_ENABLED": ["A"], + "DD_TRACE_LETTUCE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_LETTUCE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_LETTUCE_ENABLED": ["A"], + "DD_TRACE_LIBERTY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_LIBERTY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_LIBERTY_CLASSLOADING_ENABLED": ["A"], + "DD_TRACE_LIBERTY_ENABLED": ["A"], + "DD_TRACE_LOG4J_1_ENABLED": ["A"], + "DD_TRACE_LOG4J_2_ENABLED": ["A"], + "DD_TRACE_LOG4J_ENABLED": ["A"], + "DD_TRACE_LOGBACK_ENABLED": ["A"], + "DD_TRACE_LOGS_INTAKE_ENABLED": ["A"], + "DD_TRACE_LOGS_INTAKE_LOG4J_2_ENABLED": ["A"], + "DD_TRACE_MAVEN_ENABLED": ["A"], + "DD_TRACE_METHODS": ["A"], + "DD_TRACE_MICRONAUT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_MICRONAUT_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_3_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_4_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_ENABLED": ["A"], + "DD_TRACE_MICRONAUT_SPAN_ORIGIN_ENABLED": ["A"], + "DD_TRACE_MMAP_ENABLED": ["A"], + "DD_TRACE_MONGO_3_1_ENABLED": ["A"], + "DD_TRACE_MONGO_3_4_ENABLED": ["A"], + "DD_TRACE_MONGO_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_MONGO_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_MONGO_ENABLED": ["A"], + "DD_TRACE_MONGO_REACTIVESTREAMS_ENABLED": ["A"], + "DD_TRACE_MULE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_MULE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_MULE_ENABLED": ["A"], + "DD_TRACE_MULE_JPMS_ENABLED": ["A"], + "DD_TRACE_MULTIPART_ENABLED": ["A"], + "DD_TRACE_NATIVE_IMAGE_ENABLED": ["A"], + "DD_TRACE_NETTY_3_8_ENABLED": ["A"], + "DD_TRACE_NETTY_3_9_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_NETTY_3_9_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_NETTY_4_0_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_NETTY_4_0_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_NETTY_4_0_ENABLED": ["A"], + "DD_TRACE_NETTY_4_1_ENABLED": ["A"], + "DD_TRACE_NETTY_4_1_HTTP2_ENABLED": ["A"], + "DD_TRACE_NETTY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_NETTY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_NETTY_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_NETTY_ENABLED": ["A"], + "DD_TRACE_NETTY_EVENT_EXECUTOR_ENABLED": ["A"], + "DD_TRACE_NETTY_PROMISE_ENABLED": ["A"], + "DD_TRACE_NEW_TASK_FOR_ENABLED": ["A"], + "DD_TRACE_NING_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_NING_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_NING_ENABLED": ["A"], + "DD_TRACE_NOT_NOT_TRACE_ENABLED": ["A"], + "DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP": ["A"], + "DD_TRACE_OGNL_ENABLED": ["A"], + "DD_TRACE_OKHTTP_2_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OKHTTP_2_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OKHTTP_2_ENABLED": ["A"], + "DD_TRACE_OKHTTP_3_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OKHTTP_3_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OKHTTP_3_ENABLED": ["A"], + "DD_TRACE_OKHTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OKHTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OKHTTP_ENABLED": ["A"], + "DD_TRACE_OPENSEARCH_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OPENSEARCH_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OPENSEARCH_ENABLED": ["A"], + "DD_TRACE_OPENSEARCH_REST_ENABLED": ["A"], + "DD_TRACE_OPENSEARCH_TRANSPORT_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_1_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_26_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_BETA_ENABLED": ["A"], + "DD_TRACE_OPENTELEMETRY_EXPERIMENTAL_ENABLED": ["A"], + "DD_TRACE_OPENTRACING_ENABLED": ["A"], + "DD_TRACE_OPENTRACING_GLOBALTRACER_ENABLED": ["A"], + "DD_TRACE_ORG_JSON_ENABLED": ["A"], + "DD_TRACE_OSGI_ENABLED": ["A"], + "DD_TRACE_OTEL_ENABLED": ["A"], + "DD_TRACE_PARTIAL_FLUSH_ENABLED": ["A"], + "DD_TRACE_PARTIAL_FLUSH_MIN_SPANS": ["A"], + "DD_TRACE_PEERSERVICETAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_PEER_HOSTNAME_ENABLED": ["A"], + "DD_TRACE_PEER_SERVICE_COMPONENT_OVERRIDES": ["A"], + "DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED": ["A"], + "DD_TRACE_PEER_SERVICE_MAPPING": ["A"], + "DD_TRACE_PEKKO_ACTOR_ENABLED": ["A"], + "DD_TRACE_PEKKO_ACTOR_MAILBOX_ENABLED": ["A"], + "DD_TRACE_PEKKO_ACTOR_RECEIVE_ENABLED": ["A"], + "DD_TRACE_PEKKO_ACTOR_SEND_ENABLED": ["A"], + "DD_TRACE_PEKKO_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP2_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_PEKKO_HTTP_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_PEKKO_HTTP_CLIENT_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_PEKKO_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_PEKKO_HTTP_SERVER_ENABLED": ["A"], + "DD_TRACE_PEKKO_SCHEDULER_ENABLED": ["A"], + "DD_TRACE_PERF_METRICS_ENABLED": ["A"], + "DD_TRACE_PIPE_NAME": ["A"], + "DD_TRACE_PLAY_ACTION_ENABLED": ["A"], + "DD_TRACE_PLAY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_PLAY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_PLAY_ENABLED": ["A"], + "DD_TRACE_PLAY_REPORT_HTTP_STATUS": ["A"], + "DD_TRACE_PLAY_WS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_PLAY_WS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_PLAY_WS_ENABLED": ["A"], + "DD_TRACE_POST_PROCESSING_TIMEOUT": ["A"], + "DD_TRACE_POWERMOCK_ENABLED": ["A"], + "DD_TRACE_PROPAGATION_BEHAVIOR_EXTRACT": ["A"], + "DD_TRACE_PROPAGATION_EXTRACT_FIRST": ["A"], + "DD_TRACE_PROPAGATION_STYLE": ["A"], + "DD_TRACE_PROPAGATION_STYLE_B3_PADDING_ENABLED": ["A"], + "DD_TRACE_PROPAGATION_STYLE_EXTRACT": ["A"], + "DD_TRACE_PROPAGATION_STYLE_INJECT": ["A"], + "DD_TRACE_PROTOBUF_ENABLED": ["A"], + "DD_TRACE_QUARTZ_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_QUARTZ_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_QUARTZ_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RABBITMQ_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_RABBITMQ_TIME_IN_QUEUE_ENABLED": ["A"], + "DD_TRACE_RABBIT_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_RABBIT_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_RABBIT_TIME_IN_QUEUE_ENABLED": ["A"], + "DD_TRACE_RATE_LIMIT": ["A"], + "DD_TRACE_RATPACK_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RATPACK_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RATPACK_ENABLED": ["A"], + "DD_TRACE_RATPACK_REQUEST_BODY_ENABLED": ["A"], + "DD_TRACE_REACTIVE_STREAMS_1_ENABLED": ["A"], + "DD_TRACE_REACTIVE_STREAMS_ENABLED": ["A"], + "DD_TRACE_REACTOR_CORE_ENABLED": ["A"], + "DD_TRACE_REACTOR_NETTY_1_ENABLED": ["A"], + "DD_TRACE_REACTOR_NETTY_ENABLED": ["A"], + "DD_TRACE_REDISCALA_CONNECTION_ENABLED": ["A"], + "DD_TRACE_REDISCALA_ENABLED": ["A"], + "DD_TRACE_REDISSCALA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_REDISSCALA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_REDISSON_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_REDISSON_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_REDISSON_ENABLED": ["A"], + "DD_TRACE_REDIS_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_REDIS_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_REDIS_ENABLED": ["A"], + "DD_TRACE_REJECTED_EXECUTION_HANDLER_ENABLED": ["A"], + "DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED": ["A"], + "DD_TRACE_RENAISSANCE_ENABLED": ["A"], + "DD_TRACE_REPORT_HOSTNAME": ["A"], + "DD_TRACE_REQUEST_HEADER_TAGS": ["A"], + "DD_TRACE_REQUEST_HEADER_TAGS_COMMA_ALLOWED": ["A"], + "DD_TRACE_RESOLVER_ENABLED": ["A"], + "DD_TRACE_RESOURCENAMERULE_ENABLED": ["A"], + "DD_TRACE_RESPONSE_ENABLED": ["A"], + "DD_TRACE_RESPONSE_HEADER_TAGS": ["A"], + "DD_TRACE_RESTEASY_ENABLED": ["A"], + "DD_TRACE_RESTLET_HTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RESTLET_HTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RESTLET_HTTP_ENABLED": ["A"], + "DD_TRACE_RESTLET_HTTP_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RESTLET_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RESTLET_HTTP_SERVER_ENABLED": ["A"], + "DD_TRACE_RMI_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RMI_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RMI_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RMI_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED": ["A"], + "DD_TRACE_RMI_CLIENT_ENABLED": ["A"], + "DD_TRACE_RMI_CONTEXT_PROPAGATOR_ENABLED": ["A"], + "DD_TRACE_RMI_ENABLED": ["A"], + "DD_TRACE_RMI_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_RMI_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_RMI_SERVER_CONTEXT_PROPAGATOR_ENABLED": ["A"], + "DD_TRACE_RMI_SERVER_ENABLED": ["A"], + "DD_TRACE_RUNNABLE_ENABLED": ["A"], + "DD_TRACE_RUNNABLE_FUTURE_ENABLED": ["A"], + "DD_TRACE_RUNTIME_CONTEXT_FIELD_INJECTION": ["A"], + "DD_TRACE_RXJAVA_ENABLED": ["A"], + "DD_TRACE_S3_ENABLED": ["A"], + "DD_TRACE_SAMPLE_RATE": ["A"], + "DD_TRACE_SAMPLING_MECHANISM_VALIDATION_DISABLED": ["A"], + "DD_TRACE_SAMPLING_OPERATION_RULES": ["A"], + "DD_TRACE_SAMPLING_RULES": ["A"], + "DD_TRACE_SAMPLING_SERVICE_RULES": ["A"], + "DD_TRACE_SCALATEST_ENABLED": ["A"], + "DD_TRACE_SCALA_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_SCALA_FUTURE_OBJECT_ENABLED": ["A"], + "DD_TRACE_SCALA_PROMISE_COMPLETE_ENABLED": ["A"], + "DD_TRACE_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED": ["A"], + "DD_TRACE_SCALA_PROMISE_RESOLVE_ENABLED": ["A"], + "DD_TRACE_SCOPE_DEPTH_LIMIT": ["A"], + "DD_TRACE_SCOPE_ITERATION_KEEP_ALIVE": ["A"], + "DD_TRACE_SCOPE_STRICT_MODE": ["A"], + "DD_TRACE_SECURE_RANDOM": ["A"], + "DD_TRACE_SELENIUM_ENABLED": ["A"], + "DD_TRACE_SERIALVERSIONUID_FIELD_INJECTION": ["A"], + "DD_TRACE_SERVELET_RESPONSE_ENABLED": ["A"], + "DD_TRACE_SERVICENAMETAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_SERVICETALK_CONCURRENT_ENABLED": ["A"], + "DD_TRACE_SERVICETALK_ENABLED": ["A"], + "DD_TRACE_SERVLETCONTEXTTAGINTERCEPTOR_ENABLED": ["A"], + "DD_TRACE_SERVLET_2_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_2_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_2_ENABLED": ["A"], + "DD_TRACE_SERVLET_3_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_3_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_3_ENABLED": ["A"], + "DD_TRACE_SERVLET_5_ENABLED": ["A"], + "DD_TRACE_SERVLET_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR": ["A"], + "DD_TRACE_SERVLET_COOKIE_ENABLED": ["A"], + "DD_TRACE_SERVLET_DISPATCHER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_DISPATCHER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_DISPATCHER_ENABLED": ["A"], + "DD_TRACE_SERVLET_ENABLED": ["A"], + "DD_TRACE_SERVLET_FILTER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_FILTER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_FILTER_ENABLED": ["A"], + "DD_TRACE_SERVLET_PRINCIPAL_ENABLED": ["A"], + "DD_TRACE_SERVLET_REQUEST_BODY_ENABLED": ["A"], + "DD_TRACE_SERVLET_REQUEST_ENABLED": ["A"], + "DD_TRACE_SERVLET_RESPONSE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_RESPONSE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_RESPONSE_ENABLED": ["A"], + "DD_TRACE_SERVLET_ROOT_CONTEXT_SERVICE_NAME": ["A"], + "DD_TRACE_SERVLET_SERVICE_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SERVLET_SERVICE_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SERVLET_SERVICE_ENABLED": ["A"], + "DD_TRACE_SERVLET_SESSION_ENABLED": ["A"], + "DD_TRACE_SETUP_TEARDOWN_ENABLED": ["A"], + "DD_TRACE_SFN_ENABLED": ["A"], + "DD_TRACE_SHUTDOWN_ENABLED": ["A"], + "DD_TRACE_SLICK_ENABLED": ["A"], + "DD_TRACE_SNAKEYAML_ENABLED": ["A"], + "DD_TRACE_SNS_ENABLED": ["A"], + "DD_TRACE_SOCKET_ENABLED": ["A"], + "DD_TRACE_SPAN_ATTRIBUTE_SCHEMA": ["A"], + "DD_TRACE_SPAN_TAGS": ["A"], + "DD_TRACE_SPARKJAVA_2_4_ENABLED": ["A"], + "DD_TRACE_SPARKJAVA_ENABLED": ["A"], + "DD_TRACE_SPARK_ENABLED": ["A"], + "DD_TRACE_SPARK_EXECUTOR_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPARK_EXECUTOR_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPARK_EXECUTOR_ENABLED": ["A"], + "DD_TRACE_SPARK_EXIT_ENABLED": ["A"], + "DD_TRACE_SPARK_OPENLINEAGE_ENABLED": ["A"], + "DD_TRACE_SPLIT_BY_TAGS": ["A"], + "DD_TRACE_SPRAY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRAY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRAY_HTTP_ENABLED": ["A"], + "DD_TRACE_SPRAY_HTTP_SERVER_ENABLED": ["A"], + "DD_TRACE_SPRING_ASYNC_ENABLED": ["A"], + "DD_TRACE_SPRING_BEANS_ENABLED": ["A"], + "DD_TRACE_SPRING_BOOT_ENABLED": ["A"], + "DD_TRACE_SPRING_BOOT_SPAN_ORIGIN_ENABLED": ["A"], + "DD_TRACE_SPRING_CLOUD_ZUUL_ENABLED": ["A"], + "DD_TRACE_SPRING_CORE_ENABLED": ["A"], + "DD_TRACE_SPRING_DATA_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_DATA_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_DATA_ENABLED": ["A"], + "DD_TRACE_SPRING_JMS_ENABLED": ["A"], + "DD_TRACE_SPRING_MESSAGING_4_ENABLED": ["A"], + "DD_TRACE_SPRING_MESSAGING_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_MESSAGING_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_MESSAGING_E2E_DURATION_ENABLED": ["A"], + "DD_TRACE_SPRING_MESSAGING_ENABLED": ["A"], + "DD_TRACE_SPRING_PATH_FILTER_ENABLED": ["A"], + "DD_TRACE_SPRING_RABBIT_ENABLED": ["A"], + "DD_TRACE_SPRING_SCHEDULING_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_SCHEDULING_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_SCHEDULING_ENABLED": ["A"], + "DD_TRACE_SPRING_SCHEDULING_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_SPRING_SECURITY_ENABLED": ["A"], + "DD_TRACE_SPRING_WEBFLUX_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_WEBFLUX_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_WEBFLUX_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_WEBFLUX_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_WEBFLUX_CLIENT_ENABLED": ["A"], + "DD_TRACE_SPRING_WEBFLUX_ENABLED": ["A"], + "DD_TRACE_SPRING_WEBFLUX_FUNCTIONAL_ENABLED": ["A"], + "DD_TRACE_SPRING_WEB_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPRING_WEB_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPRING_WEB_CODE_ORIGIN_ENABLED": ["A"], + "DD_TRACE_SPRING_WEB_ENABLED": ["A"], + "DD_TRACE_SPRING_WS_2_ENABLED": ["A"], + "DD_TRACE_SPRING_WS_ENABLED": ["A"], + "DD_TRACE_SPYMEMCACHED_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SPYMEMCACHED_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SPYMEMCACHED_ENABLED": ["A"], + "DD_TRACE_SQS_BODY_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_SQS_ENABLED": ["A"], + "DD_TRACE_SQS_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_SQS_PROPAGATION_ENABLED": ["A"], + "DD_TRACE_SQS_TIME_IN_QUEUE_ENABLED": ["A"], + "DD_TRACE_SSLSOCKET_ENABLED": ["A"], + "DD_TRACE_STARTUP_LOGS": ["A"], + "DD_TRACE_STATS_COMPUTATION_ENABLED": ["A"], + "DD_TRACE_STATUS404DECORATOR_ENABLED": ["A"], + "DD_TRACE_STATUS404RULE_ENABLED": ["A"], + "DD_TRACE_STRICT_WRITES_ENABLED": ["A"], + "DD_TRACE_STRUCTURED_TASK_SCOPE_ENABLED": ["A"], + "DD_TRACE_SUREFIRE_ENABLED": ["A"], + "DD_TRACE_SYNAPSE3_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_SYNAPSE3_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_SYNAPSE3_CLIENT_ENABLED": ["A"], + "DD_TRACE_SYNAPSE3_ENABLED": ["A"], + "DD_TRACE_SYNAPSE3_SERVER_ENABLED": ["A"], + "DD_TRACE_TAGS": ["A"], + "DD_TRACE_TASK_RUNNER_ENABLED": ["A"], + "DD_TRACE_TASK_UNWRAPPING_ENABLED": ["A"], + "DD_TRACE_TESTNG_6_ENABLED": ["A"], + "DD_TRACE_TESTNG_7_ENABLED": ["A"], + "DD_TRACE_TESTNG_ENABLED": ["A"], + "DD_TRACE_TESTNG_ITR_ENABLED": ["A"], + "DD_TRACE_TESTS_ENABLED": ["A"], + "DD_TRACE_TEST_ORDER_ENABLED": ["A"], + "DD_TRACE_TEST_RETRY_ENABLED": ["A"], + "DD_TRACE_THREAD_POOL_EXECUTORS_EXCLUDE": ["A"], + "DD_TRACE_THREAD_POOL_EXECUTORS_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_THROWABLES_ENABLED": ["A"], + "DD_TRACE_THYMELEAF_ENABLED": ["A"], + "DD_TRACE_TIBCO_BW_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_TIBCO_BW_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_TIBCO_BW_ENABLED": ["A"], + "DD_TRACE_TIBCO_ENABLED": ["A"], + "DD_TRACE_TINYLOG_ENABLED": ["A"], + "DD_TRACE_TOMCAT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_TOMCAT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_TOMCAT_CLASSLOADING_ENABLED": ["A"], + "DD_TRACE_TOMCAT_ENABLED": ["A"], + "DD_TRACE_TOMCAT_WEBSOCKET_ENABLED": ["A"], + "DD_TRACE_TRACER_METRICS_BUFFERING_ENABLED": ["A"], + "DD_TRACE_TRACER_METRICS_ENABLED": ["A"], + "DD_TRACE_TRACER_METRICS_IGNORED_RESOURCES": ["A"], + "DD_TRACE_TRACER_METRICS_MAX_AGGREGATES": ["A"], + "DD_TRACE_TRACER_METRICS_MAX_PENDING": ["A"], + "DD_TRACE_TRACE_ANNOTATION_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_TRACE_ANNOTATION_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_TRACE_ANNOTATION_ENABLED": ["A"], + "DD_TRACE_TRACE_CONFIG_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_TRACE_CONFIG_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_TRACE_CONFIG_ENABLED": ["A"], + "DD_TRACE_TRACE_ENABLED": ["A"], + "DD_TRACE_TRIAGE": ["A"], + "DD_TRACE_TWILIO_SDK_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_TWILIO_SDK_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_TWILIO_SDK_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_2_0_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_2_2_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_HTTP_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_HTTP_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_UNDERTOW_HTTP_SERVER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_UNDERTOW_LEGACY_TRACING_ENABLED": ["A"], + "DD_TRACE_UNDERTOW_REQUEST_PARSE_ENABLED": ["A"], + "DD_TRACE_URLASRESOURCENAMERULE_ENABLED": ["A"], + "DD_TRACE_URLCONNECTION_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_URLCONNECTION_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_URLCONNECTION_ENABLED": ["A"], + "DD_TRACE_VALKEY_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_VALKEY_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_VALKEY_ENABLED": ["A"], + "DD_TRACE_VELOCITY_ENABLED": ["A"], + "DD_TRACE_VERTX_3_4_ENABLED": ["A"], + "DD_TRACE_VERTX_3_5_ENABLED": ["A"], + "DD_TRACE_VERTX_3_9_ENABLED": ["A"], + "DD_TRACE_VERTX_4_0_ENABLED": ["A"], + "DD_TRACE_VERTX_5_0_ENABLED": ["A"], + "DD_TRACE_VERTX_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_VERTX_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_VERTX_ENABLED": ["A"], + "DD_TRACE_VERTX_REDIS_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_VERTX_REDIS_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_VERTX_REDIS_CLIENT_ENABLED": ["A"], + "DD_TRACE_VERTX_ROUTE_HANDLER_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_VERTX_ROUTE_HANDLER_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_VERTX_SQL_CLIENT_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_VERTX_SQL_CLIENT_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_VERTX_SQL_CLIENT_ENABLED": ["A"], + "DD_TRACE_WALLCLOCK_ENABLED": ["A"], + "DD_TRACE_WEAVER_ENABLED": ["A"], + "DD_TRACE_WEBSOCKET_ANALYTICS_ENABLED": ["A"], + "DD_TRACE_WEBSOCKET_ANALYTICS_SAMPLE_RATE": ["A"], + "DD_TRACE_WEBSOCKET_ENABLED": ["A"], + "DD_TRACE_WEBSOCKET_MESSAGES_ENABLED": ["A"], + "DD_TRACE_WEBSOCKET_MESSAGES_INHERIT_SAMPLING": ["A"], + "DD_TRACE_WEBSOCKET_MESSAGES_SEPARATE_TRACES": ["A"], + "DD_TRACE_WEBSOCKET_TAG_SESSION_ID": ["A"], + "DD_TRACE_WEBSPHERE_JMX_ENABLED": ["A"], + "DD_TRACE_WILDFLY_ENABLED": ["A"], + "DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH": ["A"], + "DD_TRACE_ZIO_EXPERIMENTAL_ENABLED": ["A"], + "DD_TRIAGE_REPORT_DIR": ["A"], + "DD_TRIAGE_REPORT_TRIGGER": ["A"], + "DD_UNDERTOW_CONTINUATION": ["A"], + "DD_USM_ENABLED": ["A"], + "DD_VERSION": ["A"], + "DD_WRITER_BAGGAGE_INJECT": ["A"], + "DD_WRITER_TYPE": ["A"], + "OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_REQUEST_HEADERS": ["A"], + "OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_RESPONSE_HEADERS": ["A"], + "OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_REQUEST_HEADERS": ["A"], + "OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_RESPONSE_HEADERS": ["A"], + "OTEL_JAVAAGENT_CONFIGURATION_FILE": ["A"], + "OTEL_JAVAAGENT_EXTENSIONS": ["A"], + "OTEL_LOGS_EXPORTER": ["A"], + "OTEL_LOG_LEVEL": ["A"], + "OTEL_METRICS_EXPORTER": ["A"], + "OTEL_PROPAGATORS": ["A"], + "OTEL_RESOURCE_ATTRIBUTES": ["A"], + "OTEL_SDK_DISABLED": ["A"], + "OTEL_SERVICE_NAME": ["A"], + "OTEL_TRACES_EXPORTER": ["A"], + "OTEL_TRACES_SAMPLER": ["A"] + }, + "aliases": { + "DD_PROFILING_ASYNC_LIVEHEAP_CAPACITY": ["DD_PROFILING_DDPROF_MEMLEAK_CAPACITY"], + "DD_PROFILING_ASYNC_LIVEHEAP_INTERVAL": ["DD_PROFILING_DDPROF_MEMLEAK_INTERVAL"], + "DD_PROFILING_STACKDEPTH": ["DD_PROFILING_DDPROF_STACKDEPTH"], + "DD_TRACE_AEROSPIKE_ANALYTICS_SAMPLE_RATE": ["DD_AEROSPIKE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AEROSPIKE_ENABLED": ["DD_TRACE_INTEGRATION_AEROSPIKE_ENABLED","DD_INTEGRATION_AEROSPIKE_ENABLED"], + "DD_TRACE_AKKA_ACTOR_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_ACTOR_ENABLED","DD_INTEGRATION_AKKA_ACTOR_ENABLED"], + "DD_TRACE_AKKA_ACTOR_MAILBOX_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_ACTOR_MAILBOX_ENABLED","DD_INTEGRATION_AKKA_ACTOR_MAILBOX_ENABLED"], + "DD_TRACE_AKKA_ACTOR_RECEIVE_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_ACTOR_RECEIVE_ENABLED","DD_INTEGRATION_AKKA_ACTOR_RECEIVE_ENABLED"], + "DD_TRACE_AKKA_ACTOR_SEND_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_ACTOR_SEND_ENABLED","DD_INTEGRATION_AKKA_ACTOR_SEND_ENABLED"], + "DD_TRACE_AKKA_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_CONCURRENT_ENABLED","DD_INTEGRATION_AKKA_CONCURRENT_ENABLED"], + "DD_TRACE_AKKA_HTTP2_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_HTTP2_ENABLED","DD_INTEGRATION_AKKA_HTTP2_ENABLED"], + "DD_TRACE_AKKA_HTTP_ANALYTICS_SAMPLE_RATE": ["DD_AKKA_HTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AKKA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_AKKA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AKKA_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED","DD_INTEGRATION_AKKA_HTTP_CLIENT_ENABLED"], + "DD_TRACE_AKKA_HTTP_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_HTTP_ENABLED","DD_INTEGRATION_AKKA_HTTP_ENABLED"], + "DD_TRACE_AKKA_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_AKKA_HTTP_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AKKA_HTTP_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_AKKA_HTTP_SERVER_ENABLED","DD_INTEGRATION_AKKA_HTTP_SERVER_ENABLED"], + "DD_TRACE_ALLOCATEDIRECT_ENABLED": ["DD_TRACE_INTEGRATION_ALLOCATEDIRECT_ENABLED","DD_INTEGRATION_ALLOCATEDIRECT_ENABLED"], + "DD_TRACE_AMQP_ANALYTICS_SAMPLE_RATE": ["DD_AMQP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AMQP_ENABLED": ["DD_TRACE_INTEGRATION_AMQP_ENABLED","DD_INTEGRATION_AMQP_ENABLED"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT5_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPASYNCCLIENT5_ENABLED","DD_INTEGRATION_APACHE_HTTPASYNCCLIENT5_ENABLED"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE": ["DD_APACHE_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_APACHE_HTTPASYNCCLIENT_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED","DD_INTEGRATION_APACHE_HTTPASYNCCLIENT_ENABLED"], + "DD_TRACE_APACHE_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE": ["DD_APACHE_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_APACHE_HTTPCLIENT5_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPCLIENT5_ENABLED","DD_INTEGRATION_APACHE_HTTPCLIENT5_ENABLED"], + "DD_TRACE_APACHE_HTTPCLIENT_ANALYTICS_SAMPLE_RATE": ["DD_APACHE_HTTPCLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_APACHE_HTTPCLIENT_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPCLIENT_ENABLED","DD_INTEGRATION_APACHE_HTTPCLIENT_ENABLED"], + "DD_TRACE_APACHE_HTTPCORE_5_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPCORE_5_ENABLED","DD_INTEGRATION_APACHE_HTTPCORE_5_ENABLED"], + "DD_TRACE_APACHE_HTTPCORE_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTPCORE_ENABLED","DD_INTEGRATION_APACHE_HTTPCORE_ENABLED"], + "DD_TRACE_APACHE_HTTP_CLIENT5_ANALYTICS_SAMPLE_RATE": ["DD_APACHE_HTTP_CLIENT5_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_APACHE_HTTP_CLIENT5_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED","DD_INTEGRATION_APACHE_HTTP_CLIENT5_ENABLED"], + "DD_TRACE_APACHE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_APACHE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_APACHE_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED","DD_INTEGRATION_APACHE_HTTP_CLIENT_ENABLED"], + "DD_TRACE_APACHE_HTTP_CORE_5_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED","DD_INTEGRATION_APACHE_HTTP_CORE_5_ENABLED"], + "DD_TRACE_APACHE_HTTP_CORE_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_HTTP_CORE_ENABLED","DD_INTEGRATION_APACHE_HTTP_CORE_ENABLED"], + "DD_TRACE_APACHE_SPARK_ENABLED": ["DD_TRACE_INTEGRATION_APACHE_SPARK_ENABLED","DD_INTEGRATION_APACHE_SPARK_ENABLED"], + "DD_TRACE_ARMERIA_ANALYTICS_SAMPLE_RATE": ["DD_ARMERIA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_ARMERIA_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_ENABLED","DD_INTEGRATION_ARMERIA_ENABLED"], + "DD_TRACE_ARMERIA_GRPC_ANALYTICS_SAMPLE_RATE": ["DD_ARMERIA_GRPC_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_ARMERIA_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_ARMERIA_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_ARMERIA_GRPC_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_CLIENT_ENABLED","DD_INTEGRATION_ARMERIA_GRPC_CLIENT_ENABLED"], + "DD_TRACE_ARMERIA_GRPC_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_ENABLED","DD_INTEGRATION_ARMERIA_GRPC_ENABLED"], + "DD_TRACE_ARMERIA_GRPC_MESSAGE_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED","DD_INTEGRATION_ARMERIA_GRPC_MESSAGE_ENABLED"], + "DD_TRACE_ARMERIA_GRPC_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_ARMERIA_GRPC_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_ARMERIA_GRPC_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED","DD_INTEGRATION_ARMERIA_GRPC_SERVER_ENABLED"], + "DD_TRACE_ARMERIA_JETTY_ENABLED": ["DD_TRACE_INTEGRATION_ARMERIA_JETTY_ENABLED","DD_INTEGRATION_ARMERIA_JETTY_ENABLED"], + "DD_TRACE_AUTH0_JWT_ENABLED": ["DD_TRACE_INTEGRATION_AUTH0_JWT_ENABLED","DD_INTEGRATION_AUTH0_JWT_ENABLED"], + "DD_TRACE_AVRO_ENABLED": ["DD_TRACE_INTEGRATION_AVRO_ENABLED","DD_INTEGRATION_AVRO_ENABLED"], + "DD_TRACE_AWSADD_SPAN_POINTERS": ["DD_AWSADD_SPAN_POINTERS"], + "DD_TRACE_AWS_DYNAMODB_ENABLED": ["DD_TRACE_INTEGRATION_AWS_DYNAMODB_ENABLED","DD_INTEGRATION_AWS_DYNAMODB_ENABLED"], + "DD_TRACE_AWS_LAMBDA_ENABLED": ["DD_TRACE_INTEGRATION_AWS_LAMBDA_ENABLED","DD_INTEGRATION_AWS_LAMBDA_ENABLED"], + "DD_TRACE_AWS_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_AWS_PROPAGATION_ENABLED","DD_INTEGRATION_AWS_PROPAGATION_ENABLED"], + "DD_TRACE_AWS_S3_ENABLED": ["DD_TRACE_INTEGRATION_AWS_S3_ENABLED","DD_INTEGRATION_AWS_S3_ENABLED"], + "DD_TRACE_AWS_SDK_ANALYTICS_SAMPLE_RATE": ["DD_AWS_SDK_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AWS_SDK_ENABLED": ["DD_TRACE_INTEGRATION_AWS_SDK_ENABLED","DD_INTEGRATION_AWS_SDK_ENABLED"], + "DD_TRACE_AWS_SDK_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_AWS_SDK_PROPAGATION_ENABLED","DD_INTEGRATION_AWS_SDK_PROPAGATION_ENABLED"], + "DD_TRACE_AXIS2_ANALYTICS_SAMPLE_RATE": ["DD_AXIS2_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AXIS2_ENABLED": ["DD_TRACE_INTEGRATION_AXIS2_ENABLED","DD_INTEGRATION_AXIS2_ENABLED"], + "DD_TRACE_AXIS2_TRANSPORT_ENABLED": ["DD_TRACE_INTEGRATION_AXIS2_TRANSPORT_ENABLED","DD_INTEGRATION_AXIS2_TRANSPORT_ENABLED"], + "DD_TRACE_AXWAY_API_ENABLED": ["DD_TRACE_INTEGRATION_AXWAY_API_ENABLED","DD_INTEGRATION_AXWAY_API_ENABLED"], + "DD_TRACE_AXWAY_HTTP_ANALYTICS_SAMPLE_RATE": ["DD_AXWAY_HTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AZURE_FUNCTIONS_ANALYTICS_SAMPLE_RATE": ["DD_AZURE_FUNCTIONS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_AZURE_FUNCTIONS_ENABLED": ["DD_TRACE_INTEGRATION_AZURE_FUNCTIONS_ENABLED","DD_INTEGRATION_AZURE_FUNCTIONS_ENABLED"], + "DD_TRACE_CAFFEINE_ENABLED": ["DD_TRACE_INTEGRATION_CAFFEINE_ENABLED","DD_INTEGRATION_CAFFEINE_ENABLED"], + "DD_TRACE_CASSANDRA_ANALYTICS_SAMPLE_RATE": ["DD_CASSANDRA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_CASSANDRA_ENABLED": ["DD_TRACE_INTEGRATION_CASSANDRA_ENABLED","DD_INTEGRATION_CASSANDRA_ENABLED"], + "DD_TRACE_CI_VISIBILITY_ENABLED": ["DD_TRACE_INTEGRATION_CI_VISIBILITY_ENABLED","DD_INTEGRATION_CI_VISIBILITY_ENABLED"], + "DD_TRACE_CLASSLOADING_ENABLED": ["DD_TRACE_INTEGRATION_CLASSLOADING_ENABLED","DD_INTEGRATION_CLASSLOADING_ENABLED"], + "DD_TRACE_COMMONS_FILEUPLOAD_ENABLED": ["DD_TRACE_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED","DD_INTEGRATION_COMMONS_FILEUPLOAD_ENABLED"], + "DD_TRACE_COMMONS_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_COMMONS_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_COMMONS_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED","DD_INTEGRATION_COMMONS_HTTP_CLIENT_ENABLED"], + "DD_TRACE_CONSUMER_TASK_ENABLED": ["DD_TRACE_INTEGRATION_CONSUMER_TASK_ENABLED","DD_INTEGRATION_CONSUMER_TASK_ENABLED"], + "DD_TRACE_COUCHBASE_3_ENABLED": ["DD_TRACE_INTEGRATION_COUCHBASE_3_ENABLED","DD_INTEGRATION_COUCHBASE_3_ENABLED"], + "DD_TRACE_COUCHBASE_ANALYTICS_SAMPLE_RATE": ["DD_COUCHBASE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_COUCHBASE_ENABLED": ["DD_TRACE_INTEGRATION_COUCHBASE_ENABLED","DD_INTEGRATION_COUCHBASE_ENABLED"], + "DD_TRACE_CUCUMBER_5_ANALYTICS_SAMPLE_RATE": ["DD_CUCUMBER_5_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_CUCUMBER_5_ENABLED": ["DD_TRACE_INTEGRATION_CUCUMBER_5_ENABLED","DD_INTEGRATION_CUCUMBER_5_ENABLED"], + "DD_TRACE_CUCUMBER_ANALYTICS_SAMPLE_RATE": ["DD_CUCUMBER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_CUCUMBER_ENABLED": ["DD_TRACE_INTEGRATION_CUCUMBER_ENABLED","DD_INTEGRATION_CUCUMBER_ENABLED"], + "DD_TRACE_CXF_ENABLED": ["DD_TRACE_INTEGRATION_CXF_ENABLED","DD_INTEGRATION_CXF_ENABLED"], + "DD_TRACE_CXF_INVOKER_ENABLED": ["DD_TRACE_INTEGRATION_CXF_INVOKER_ENABLED","DD_INTEGRATION_CXF_INVOKER_ENABLED"], + "DD_TRACE_DATANUCLEUS_ANALYTICS_SAMPLE_RATE": ["DD_DATANUCLEUS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_DATANUCLEUS_ENABLED": ["DD_TRACE_INTEGRATION_DATANUCLEUS_ENABLED","DD_INTEGRATION_DATANUCLEUS_ENABLED"], + "DD_TRACE_DB2_ENABLED": ["DD_TRACE_INTEGRATION_DB2_ENABLED","DD_INTEGRATION_DB2_ENABLED"], + "DD_TRACE_DBM_ENABLED": ["DD_TRACE_INTEGRATION_DBM_ENABLED","DD_INTEGRATION_DBM_ENABLED"], + "DD_TRACE_DEFINECLASS_ENABLED": ["DD_TRACE_INTEGRATION_DEFINECLASS_ENABLED","DD_INTEGRATION_DEFINECLASS_ENABLED"], + "DD_TRACE_DIRECTALLOCATION_ENABLED": ["DD_TRACE_INTEGRATION_DIRECTALLOCATION_ENABLED","DD_INTEGRATION_DIRECTALLOCATION_ENABLED"], + "DD_TRACE_DO_NOT_TRACE_ANNOTATION_ENABLED": ["DD_TRACE_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED","DD_INTEGRATION_DO_NOT_TRACE_ANNOTATION_ENABLED"], + "DD_TRACE_DROPWIZARD_ENABLED": ["DD_TRACE_INTEGRATION_DROPWIZARD_ENABLED","DD_INTEGRATION_DROPWIZARD_ENABLED"], + "DD_TRACE_DROPWIZARD_VIEW_ENABLED": ["DD_TRACE_INTEGRATION_DROPWIZARD_VIEW_ENABLED","DD_INTEGRATION_DROPWIZARD_VIEW_ENABLED"], + "DD_TRACE_DYNAMODB_ENABLED": ["DD_TRACE_INTEGRATION_DYNAMODB_ENABLED","DD_INTEGRATION_DYNAMODB_ENABLED"], + "DD_TRACE_ELASTICSEARCH_ANALYTICS_SAMPLE_RATE": ["DD_ELASTICSEARCH_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_ELASTICSEARCH_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_ENABLED","DD_INTEGRATION_ELASTICSEARCH_ENABLED"], + "DD_TRACE_ELASTICSEARCH_REST_5_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_REST_5_ENABLED","DD_INTEGRATION_ELASTICSEARCH_REST_5_ENABLED"], + "DD_TRACE_ELASTICSEARCH_REST_6_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_REST_6_ENABLED","DD_INTEGRATION_ELASTICSEARCH_REST_6_ENABLED"], + "DD_TRACE_ELASTICSEARCH_REST_7_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_REST_7_ENABLED","DD_INTEGRATION_ELASTICSEARCH_REST_7_ENABLED"], + "DD_TRACE_ELASTICSEARCH_REST_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_REST_ENABLED","DD_INTEGRATION_ELASTICSEARCH_REST_ENABLED"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_2_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_2_ENABLED","DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_2_ENABLED"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_5_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED","DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_5_ENABLED"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_6_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED","DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_6_ENABLED"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_7_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED","DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_7_ENABLED"], + "DD_TRACE_ELASTICSEARCH_TRANSPORT_ENABLED": ["DD_TRACE_INTEGRATION_ELASTICSEARCH_TRANSPORT_ENABLED","DD_INTEGRATION_ELASTICSEARCH_TRANSPORT_ENABLED"], + "DD_TRACE_EMR_AWS_SDK_ENABLED": ["DD_TRACE_INTEGRATION_EMR_AWS_SDK_ENABLED","DD_INTEGRATION_EMR_AWS_SDK_ENABLED"], + "DD_TRACE_EVENTBRIDGE_ENABLED": ["DD_TRACE_INTEGRATION_EVENTBRIDGE_ENABLED","DD_INTEGRATION_EVENTBRIDGE_ENABLED"], + "DD_TRACE_FILEITEMITERATOR_ENABLED": ["DD_TRACE_INTEGRATION_FILEITEMITERATOR_ENABLED","DD_INTEGRATION_FILEITEMITERATOR_ENABLED"], + "DD_TRACE_FILEITEMSTREAM_ENABLED": ["DD_TRACE_INTEGRATION_FILEITEMSTREAM_ENABLED","DD_INTEGRATION_FILEITEMSTREAM_ENABLED"], + "DD_TRACE_FILEITEM_ENABLED": ["DD_TRACE_INTEGRATION_FILEITEM_ENABLED","DD_INTEGRATION_FILEITEM_ENABLED"], + "DD_TRACE_FINATRA_ANALYTICS_SAMPLE_RATE": ["DD_FINATRA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_FINATRA_ENABLED": ["DD_TRACE_INTEGRATION_FINATRA_ENABLED","DD_INTEGRATION_FINATRA_ENABLED"], + "DD_TRACE_FJP_ENABLED": ["DD_TRACE_INTEGRATION_FJP_ENABLED","DD_INTEGRATION_FJP_ENABLED"], + "DD_TRACE_FJP_WORKQUEUE_ENABLED": ["DD_TRACE_INTEGRATION_FJP_WORKQUEUE_ENABLED","DD_INTEGRATION_FJP_WORKQUEUE_ENABLED"], + "DD_TRACE_FREEMARKER_ENABLED": ["DD_TRACE_INTEGRATION_FREEMARKER_ENABLED","DD_INTEGRATION_FREEMARKER_ENABLED"], + "DD_TRACE_GLASSFISH_ENABLED": ["DD_TRACE_INTEGRATION_GLASSFISH_ENABLED","DD_INTEGRATION_GLASSFISH_ENABLED"], + "DD_TRACE_GOOGLE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_GOOGLE_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GOOGLE_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED","DD_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED"], + "DD_TRACE_GOOGLE_PUBSUB_ANALYTICS_SAMPLE_RATE": ["DD_GOOGLE_PUBSUB_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GOOGLE_PUBSUB_ENABLED": ["DD_TRACE_INTEGRATION_GOOGLE_PUBSUB_ENABLED","DD_INTEGRATION_GOOGLE_PUBSUB_ENABLED"], + "DD_TRACE_GOOGLE_PUBSUB_PUBLISHER_ENABLED": ["DD_TRACE_INTEGRATION_GOOGLE_PUBSUB_PUBLISHER_ENABLED","DD_INTEGRATION_GOOGLE_PUBSUB_PUBLISHER_ENABLED"], + "DD_TRACE_GOOGLE_PUBSUB_RECEIVER_ENABLED": ["DD_TRACE_INTEGRATION_GOOGLE_PUBSUB_RECEIVER_ENABLED","DD_INTEGRATION_GOOGLE_PUBSUB_RECEIVER_ENABLED"], + "DD_TRACE_GRADLE_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_ENABLED","DD_INTEGRATION_GRADLE_ENABLED"], + "DD_TRACE_GRADLE_BUILD_LISTENER_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_BUILD_LISTENER_ENABLED","DD_INTEGRATION_GRADLE_BUILD_LISTENER_ENABLED"], + "DD_TRACE_GRADLE_BUILD_SCOPE_SERVICES_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_BUILD_SCOPE_SERVICES_ENABLED","DD_INTEGRATION_GRADLE_BUILD_SCOPE_SERVICES_ENABLED"], + "DD_TRACE_GRADLE_DAEMON_LOGGING_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED","DD_INTEGRATION_GRADLE_DAEMON_LOGGING_ENABLED"], + "DD_TRACE_GRADLE_DAEMON_JVM_OPTIONS_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED","DD_INTEGRATION_GRADLE_DAEMON_JVM_OPTIONS_ENABLED"], + "DD_TRACE_GRADLE_PLUGIN_INJECTOR_ENABLED": ["DD_TRACE_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED","DD_INTEGRATION_GRADLE_PLUGIN_INJECTOR_ENABLED"], + "DD_TRACE_GRAPHQL_JAVA_ANALYTICS_SAMPLE_RATE": ["DD_GRAPHQL_JAVA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRAPHQL_JAVA_ENABLED": ["DD_TRACE_INTEGRATION_GRAPHQL_JAVA_ENABLED","DD_INTEGRATION_GRAPHQL_JAVA_ENABLED"], + "DD_TRACE_GRIZZLY_ANALYTICS_SAMPLE_RATE": ["DD_GRIZZLY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRIZZLY_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_GRIZZLY_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRIZZLY_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_GRIZZLY_CLIENT_ENABLED","DD_INTEGRATION_GRIZZLY_CLIENT_ENABLED"], + "DD_TRACE_GRIZZLY_ENABLED": ["DD_TRACE_INTEGRATION_GRIZZLY_ENABLED","DD_INTEGRATION_GRIZZLY_ENABLED"], + "DD_TRACE_GRIZZLY_FILTERCHAIN_ENABLED": ["DD_TRACE_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED","DD_INTEGRATION_GRIZZLY_FILTERCHAIN_ENABLED"], + "DD_TRACE_GRPC_ANALYTICS_SAMPLE_RATE": ["DD_GRPC_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_GRPC_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRPC_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_CLIENT_ENABLED","DD_INTEGRATION_GRPC_CLIENT_ENABLED"], + "DD_TRACE_GRPC_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_ENABLED","DD_INTEGRATION_GRPC_ENABLED"], + "DD_TRACE_GRPC_MESSAGE_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_MESSAGE_ENABLED","DD_INTEGRATION_GRPC_MESSAGE_ENABLED"], + "DD_TRACE_GRPC_NETTY_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_NETTY_ENABLED","DD_INTEGRATION_GRPC_NETTY_ENABLED"], + "DD_TRACE_GRPC_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_GRPC_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_GRPC_SERVER_CODE_ORIGIN_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_SERVER_CODE_ORIGIN_ENABLED","DD_INTEGRATION_GRPC_SERVER_CODE_ORIGIN_ENABLED"], + "DD_TRACE_GRPC_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_GRPC_SERVER_ENABLED","DD_INTEGRATION_GRPC_SERVER_ENABLED"], + "DD_TRACE_GSON_ENABLED": ["DD_TRACE_INTEGRATION_GSON_ENABLED","DD_INTEGRATION_GSON_ENABLED"], + "DD_TRACE_GUAVA_ENABLED": ["DD_TRACE_INTEGRATION_GUAVA_ENABLED","DD_INTEGRATION_GUAVA_ENABLED"], + "DD_TRACE_HAZELCAST_ENABLED": ["DD_TRACE_INTEGRATION_HAZELCAST_ENABLED","DD_INTEGRATION_HAZELCAST_ENABLED"], + "DD_TRACE_HAZELCAST_LEGACY_ENABLED": ["DD_TRACE_INTEGRATION_HAZELCAST_LEGACY_ENABLED","DD_INTEGRATION_HAZELCAST_LEGACY_ENABLED"], + "DD_TRACE_HAZELCAST_SDK_ANALYTICS_SAMPLE_RATE": ["DD_HAZELCAST_SDK_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED": ["DD_TRACE_INTEGRATION_HEADER_TAGS_LEGACY_PARSING_ENABLED","DD_INTEGRATION_HEADER_TAGS_LEGACY_PARSING_ENABLED"], + "DD_TRACE_HIBERNATE_CORE_ANALYTICS_SAMPLE_RATE": ["DD_HIBERNATE_CORE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HIBERNATE_CORE_ENABLED": ["DD_TRACE_INTEGRATION_HIBERNATE_CORE_ENABLED","DD_INTEGRATION_HIBERNATE_CORE_ENABLED"], + "DD_TRACE_HIBERNATE_ENABLED": ["DD_TRACE_INTEGRATION_HIBERNATE_ENABLED","DD_INTEGRATION_HIBERNATE_ENABLED"], + "DD_TRACE_HTTPASYNCCLIENT5_ENABLED": ["DD_TRACE_INTEGRATION_HTTPASYNCCLIENT5_ENABLED","DD_INTEGRATION_HTTPASYNCCLIENT5_ENABLED"], + "DD_TRACE_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE": ["DD_HTTPASYNCCLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HTTPASYNCCLIENT_ENABLED": ["DD_TRACE_INTEGRATION_HTTPASYNCCLIENT_ENABLED","DD_INTEGRATION_HTTPASYNCCLIENT_ENABLED"], + "DD_TRACE_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE": ["DD_HTTPCLIENT5_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HTTPCLIENT5_ENABLED": ["DD_TRACE_INTEGRATION_HTTPCLIENT5_ENABLED","DD_INTEGRATION_HTTPCLIENT5_ENABLED"], + "DD_TRACE_HTTPCLIENT_ANALYTICS_SAMPLE_RATE": ["DD_HTTPCLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HTTPCLIENT_ENABLED": ["DD_TRACE_INTEGRATION_HTTPCLIENT_ENABLED","DD_INTEGRATION_HTTPCLIENT_ENABLED"], + "DD_TRACE_HTTPCLIENT_REDIRECT_ENABLED": ["DD_TRACE_INTEGRATION_HTTPCLIENT_REDIRECT_ENABLED","DD_INTEGRATION_HTTPCLIENT_REDIRECT_ENABLED"], + "DD_TRACE_HTTPCORE_5_ENABLED": ["DD_TRACE_INTEGRATION_HTTPCORE_5_ENABLED","DD_INTEGRATION_HTTPCORE_5_ENABLED"], + "DD_TRACE_HTTPCORE_ENABLED": ["DD_TRACE_INTEGRATION_HTTPCORE_ENABLED","DD_INTEGRATION_HTTPCORE_ENABLED"], + "DD_TRACE_HTTPURLCONNECTION_ANALYTICS_SAMPLE_RATE": ["DD_HTTPURLCONNECTION_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_HTTPURLCONNECTION_ENABLED": ["DD_TRACE_INTEGRATION_HTTPURLCONNECTION_ENABLED","DD_INTEGRATION_HTTPURLCONNECTION_ENABLED"], + "DD_TRACE_HYSTRIX_ENABLED": ["DD_TRACE_INTEGRATION_HYSTRIX_ENABLED","DD_INTEGRATION_HYSTRIX_ENABLED"], + "DD_TRACE_IASTINSTRUMENTATION_ENABLED": ["DD_TRACE_INTEGRATION_IASTINSTRUMENTATION_ENABLED","DD_INTEGRATION_IASTINSTRUMENTATION_ENABLED"], + "DD_TRACE_IAST_RESULTSET_ENABLED": ["DD_TRACE_INTEGRATION_IAST_RESULTSET_ENABLED","DD_INTEGRATION_IAST_RESULTSET_ENABLED"], + "DD_TRACE_IGNITE_ANALYTICS_SAMPLE_RATE": ["DD_IGNITE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_IGNITE_ENABLED": ["DD_TRACE_INTEGRATION_IGNITE_ENABLED","DD_INTEGRATION_IGNITE_ENABLED"], + "DD_TRACE_INPUTSTREAM_ENABLED": ["DD_TRACE_INTEGRATION_INPUTSTREAM_ENABLED","DD_INTEGRATION_INPUTSTREAM_ENABLED"], + "DD_TRACE_INTEGRATION_DATANUCLEUS_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_DATANUCLEUS_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_DROPWIZARD_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_DROPWIZARD_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_GRPC_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_GRPC_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_HIBERNATE_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_HIBERNATE_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT5_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_HTTPASYNCCLIENT5_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_HTTPCLIENT5_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_HTTPCLIENT5_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_HTTPCLIENT_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_HTTPCLIENT_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_JAVA_CONCURRENT_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_JAVA_CONCURRENT_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_INTEGRATION_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED": ["DD_INTEGRATION_HTTPASYNCCLIENT_MATCHING_SHORTCUT_ENABLED"], + "DD_TRACE_JACKSON_1_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_1_ENABLED","DD_INTEGRATION_JACKSON_1_ENABLED"], + "DD_TRACE_JACKSON_2_12_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_2_12_ENABLED","DD_INTEGRATION_JACKSON_2_12_ENABLED"], + "DD_TRACE_JACKSON_2_16_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_2_16_ENABLED","DD_INTEGRATION_JACKSON_2_16_ENABLED"], + "DD_TRACE_JACKSON_2_6_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_2_6_ENABLED","DD_INTEGRATION_JACKSON_2_6_ENABLED"], + "DD_TRACE_JACKSON_2_8_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_2_8_ENABLED","DD_INTEGRATION_JACKSON_2_8_ENABLED"], + "DD_TRACE_JACKSON_2_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_2_ENABLED","DD_INTEGRATION_JACKSON_2_ENABLED"], + "DD_TRACE_JACKSON_CORE_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_CORE_ENABLED","DD_INTEGRATION_JACKSON_CORE_ENABLED"], + "DD_TRACE_JACKSON_ENABLED": ["DD_TRACE_INTEGRATION_JACKSON_ENABLED","DD_INTEGRATION_JACKSON_ENABLED"], + "DD_TRACE_JACOCO_ENABLED": ["DD_TRACE_INTEGRATION_JACOCO_ENABLED","DD_INTEGRATION_JACOCO_ENABLED"], + "DD_TRACE_JAKARTARS_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTARS_ENABLED","DD_INTEGRATION_JAKARTARS_ENABLED"], + "DD_TRACE_JAKARTA_JMS_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_JMS_ENABLED","DD_INTEGRATION_JAKARTA_JMS_ENABLED"], + "DD_TRACE_JAKARTA_MAIL_BODY_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_MAIL_BODY_ENABLED","DD_INTEGRATION_JAKARTA_MAIL_BODY_ENABLED"], + "DD_TRACE_JAKARTA_MAIL_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_MAIL_ENABLED","DD_INTEGRATION_JAKARTA_MAIL_ENABLED"], + "DD_TRACE_JAKARTA_MAIL_TRANSPORT_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED","DD_INTEGRATION_JAKARTA_MAIL_TRANSPORT_ENABLED"], + "DD_TRACE_JAKARTA_RS_ANNOTATIONS_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED","DD_INTEGRATION_JAKARTA_RS_ANNOTATIONS_ENABLED"], + "DD_TRACE_JAKARTA_RS_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_RS_ENABLED","DD_INTEGRATION_JAKARTA_RS_ENABLED"], + "DD_TRACE_JAKARTA_RS_FILTER_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_RS_FILTER_ENABLED","DD_INTEGRATION_JAKARTA_RS_FILTER_ENABLED"], + "DD_TRACE_JAKARTA_WEBSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_WEBSOCKET_ENABLED","DD_INTEGRATION_JAKARTA_WEBSOCKET_ENABLED"], + "DD_TRACE_JAKARTA_WS_ANALYTICS_SAMPLE_RATE": ["DD_JAKARTA_WS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAKARTA_WS_ENABLED": ["DD_TRACE_INTEGRATION_JAKARTA_WS_ENABLED","DD_INTEGRATION_JAKARTA_WS_ENABLED"], + "DD_TRACE_JAVAX_MAIL_BODY_ENABLED": ["DD_TRACE_INTEGRATION_JAVAX_MAIL_BODY_ENABLED","DD_INTEGRATION_JAVAX_MAIL_BODY_ENABLED"], + "DD_TRACE_JAVAX_MAIL_ENABLED": ["DD_TRACE_INTEGRATION_JAVAX_MAIL_ENABLED","DD_INTEGRATION_JAVAX_MAIL_ENABLED"], + "DD_TRACE_JAVAX_MAIL_TRANSPORT_ENABLED": ["DD_TRACE_INTEGRATION_JAVAX_MAIL_TRANSPORT_ENABLED","DD_INTEGRATION_JAVAX_MAIL_TRANSPORT_ENABLED"], + "DD_TRACE_JAVAX_WEBSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_JAVAX_WEBSOCKET_ENABLED","DD_INTEGRATION_JAVAX_WEBSOCKET_ENABLED"], + "DD_TRACE_JAVA_COMPLETABLEFUTURE_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED","DD_INTEGRATION_JAVA_COMPLETABLEFUTURE_ENABLED"], + "DD_TRACE_JAVA_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_CONCURRENT_ENABLED","DD_INTEGRATION_JAVA_CONCURRENT_ENABLED"], + "DD_TRACE_JAVA_CONCURRENT_OTHER_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED","DD_INTEGRATION_JAVA_CONCURRENT_OTHER_ENABLED"], + "DD_TRACE_JAVA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_JAVA_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAVA_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED","DD_INTEGRATION_JAVA_HTTP_CLIENT_ENABLED"], + "DD_TRACE_JAVA_LANG_APPSEC_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_LANG_APPSEC_ENABLED","DD_INTEGRATION_JAVA_LANG_APPSEC_ENABLED"], + "DD_TRACE_JAVA_LANG_MANAGEMENT_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED","DD_INTEGRATION_JAVA_LANG_MANAGEMENT_ENABLED"], + "DD_TRACE_JAVA_TIMER_ENABLED": ["DD_TRACE_INTEGRATION_JAVA_TIMER_ENABLED","DD_INTEGRATION_JAVA_TIMER_ENABLED"], + "DD_TRACE_JAXRS_ANALYTICS_SAMPLE_RATE": ["DD_JAXRS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAXRS_ENABLED": ["DD_TRACE_INTEGRATION_JAXRS_ENABLED","DD_INTEGRATION_JAXRS_ENABLED"], + "DD_TRACE_JAX_RS_ANALYTICS_SAMPLE_RATE": ["DD_JAX_RS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAX_RS_ANNOTATIONS_ENABLED": ["DD_TRACE_INTEGRATION_JAX_RS_ANNOTATIONS_ENABLED","DD_INTEGRATION_JAX_RS_ANNOTATIONS_ENABLED"], + "DD_TRACE_JAX_RS_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_JAX_RS_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAX_RS_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_JAX_RS_CLIENT_ENABLED","DD_INTEGRATION_JAX_RS_CLIENT_ENABLED"], + "DD_TRACE_JAX_RS_ENABLED": ["DD_TRACE_INTEGRATION_JAX_RS_ENABLED","DD_INTEGRATION_JAX_RS_ENABLED"], + "DD_TRACE_JAX_RS_FILTER_ENABLED": ["DD_TRACE_INTEGRATION_JAX_RS_FILTER_ENABLED","DD_INTEGRATION_JAX_RS_FILTER_ENABLED"], + "DD_TRACE_JAX_WS_ANALYTICS_SAMPLE_RATE": ["DD_JAX_WS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JAX_WS_ENABLED": ["DD_TRACE_INTEGRATION_JAX_WS_ENABLED","DD_INTEGRATION_JAX_WS_ENABLED"], + "DD_TRACE_JBOSS_LOGMANAGER_ENABLED": ["DD_TRACE_INTEGRATION_JBOSS_LOGMANAGER_ENABLED","DD_INTEGRATION_JBOSS_LOGMANAGER_ENABLED"], + "DD_TRACE_JBOSS_MODULES_ENABLED": ["DD_TRACE_INTEGRATION_JBOSS_MODULES_ENABLED","DD_INTEGRATION_JBOSS_MODULES_ENABLED"], + "DD_TRACE_JDBC_ANALYTICS_SAMPLE_RATE": ["DD_JDBC_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JDBC_DATASOURCE_ANALYTICS_SAMPLE_RATE": ["DD_JDBC_DATASOURCE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JDBC_DATASOURCE_ENABLED": ["DD_TRACE_INTEGRATION_JDBC_DATASOURCE_ENABLED","DD_INTEGRATION_JDBC_DATASOURCE_ENABLED"], + "DD_TRACE_JDBC_ENABLED": ["DD_TRACE_INTEGRATION_JDBC_ENABLED","DD_INTEGRATION_JDBC_ENABLED"], + "DD_TRACE_JDBC_RESULTSET_ENABLED": ["DD_TRACE_INTEGRATION_JDBC_RESULTSET_ENABLED","DD_INTEGRATION_JDBC_RESULTSET_ENABLED"], + "DD_TRACE_JEDIS_ANALYTICS_SAMPLE_RATE": ["DD_JEDIS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JEDIS_ENABLED": ["DD_TRACE_INTEGRATION_JEDIS_ENABLED","DD_INTEGRATION_JEDIS_ENABLED"], + "DD_TRACE_JEE_ENV_ENTRY_ENABLED": ["DD_TRACE_INTEGRATION_JEE_ENV_ENTRY_ENABLED","DD_INTEGRATION_JEE_ENV_ENTRY_ENABLED"], + "DD_TRACE_JERSEY_ENABLED": ["DD_TRACE_INTEGRATION_JERSEY_ENABLED","DD_INTEGRATION_JERSEY_ENABLED"], + "DD_TRACE_JETTY_ANALYTICS_SAMPLE_RATE": ["DD_JETTY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JETTY_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_JETTY_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JETTY_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_JETTY_CLIENT_ENABLED","DD_INTEGRATION_JETTY_CLIENT_ENABLED"], + "DD_TRACE_JETTY_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_JETTY_CONCURRENT_ENABLED","DD_INTEGRATION_JETTY_CONCURRENT_ENABLED"], + "DD_TRACE_JETTY_ENABLED": ["DD_TRACE_INTEGRATION_JETTY_ENABLED","DD_INTEGRATION_JETTY_ENABLED"], + "DD_TRACE_JETTY_WEBSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_JETTY_WEBSOCKET_ENABLED","DD_INTEGRATION_JETTY_WEBSOCKET_ENABLED"], + "DD_TRACE_JMS_1_ENABLED": ["DD_TRACE_INTEGRATION_JMS_1_ENABLED","DD_INTEGRATION_JMS_1_ENABLED"], + "DD_TRACE_JMS_2_ENABLED": ["DD_TRACE_INTEGRATION_JMS_2_ENABLED","DD_INTEGRATION_JMS_2_ENABLED"], + "DD_TRACE_JMS_ANALYTICS_SAMPLE_RATE": ["DD_JMS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JMS_ENABLED": ["DD_TRACE_INTEGRATION_JMS_ENABLED","DD_INTEGRATION_JMS_ENABLED"], + "DD_TRACE_JMS_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_JMS_PROPAGATION_ENABLED","DD_INTEGRATION_JMS_PROPAGATION_ENABLED"], + "DD_TRACE_JMXFETCH_ACTIVEMQ_ENABLED": ["DD_JMXFETCH_ACTIVEMQ_ENABLED"], + "DD_TRACE_JMXFETCH_CASSANDRA_ENABLED": ["DD_JMXFETCH_CASSANDRA_ENABLED"], + "DD_TRACE_JMXFETCH_CONFLUENT_PLATFORM_ENABLED": ["DD_JMXFETCH_CONFLUENT_PLATFORM_ENABLED"], + "DD_TRACE_JMXFETCH_HAZELCAST_ENABLED": ["DD_HAZELCAST_ENABLED"], + "DD_TRACE_JMXFETCH_HIVEMQ_ENABLED": ["DD_JMXFETCH_HIVEMQ_ENABLED"], + "DD_TRACE_JMXFETCH_HIVE_ENABLED": ["DD_JMXFETCH_HIVE_ENABLED"], + "DD_TRACE_JMXFETCH_HUDI_ENABLED": ["DD_JMXFETCH_HUDI_ENABLED"], + "DD_TRACE_JMXFETCH_IGNITE_ENABLED": ["DD_TRACE_JMXFETCH_IGNITE_ENABLED"], + "DD_TRACE_JMXFETCH_JBOSS_WILDFLY_ENABLED": ["DD_JMXFETCH_JBOSS_WILDFLY_ENABLED"], + "DD_TRACE_JMXFETCH_KAFKA_ENABLED": ["DD_JMXFETCH_KAFKA_ENABLED"], + "DD_TRACE_JMXFETCH_KUBE_APISERVER_METRICS_ENABLED": ["DD_JMXFETCH_KUBE_APISERVER_METRICS_ENABLED"], + "DD_TRACE_JMXFETCH_PRESTO_ENABLED": ["DD_JMXFETCH_PRESTO_ENABLED"], + "DD_TRACE_JMXFETCH_SOLR_ENABLED": ["DD_JMXFETCH_SOLR_ENABLED"], + "DD_TRACE_JMXFETCH_SONARQUBE_ENABLED": ["DD_JMXFETCH_SONARQUBE_ENABLED"], + "DD_TRACE_JMXFETCH_TOMCAT_ENABLED": ["DD_JMXFETCH_TOMCAT_ENABLED"], + "DD_TRACE_JMXFETCH_WEBLOGIC_ENABLED": ["DD_JMXFETCH_WEBLOGIC_ENABLED"], + "DD_TRACE_JMXFETCH_WEBSPHERE_ENABLED": ["DD_JMXFETCH_WEBSPHERE_ENABLED"], + "DD_TRACE_JMXFETCH_{CHECK_NAME}_ENABLED": ["DD_JMXFETCH_{CHECK_NAME}_ENABLED"], + "DD_TRACE_JNI_ENABLED": ["DD_TRACE_INTEGRATION_JNI_ENABLED","DD_INTEGRATION_JNI_ENABLED"], + "DD_TRACE_JOSE_JWT_ENABLED": ["DD_TRACE_INTEGRATION_JOSE_JWT_ENABLED","DD_INTEGRATION_JOSE_JWT_ENABLED"], + "DD_TRACE_JSP_ANALYTICS_SAMPLE_RATE": ["DD_JSP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_JSP_COMPILE_ENABLED": ["DD_TRACE_INTEGRATION_JSP_COMPILE_ENABLED","DD_INTEGRATION_JSP_COMPILE_ENABLED"], + "DD_TRACE_JSP_ENABLED": ["DD_TRACE_INTEGRATION_JSP_ENABLED","DD_INTEGRATION_JSP_ENABLED"], + "DD_TRACE_JSP_RENDER_ENABLED": ["DD_TRACE_INTEGRATION_JSP_RENDER_ENABLED","DD_INTEGRATION_JSP_RENDER_ENABLED"], + "DD_TRACE_JUNIT4_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT4_ENABLED","DD_INTEGRATION_JUNIT4_ENABLED"], + "DD_TRACE_JUNIT_38_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_38_ENABLED","DD_INTEGRATION_JUNIT_38_ENABLED"], + "DD_TRACE_JUNIT_4_CUCUMBER_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_4_CUCUMBER_ENABLED","DD_INTEGRATION_JUNIT_4_CUCUMBER_ENABLED"], + "DD_TRACE_JUNIT_4_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_4_ENABLED","DD_INTEGRATION_JUNIT_4_ENABLED"], + "DD_TRACE_JUNIT_4_MUNIT_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_4_MUNIT_ENABLED","DD_INTEGRATION_JUNIT_4_MUNIT_ENABLED"], + "DD_TRACE_JUNIT_5_CUCUMBER_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED","DD_INTEGRATION_JUNIT_5_CUCUMBER_ENABLED"], + "DD_TRACE_JUNIT_5_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_5_ENABLED","DD_INTEGRATION_JUNIT_5_ENABLED"], + "DD_TRACE_JUNIT_5_SPOCK_ENABLED": ["DD_TRACE_INTEGRATION_JUNIT_5_SPOCK_ENABLED","DD_INTEGRATION_JUNIT_5_SPOCK_ENABLED"], + "DD_TRACE_JWT_ENABLED": ["DD_TRACE_INTEGRATION_JWT_ENABLED","DD_INTEGRATION_JWT_ENABLED"], + "DD_TRACE_KAFKA_0_11_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_0_11_ENABLED","DD_INTEGRATION_KAFKA_0_11_ENABLED"], + "DD_TRACE_KAFKA_3_8_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_3_8_ENABLED","DD_INTEGRATION_KAFKA_3_8_ENABLED"], + "DD_TRACE_KAFKA_ANALYTICS_SAMPLE_RATE": ["DD_KAFKA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_KAFKA_CLIENT_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_CLIENT_PROPAGATION_ENABLED","DD_INTEGRATION_KAFKA_CLIENT_PROPAGATION_ENABLED"], + "DD_TRACE_KAFKA_CONNECT_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_CONNECT_ENABLED","DD_INTEGRATION_KAFKA_CONNECT_ENABLED"], + "DD_TRACE_KAFKA_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_ENABLED","DD_INTEGRATION_KAFKA_ENABLED"], + "DD_TRACE_KAFKA_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_PROPAGATION_ENABLED","DD_INTEGRATION_KAFKA_PROPAGATION_ENABLED"], + "DD_TRACE_KAFKA_STREAMS_ANALYTICS_SAMPLE_RATE": ["DD_KAFKA_STREAMS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_KAFKA_STREAMS_ENABLED": ["DD_TRACE_INTEGRATION_KAFKA_STREAMS_ENABLED","DD_INTEGRATION_KAFKA_STREAMS_ENABLED"], + "DD_TRACE_KARATE_ENABLED": ["DD_TRACE_INTEGRATION_KARATE_ENABLED","DD_INTEGRATION_KARATE_ENABLED"], + "DD_TRACE_KOTLIN_COROUTINE_ENABLED": ["DD_TRACE_INTEGRATION_KOTLIN_COROUTINE_ENABLED","DD_INTEGRATION_KOTLIN_COROUTINE_ENABLED"], + "DD_TRACE_LEGACY_E2E_DURATION_ENABLED": ["DD_LEGACY_E2E_DURATION_ENABLED"], + "DD_TRACE_LETTUCE_4_ASYNC_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_4_ASYNC_ENABLED","DD_INTEGRATION_LETTUCE_4_ASYNC_ENABLED"], + "DD_TRACE_LETTUCE_4_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_4_ENABLED","DD_INTEGRATION_LETTUCE_4_ENABLED"], + "DD_TRACE_LETTUCE_5_ASYNC_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_5_ASYNC_ENABLED","DD_INTEGRATION_LETTUCE_5_ASYNC_ENABLED"], + "DD_TRACE_LETTUCE_5_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_5_ENABLED","DD_INTEGRATION_LETTUCE_5_ENABLED"], + "DD_TRACE_LETTUCE_5_RX_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_5_RX_ENABLED","DD_INTEGRATION_LETTUCE_5_RX_ENABLED"], + "DD_TRACE_LETTUCE_ANALYTICS_SAMPLE_RATE": ["DD_LETTUCE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_LETTUCE_ENABLED": ["DD_TRACE_INTEGRATION_LETTUCE_ENABLED","DD_INTEGRATION_LETTUCE_ENABLED"], + "DD_TRACE_LIBERTY_ANALYTICS_SAMPLE_RATE": ["DD_LIBERTY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_LIBERTY_CLASSLOADING_ENABLED": ["DD_TRACE_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED","DD_INTEGRATION_LIBERTY_CLASSLOADING_ENABLED"], + "DD_TRACE_LIBERTY_ENABLED": ["DD_TRACE_INTEGRATION_LIBERTY_ENABLED","DD_INTEGRATION_LIBERTY_ENABLED"], + "DD_TRACE_LOG4J_1_ENABLED": ["DD_TRACE_INTEGRATION_LOG4J_1_ENABLED","DD_INTEGRATION_LOG4J_1_ENABLED"], + "DD_TRACE_LOG4J_2_ENABLED": ["DD_TRACE_INTEGRATION_LOG4J_2_ENABLED","DD_INTEGRATION_LOG4J_2_ENABLED"], + "DD_TRACE_LOG4J_ENABLED": ["DD_TRACE_INTEGRATION_LOG4J_ENABLED","DD_INTEGRATION_LOG4J_ENABLED"], + "DD_TRACE_LOGBACK_ENABLED": ["DD_TRACE_INTEGRATION_LOGBACK_ENABLED","DD_INTEGRATION_LOGBACK_ENABLED"], + "DD_TRACE_LOGS_INTAKE_ENABLED": ["DD_TRACE_INTEGRATION_LOGS_INTAKE_ENABLED","DD_INTEGRATION_LOGS_INTAKE_ENABLED"], + "DD_TRACE_LOGS_INTAKE_LOG4J_2_ENABLED": ["DD_TRACE_INTEGRATION_LOGS_INTAKE_LOG4J_2_ENABLED","DD_INTEGRATION_LOGS_INTAKE_LOG4J_2_ENABLED"], + "DD_TRACE_MAVEN_ENABLED": ["DD_TRACE_INTEGRATION_MAVEN_ENABLED","DD_INTEGRATION_MAVEN_ENABLED"], + "DD_TRACE_MICRONAUT_ANALYTICS_SAMPLE_RATE": ["DD_MICRONAUT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_MICRONAUT_ENABLED": ["DD_TRACE_INTEGRATION_MICRONAUT_ENABLED","DD_INTEGRATION_MICRONAUT_ENABLED"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_2_ENABLED": ["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": ["DD_TRACE_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_3_ENABLED","DD_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_3_ENABLED"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_4_ENABLED": ["DD_TRACE_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_4_ENABLED","DD_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_4_ENABLED"], + "DD_TRACE_MICRONAUT_HTTP_SERVER_NETTY_ENABLED": ["DD_TRACE_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_ENABLED","DD_INTEGRATION_MICRONAUT_HTTP_SERVER_NETTY_ENABLED"], + "DD_TRACE_MICRONAUT_SPAN_ORIGIN_ENABLED": ["DD_TRACE_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED","DD_INTEGRATION_MICRONAUT_SPAN_ORIGIN_ENABLED"], + "DD_TRACE_MMAP_ENABLED": ["DD_TRACE_INTEGRATION_MMAP_ENABLED","DD_INTEGRATION_MMAP_ENABLED"], + "DD_TRACE_MONGO_3_1_ENABLED": ["DD_TRACE_INTEGRATION_MONGO_3_1_ENABLED","DD_INTEGRATION_MONGO_3_1_ENABLED"], + "DD_TRACE_MONGO_3_4_ENABLED": ["DD_TRACE_INTEGRATION_MONGO_3_4_ENABLED","DD_INTEGRATION_MONGO_3_4_ENABLED"], + "DD_TRACE_MONGO_ANALYTICS_SAMPLE_RATE": ["DD_MONGO_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_MONGO_ENABLED": ["DD_TRACE_INTEGRATION_MONGO_ENABLED","DD_INTEGRATION_MONGO_ENABLED"], + "DD_TRACE_MONGO_REACTIVESTREAMS_ENABLED": ["DD_TRACE_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED","DD_INTEGRATION_MONGO_REACTIVESTREAMS_ENABLED"], + "DD_TRACE_MULE_ANALYTICS_SAMPLE_RATE": ["DD_MULE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_MULE_ENABLED": ["DD_TRACE_INTEGRATION_MULE_ENABLED","DD_INTEGRATION_MULE_ENABLED"], + "DD_TRACE_MULE_JPMS_ENABLED": ["DD_TRACE_INTEGRATION_MULE_JPMS_ENABLED","DD_INTEGRATION_MULE_JPMS_ENABLED"], + "DD_TRACE_MULTIPART_ENABLED": ["DD_TRACE_INTEGRATION_MULTIPART_ENABLED","DD_INTEGRATION_MULTIPART_ENABLED"], + "DD_TRACE_NATIVE_IMAGE_ENABLED": ["DD_TRACE_INTEGRATION_NATIVE_IMAGE_ENABLED","DD_INTEGRATION_NATIVE_IMAGE_ENABLED"], + "DD_TRACE_NETTY_3_8_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_3_8_ENABLED","DD_INTEGRATION_NETTY_3_8_ENABLED"], + "DD_TRACE_NETTY_3_9_ANALYTICS_SAMPLE_RATE": ["DD_NETTY_3_9_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_NETTY_4_0_ANALYTICS_SAMPLE_RATE": ["DD_NETTY_4_0_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_NETTY_4_0_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_4_0_ENABLED","DD_INTEGRATION_NETTY_4_0_ENABLED"], + "DD_TRACE_NETTY_4_1_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_4_1_ENABLED","DD_INTEGRATION_NETTY_4_1_ENABLED"], + "DD_TRACE_NETTY_4_1_HTTP2_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_4_1_HTTP2_ENABLED","DD_INTEGRATION_NETTY_4_1_HTTP2_ENABLED"], + "DD_TRACE_NETTY_ANALYTICS_SAMPLE_RATE": ["DD_NETTY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_NETTY_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_CONCURRENT_ENABLED","DD_INTEGRATION_NETTY_CONCURRENT_ENABLED"], + "DD_TRACE_NETTY_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_ENABLED","DD_INTEGRATION_NETTY_ENABLED"], + "DD_TRACE_NETTY_EVENT_EXECUTOR_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED","DD_INTEGRATION_NETTY_EVENT_EXECUTOR_ENABLED"], + "DD_TRACE_NETTY_PROMISE_ENABLED": ["DD_TRACE_INTEGRATION_NETTY_PROMISE_ENABLED","DD_INTEGRATION_NETTY_PROMISE_ENABLED"], + "DD_TRACE_NEW_TASK_FOR_ENABLED": ["DD_TRACE_INTEGRATION_NEW_TASK_FOR_ENABLED","DD_INTEGRATION_NEW_TASK_FOR_ENABLED"], + "DD_TRACE_NING_ANALYTICS_SAMPLE_RATE": ["DD_NING_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_NING_ENABLED": ["DD_TRACE_INTEGRATION_NING_ENABLED","DD_INTEGRATION_NING_ENABLED"], + "DD_TRACE_NOT_NOT_TRACE_ENABLED": ["DD_TRACE_INTEGRATION_NOT_NOT_TRACE_ENABLED","DD_INTEGRATION_NOT_NOT_TRACE_ENABLED"], + "DD_TRACE_OGNL_ENABLED": ["DD_TRACE_INTEGRATION_OGNL_ENABLED","DD_INTEGRATION_OGNL_ENABLED"], + "DD_TRACE_OKHTTP_2_ANALYTICS_SAMPLE_RATE": ["DD_OKHTTP_2_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OKHTTP_2_ENABLED": ["DD_TRACE_INTEGRATION_OKHTTP_2_ENABLED","DD_INTEGRATION_OKHTTP_2_ENABLED"], + "DD_TRACE_OKHTTP_3_ANALYTICS_SAMPLE_RATE": ["DD_OKHTTP_3_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OKHTTP_3_ENABLED": ["DD_TRACE_INTEGRATION_OKHTTP_3_ENABLED","DD_INTEGRATION_OKHTTP_3_ENABLED"], + "DD_TRACE_OKHTTP_ANALYTICS_SAMPLE_RATE": ["DD_OKHTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OKHTTP_ENABLED": ["DD_TRACE_INTEGRATION_OKHTTP_ENABLED","DD_INTEGRATION_OKHTTP_ENABLED"], + "DD_TRACE_OPENSEARCH_ANALYTICS_SAMPLE_RATE": ["DD_OPENSEARCH_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OPENSEARCH_ENABLED": ["DD_TRACE_INTEGRATION_OPENSEARCH_ENABLED","DD_INTEGRATION_OPENSEARCH_ENABLED"], + "DD_TRACE_OPENSEARCH_REST_ENABLED": ["DD_TRACE_INTEGRATION_OPENSEARCH_REST_ENABLED","DD_INTEGRATION_OPENSEARCH_REST_ENABLED"], + "DD_TRACE_OPENSEARCH_TRANSPORT_ENABLED": ["DD_TRACE_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED","DD_INTEGRATION_OPENSEARCH_TRANSPORT_ENABLED"], + "DD_TRACE_OPENTELEMETRY_1_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_1_ENABLED","DD_INTEGRATION_OPENTELEMETRY_1_ENABLED"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED","DD_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_20_ENABLED"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_26_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_26_ENABLED","DD_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_1_26_ENABLED"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_1_ANALYTICS_SAMPLE_RATE": ["DD_OPENTELEMETRY_ANNOTATIONS_1_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_ANALYTICS_SAMPLE_RATE": ["DD_OPENTELEMETRY_ANNOTATIONS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_OPENTELEMETRY_ANNOTATIONS_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_ENABLED","DD_INTEGRATION_OPENTELEMETRY_ANNOTATIONS_ENABLED"], + "DD_TRACE_OPENTELEMETRY_BETA_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_BETA_ENABLED","DD_INTEGRATION_OPENTELEMETRY_BETA_ENABLED"], + "DD_TRACE_OPENTELEMETRY_EXPERIMENTAL_ENABLED": ["DD_TRACE_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED","DD_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED"], + "DD_TRACE_OPENTRACING_ENABLED": ["DD_TRACE_INTEGRATION_OPENTRACING_ENABLED","DD_INTEGRATION_OPENTRACING_ENABLED"], + "DD_TRACE_OPENTRACING_GLOBALTRACER_ENABLED": ["DD_TRACE_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED","DD_INTEGRATION_OPENTRACING_GLOBALTRACER_ENABLED"], + "DD_TRACE_ORG_JSON_ENABLED": ["DD_TRACE_INTEGRATION_ORG_JSON_ENABLED","DD_INTEGRATION_ORG_JSON_ENABLED"], + "DD_TRACE_OSGI_ENABLED": ["DD_TRACE_INTEGRATION_OSGI_ENABLED","DD_INTEGRATION_OSGI_ENABLED"], + "DD_TRACE_PEKKO_ACTOR_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_ACTOR_ENABLED","DD_INTEGRATION_PEKKO_ACTOR_ENABLED"], + "DD_TRACE_PEKKO_ACTOR_MAILBOX_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_ACTOR_MAILBOX_ENABLED","DD_INTEGRATION_PEKKO_ACTOR_MAILBOX_ENABLED"], + "DD_TRACE_PEKKO_ACTOR_RECEIVE_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_ACTOR_RECEIVE_ENABLED","DD_INTEGRATION_PEKKO_ACTOR_RECEIVE_ENABLED"], + "DD_TRACE_PEKKO_ACTOR_SEND_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_ACTOR_SEND_ENABLED","DD_INTEGRATION_PEKKO_ACTOR_SEND_ENABLED"], + "DD_TRACE_PEKKO_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_CONCURRENT_ENABLED","DD_INTEGRATION_PEKKO_CONCURRENT_ENABLED"], + "DD_TRACE_PEKKO_HTTP2_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_HTTP2_ENABLED","DD_INTEGRATION_PEKKO_HTTP2_ENABLED"], + "DD_TRACE_PEKKO_HTTP_ANALYTICS_SAMPLE_RATE": ["DD_PEKKO_HTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_PEKKO_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_PEKKO_HTTP_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_PEKKO_HTTP_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_HTTP_CLIENT_ENABLED","DD_INTEGRATION_PEKKO_HTTP_CLIENT_ENABLED"], + "DD_TRACE_PEKKO_HTTP_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_HTTP_ENABLED","DD_INTEGRATION_PEKKO_HTTP_ENABLED"], + "DD_TRACE_PEKKO_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_PEKKO_HTTP_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_PEKKO_HTTP_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED","DD_INTEGRATION_PEKKO_HTTP_SERVER_ENABLED"], + "DD_TRACE_PEKKO_SCHEDULER_ENABLED": ["DD_TRACE_INTEGRATION_PEKKO_SCHEDULER_ENABLED","DD_INTEGRATION_PEKKO_SCHEDULER_ENABLED"], + "DD_TRACE_PLAY_ACTION_ENABLED": ["DD_TRACE_INTEGRATION_PLAY_ACTION_ENABLED","DD_INTEGRATION_PLAY_ACTION_ENABLED"], + "DD_TRACE_PLAY_ANALYTICS_SAMPLE_RATE": ["DD_PLAY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_PLAY_ENABLED": ["DD_TRACE_INTEGRATION_PLAY_ENABLED","DD_INTEGRATION_PLAY_ENABLED"], + "DD_TRACE_PLAY_WS_ANALYTICS_SAMPLE_RATE": ["DD_PLAY_WS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_PLAY_WS_ENABLED": ["DD_TRACE_INTEGRATION_PLAY_WS_ENABLED","DD_INTEGRATION_PLAY_WS_ENABLED"], + "DD_TRACE_POWERMOCK_ENABLED": ["DD_TRACE_INTEGRATION_POWERMOCK_ENABLED","DD_INTEGRATION_POWERMOCK_ENABLED"], + "DD_TRACE_PROPAGATION_STYLE_B3_PADDING_ENABLED": ["DD_TRACE_INTEGRATION_PROPAGATION_STYLE_B3_PADDING_ENABLED","DD_INTEGRATION_PROPAGATION_STYLE_B3_PADDING_ENABLED"], + "DD_TRACE_PROTOBUF_ENABLED": ["DD_TRACE_INTEGRATION_PROTOBUF_ENABLED","DD_INTEGRATION_PROTOBUF_ENABLED"], + "DD_TRACE_QUARTZ_ANALYTICS_SAMPLE_RATE": ["DD_QUARTZ_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_QUARTZ_ENABLED": ["DD_TRACE_INTEGRATION_QUARTZ_ENABLED","DD_INTEGRATION_QUARTZ_ENABLED"], + "DD_TRACE_RABBITMQ_ANALYTICS_SAMPLE_RATE": ["DD_RABBITMQ_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RABBITMQ_ENABLED": ["DD_TRACE_INTEGRATION_RABBITMQ_ENABLED","DD_INTEGRATION_RABBITMQ_ENABLED"], + "DD_TRACE_RABBITMQ_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_RABBITMQ_PROPAGATION_ENABLED","DD_INTEGRATION_RABBITMQ_PROPAGATION_ENABLED"], + "DD_TRACE_RABBIT_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_RABBIT_PROPAGATION_ENABLED","DD_INTEGRATION_RABBIT_PROPAGATION_ENABLED"], + "DD_TRACE_RATPACK_ANALYTICS_SAMPLE_RATE": ["DD_RATPACK_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RATPACK_ENABLED": ["DD_TRACE_INTEGRATION_RATPACK_ENABLED","DD_INTEGRATION_RATPACK_ENABLED"], + "DD_TRACE_RATPACK_REQUEST_BODY_ENABLED": ["DD_TRACE_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED","DD_INTEGRATION_RATPACK_REQUEST_BODY_ENABLED"], + "DD_TRACE_REACTIVE_STREAMS_1_ENABLED": ["DD_TRACE_INTEGRATION_REACTIVE_STREAMS_1_ENABLED","DD_INTEGRATION_REACTIVE_STREAMS_1_ENABLED"], + "DD_TRACE_REACTIVE_STREAMS_ENABLED": ["DD_TRACE_INTEGRATION_REACTIVE_STREAMS_ENABLED","DD_INTEGRATION_REACTIVE_STREAMS_ENABLED"], + "DD_TRACE_REACTOR_CORE_ENABLED": ["DD_TRACE_INTEGRATION_REACTOR_CORE_ENABLED","DD_INTEGRATION_REACTOR_CORE_ENABLED"], + "DD_TRACE_REACTOR_NETTY_1_ENABLED": ["DD_TRACE_INTEGRATION_REACTOR_NETTY_1_ENABLED","DD_INTEGRATION_REACTOR_NETTY_1_ENABLED"], + "DD_TRACE_REACTOR_NETTY_ENABLED": ["DD_TRACE_INTEGRATION_REACTOR_NETTY_ENABLED","DD_INTEGRATION_REACTOR_NETTY_ENABLED"], + "DD_TRACE_REDISCALA_ANALYTICS_SAMPLE_RATE": ["DD_REDISCALA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_REDISCALA_CONNECTION_ENABLED": ["DD_TRACE_INTEGRATION_REDISCALA_CONNECTION_ENABLED","DD_INTEGRATION_REDISCALA_CONNECTION_ENABLED"], + "DD_TRACE_REDISCALA_ENABLED": ["DD_TRACE_INTEGRATION_REDISCALA_ENABLED","DD_INTEGRATION_REDISCALA_ENABLED"], + "DD_TRACE_REDISSON_ANALYTICS_SAMPLE_RATE": ["DD_REDISSON_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_REDISSON_ENABLED": ["DD_TRACE_INTEGRATION_REDISSON_ENABLED","DD_INTEGRATION_REDISSON_ENABLED"], + "DD_TRACE_REDIS_ANALYTICS_SAMPLE_RATE": ["DD_REDIS_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_REDIS_ENABLED": ["DD_TRACE_INTEGRATION_REDIS_ENABLED","DD_INTEGRATION_REDIS_ENABLED"], + "DD_TRACE_REJECTED_EXECUTION_HANDLER_ENABLED": ["DD_TRACE_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED","DD_INTEGRATION_REJECTED_EXECUTION_HANDLER_ENABLED"], + "DD_TRACE_RENAISSANCE_ENABLED": ["DD_TRACE_INTEGRATION_RENAISSANCE_ENABLED","DD_INTEGRATION_RENAISSANCE_ENABLED"], + "DD_TRACE_RESPONSE_ENABLED": ["DD_TRACE_INTEGRATION_RESPONSE_ENABLED","DD_INTEGRATION_RESPONSE_ENABLED"], + "DD_TRACE_RESTEASY_ENABLED": ["DD_TRACE_INTEGRATION_RESTEASY_ENABLED","DD_INTEGRATION_RESTEASY_ENABLED"], + "DD_TRACE_RESTLET_HTTP_ANALYTICS_SAMPLE_RATE": ["DD_RESTLET_HTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RESTLET_HTTP_ENABLED": ["DD_TRACE_INTEGRATION_RESTLET_HTTP_ENABLED","DD_INTEGRATION_RESTLET_HTTP_ENABLED"], + "DD_TRACE_RESTLET_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_RESTLET_HTTP_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RESTLET_HTTP_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED","DD_INTEGRATION_RESTLET_HTTP_SERVER_ENABLED"], + "DD_TRACE_RMI_ANALYTICS_SAMPLE_RATE": ["DD_RMI_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RMI_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_RMI_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED": ["DD_TRACE_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED","DD_INTEGRATION_RMI_CLIENT_CONTEXT_PROPAGATOR_ENABLED"], + "DD_TRACE_RMI_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_RMI_CLIENT_ENABLED","DD_INTEGRATION_RMI_CLIENT_ENABLED"], + "DD_TRACE_RMI_CONTEXT_PROPAGATOR_ENABLED": ["DD_TRACE_INTEGRATION_RMI_CONTEXT_PROPAGATOR_ENABLED","DD_INTEGRATION_RMI_CONTEXT_PROPAGATOR_ENABLED"], + "DD_TRACE_RMI_ENABLED": ["DD_TRACE_INTEGRATION_RMI_ENABLED","DD_INTEGRATION_RMI_ENABLED"], + "DD_TRACE_RMI_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_RMI_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_RMI_SERVER_CONTEXT_PROPAGATOR_ENABLED": ["DD_TRACE_INTEGRATION_RMI_SERVER_CONTEXT_PROPAGATOR_ENABLED","DD_INTEGRATION_RMI_SERVER_CONTEXT_PROPAGATOR_ENABLED"], + "DD_TRACE_RMI_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_RMI_SERVER_ENABLED","DD_INTEGRATION_RMI_SERVER_ENABLED"], + "DD_TRACE_RUNNABLE_ENABLED": ["DD_TRACE_INTEGRATION_RUNNABLE_ENABLED","DD_INTEGRATION_RUNNABLE_ENABLED"], + "DD_TRACE_RUNNABLE_FUTURE_ENABLED": ["DD_TRACE_INTEGRATION_RUNNABLE_FUTURE_ENABLED","DD_INTEGRATION_RUNNABLE_FUTURE_ENABLED"], + "DD_TRACE_RXJAVA_ENABLED": ["DD_TRACE_INTEGRATION_RXJAVA_ENABLED","DD_INTEGRATION_RXJAVA_ENABLED"], + "DD_TRACE_S3_ENABLED": ["DD_TRACE_INTEGRATION_S3_ENABLED","DD_INTEGRATION_S3_ENABLED"], + "DD_TRACE_SCALATEST_ENABLED": ["DD_TRACE_INTEGRATION_SCALATEST_ENABLED","DD_INTEGRATION_SCALATEST_ENABLED"], + "DD_TRACE_SCALA_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_SCALA_CONCURRENT_ENABLED","DD_INTEGRATION_SCALA_CONCURRENT_ENABLED"], + "DD_TRACE_SCALA_FUTURE_OBJECT_ENABLED": ["DD_TRACE_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED","DD_INTEGRATION_SCALA_FUTURE_OBJECT_ENABLED"], + "DD_TRACE_SCALA_PROMISE_COMPLETE_ENABLED": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED","DD_INTEGRATION_SCALA_PROMISE_COMPLETE_ENABLED"], + "DD_TRACE_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED","DD_INTEGRATION_SCALA_PROMISE_COMPLETION_PRIORITY_ENABLED"], + "DD_TRACE_SCALA_PROMISE_RESOLVE_ENABLED": ["DD_TRACE_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED","DD_INTEGRATION_SCALA_PROMISE_RESOLVE_ENABLED"], + "DD_TRACE_SELENIUM_ENABLED": ["DD_TRACE_INTEGRATION_SELENIUM_ENABLED","DD_INTEGRATION_SELENIUM_ENABLED"], + "DD_TRACE_SERVELET_RESPONSE_ENABLED": ["DD_TRACE_INTEGRATION_SERVELET_RESPONSE_ENABLED","DD_INTEGRATION_SERVELET_RESPONSE_ENABLED"], + "DD_TRACE_SERVICETALK_CONCURRENT_ENABLED": ["DD_TRACE_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED","DD_INTEGRATION_SERVICETALK_CONCURRENT_ENABLED"], + "DD_TRACE_SERVICETALK_ENABLED": ["DD_TRACE_INTEGRATION_SERVICETALK_ENABLED","DD_INTEGRATION_SERVICETALK_ENABLED"], + "DD_TRACE_SERVLET_2_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_2_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_2_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_2_ENABLED","DD_INTEGRATION_SERVLET_2_ENABLED"], + "DD_TRACE_SERVLET_3_ANALYTICS_ENABLED": ["DD_SERVLET_3_ANALYTICS_ENABLED"], + "DD_TRACE_SERVLET_3_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_3_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_3_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_3_ENABLED","DD_INTEGRATION_SERVLET_3_ENABLED"], + "DD_TRACE_SERVLET_5_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_5_ENABLED","DD_INTEGRATION_SERVLET_5_ENABLED"], + "DD_TRACE_SERVLET_ANALYTICS_ENABLED": ["DD_SERVLET_ANALYTICS_ENABLED"], + "DD_TRACE_SERVLET_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_COOKIE_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_COOKIE_ENABLED","DD_INTEGRATION_SERVLET_COOKIE_ENABLED"], + "DD_TRACE_SERVLET_DISPATCHER_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_DISPATCHER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_DISPATCHER_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_DISPATCHER_ENABLED","DD_INTEGRATION_SERVLET_DISPATCHER_ENABLED"], + "DD_TRACE_SERVLET_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_ENABLED","DD_INTEGRATION_SERVLET_ENABLED"], + "DD_TRACE_SERVLET_FILTER_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_FILTER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_FILTER_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_FILTER_ENABLED","DD_INTEGRATION_SERVLET_FILTER_ENABLED"], + "DD_TRACE_SERVLET_REQUEST_BODY_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_REQUEST_BODY_ENABLED","DD_INTEGRATION_SERVLET_REQUEST_BODY_ENABLED"], + "DD_TRACE_SERVLET_REQUEST_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_REQUEST_ENABLED","DD_INTEGRATION_SERVLET_REQUEST_ENABLED"], + "DD_TRACE_SERVLET_RESPONSE_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_RESPONSE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_RESPONSE_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_RESPONSE_ENABLED","DD_INTEGRATION_SERVLET_RESPONSE_ENABLED"], + "DD_TRACE_SERVLET_SERVICE_ANALYTICS_SAMPLE_RATE": ["DD_SERVLET_SERVICE_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SERVLET_SERVICE_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_SERVICE_ENABLED","DD_INTEGRATION_SERVLET_SERVICE_ENABLED"], + "DD_TRACE_SERVLET_SESSION_ENABLED": ["DD_TRACE_INTEGRATION_SERVLET_SESSION_ENABLED","DD_INTEGRATION_SERVLET_SESSION_ENABLED"], + "DD_TRACE_SETUP_TEARDOWN_ENABLED": ["DD_TRACE_INTEGRATION_SETUP_TEARDOWN_ENABLED","DD_INTEGRATION_SETUP_TEARDOWN_ENABLED"], + "DD_TRACE_SFN_ENABLED": ["DD_TRACE_INTEGRATION_SFN_ENABLED","DD_INTEGRATION_SFN_ENABLED"], + "DD_TRACE_SHUTDOWN_ENABLED": ["DD_TRACE_INTEGRATION_SHUTDOWN_ENABLED","DD_INTEGRATION_SHUTDOWN_ENABLED"], + "DD_TRACE_SLICK_ENABLED": ["DD_TRACE_INTEGRATION_SLICK_ENABLED","DD_INTEGRATION_SLICK_ENABLED"], + "DD_TRACE_SNAKEYAML_ENABLED": ["DD_TRACE_INTEGRATION_SNAKEYAML_ENABLED","DD_INTEGRATION_SNAKEYAML_ENABLED"], + "DD_TRACE_SNS_ENABLED": ["DD_TRACE_INTEGRATION_SNS_ENABLED","DD_INTEGRATION_SNS_ENABLED"], + "DD_TRACE_SOCKET_ENABLED": ["DD_TRACE_INTEGRATION_SOCKET_ENABLED","DD_INTEGRATION_SOCKET_ENABLED"], + "DD_TRACE_SPARKJAVA_2_4_ENABLED": ["DD_TRACE_INTEGRATION_SPARKJAVA_2_4_ENABLED","DD_INTEGRATION_SPARKJAVA_2_4_ENABLED"], + "DD_TRACE_SPARKJAVA_ENABLED": ["DD_TRACE_INTEGRATION_SPARKJAVA_ENABLED","DD_INTEGRATION_SPARKJAVA_ENABLED"], + "DD_TRACE_SPARK_ENABLED": ["DD_TRACE_INTEGRATION_SPARK_ENABLED","DD_INTEGRATION_SPARK_ENABLED"], + "DD_TRACE_SPARK_EXECUTOR_ANALYTICS_SAMPLE_RATE": ["DD_SPARK_EXECUTOR_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPARK_EXECUTOR_ENABLED": ["DD_TRACE_INTEGRATION_SPARK_EXECUTOR_ENABLED","DD_INTEGRATION_SPARK_EXECUTOR_ENABLED"], + "DD_TRACE_SPARK_EXIT_ENABLED": ["DD_TRACE_INTEGRATION_SPARK_EXIT_ENABLED","DD_INTEGRATION_SPARK_EXIT_ENABLED"], + "DD_TRACE_SPARK_OPENLINEAGE_ENABLED": ["DD_TRACE_INTEGRATION_SPARK_OPENLINEAGE_ENABLED","DD_INTEGRATION_SPARK_OPENLINEAGE_ENABLED"], + "DD_TRACE_SPRAY_ANALYTICS_SAMPLE_RATE": ["DD_SPRAY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRAY_HTTP_ENABLED": ["DD_TRACE_INTEGRATION_SPRAY_HTTP_ENABLED","DD_INTEGRATION_SPRAY_HTTP_ENABLED"], + "DD_TRACE_SPRAY_HTTP_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED","DD_INTEGRATION_SPRAY_HTTP_SERVER_ENABLED"], + "DD_TRACE_SPRING_ASYNC_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_ASYNC_ENABLED","DD_INTEGRATION_SPRING_ASYNC_ENABLED"], + "DD_TRACE_SPRING_BEANS_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_BEANS_ENABLED","DD_INTEGRATION_SPRING_BEANS_ENABLED"], + "DD_TRACE_SPRING_BOOT_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_BOOT_ENABLED","DD_INTEGRATION_SPRING_BOOT_ENABLED"], + "DD_TRACE_SPRING_BOOT_SPAN_ORIGIN_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_BOOT_SPAN_ORIGIN_ENABLED","DD_INTEGRATION_SPRING_BOOT_SPAN_ORIGIN_ENABLED"], + "DD_TRACE_SPRING_CLOUD_ZUUL_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_CLOUD_ZUUL_ENABLED","DD_INTEGRATION_SPRING_CLOUD_ZUUL_ENABLED"], + "DD_TRACE_SPRING_CORE_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_CORE_ENABLED","DD_INTEGRATION_SPRING_CORE_ENABLED"], + "DD_TRACE_SPRING_DATA_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_DATA_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_DATA_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_DATA_ENABLED","DD_INTEGRATION_SPRING_DATA_ENABLED"], + "DD_TRACE_SPRING_JMS_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_JMS_ENABLED","DD_INTEGRATION_SPRING_JMS_ENABLED"], + "DD_TRACE_SPRING_MESSAGING_4_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_MESSAGING_4_ENABLED","DD_INTEGRATION_SPRING_MESSAGING_4_ENABLED"], + "DD_TRACE_SPRING_MESSAGING_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_MESSAGING_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_MESSAGING_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_MESSAGING_ENABLED","DD_INTEGRATION_SPRING_MESSAGING_ENABLED"], + "DD_TRACE_SPRING_PATH_FILTER_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_PATH_FILTER_ENABLED","DD_INTEGRATION_SPRING_PATH_FILTER_ENABLED"], + "DD_TRACE_SPRING_RABBIT_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_RABBIT_ENABLED","DD_INTEGRATION_SPRING_RABBIT_ENABLED"], + "DD_TRACE_SPRING_SCHEDULING_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_SCHEDULING_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_SCHEDULING_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_SCHEDULING_ENABLED","DD_INTEGRATION_SPRING_SCHEDULING_ENABLED"], + "DD_TRACE_SPRING_SECURITY_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_SECURITY_ENABLED","DD_INTEGRATION_SPRING_SECURITY_ENABLED"], + "DD_TRACE_SPRING_WEBFLUX_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_WEBFLUX_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_WEBFLUX_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_WEBFLUX_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_WEBFLUX_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED","DD_INTEGRATION_SPRING_WEBFLUX_CLIENT_ENABLED"], + "DD_TRACE_SPRING_WEBFLUX_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_ENABLED","DD_INTEGRATION_SPRING_WEBFLUX_ENABLED"], + "DD_TRACE_SPRING_WEBFLUX_FUNCTIONAL_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED","DD_INTEGRATION_SPRING_WEBFLUX_FUNCTIONAL_ENABLED"], + "DD_TRACE_SPRING_WEB_ANALYTICS_ENABLED": ["DD_SPRING_WEB_ANALYTICS_ENABLED"], + "DD_TRACE_SPRING_WEB_ANALYTICS_SAMPLE_RATE": ["DD_SPRING_WEB_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPRING_WEB_CODE_ORIGIN_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED","DD_INTEGRATION_SPRING_WEB_CODE_ORIGIN_ENABLED"], + "DD_TRACE_SPRING_WEB_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WEB_ENABLED","DD_INTEGRATION_SPRING_WEB_ENABLED"], + "DD_TRACE_SPRING_WS_2_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WS_2_ENABLED","DD_INTEGRATION_SPRING_WS_2_ENABLED"], + "DD_TRACE_SPRING_WS_ENABLED": ["DD_TRACE_INTEGRATION_SPRING_WS_ENABLED","DD_INTEGRATION_SPRING_WS_ENABLED"], + "DD_TRACE_SPYMEMCACHED_ANALYTICS_SAMPLE_RATE": ["DD_SPYMEMCACHED_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SPYMEMCACHED_ENABLED": ["DD_TRACE_INTEGRATION_SPYMEMCACHED_ENABLED","DD_INTEGRATION_SPYMEMCACHED_ENABLED"], + "DD_TRACE_SQS_ENABLED": ["DD_TRACE_INTEGRATION_SQS_ENABLED","DD_INTEGRATION_SQS_ENABLED"], + "DD_TRACE_SQS_PROPAGATION_ENABLED": ["DD_TRACE_INTEGRATION_SQS_PROPAGATION_ENABLED","DD_INTEGRATION_SQS_PROPAGATION_ENABLED"], + "DD_TRACE_SSLSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_SSLSOCKET_ENABLED","DD_INTEGRATION_SSLSOCKET_ENABLED"], + "DD_TRACE_STATS_COMPUTATION_ENABLED": ["DD_TRACE_INTEGRATION_STATS_COMPUTATION_ENABLED","DD_INTEGRATION_STATS_COMPUTATION_ENABLED"], + "DD_TRACE_STRUCTURED_TASK_SCOPE_ENABLED": ["DD_TRACE_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED","DD_INTEGRATION_STRUCTURED_TASK_SCOPE_ENABLED"], + "DD_TRACE_SUREFIRE_ENABLED": ["DD_TRACE_INTEGRATION_SUREFIRE_ENABLED","DD_INTEGRATION_SUREFIRE_ENABLED"], + "DD_TRACE_SYNAPSE3_ANALYTICS_SAMPLE_RATE": ["DD_SYNAPSE3_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_SYNAPSE3_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_SYNAPSE3_CLIENT_ENABLED","DD_INTEGRATION_SYNAPSE3_CLIENT_ENABLED"], + "DD_TRACE_SYNAPSE3_ENABLED": ["DD_TRACE_INTEGRATION_SYNAPSE3_ENABLED","DD_INTEGRATION_SYNAPSE3_ENABLED"], + "DD_TRACE_SYNAPSE3_SERVER_ENABLED": ["DD_TRACE_INTEGRATION_SYNAPSE3_SERVER_ENABLED","DD_INTEGRATION_SYNAPSE3_SERVER_ENABLED"], + "DD_TRACE_TASK_RUNNER_ENABLED": ["DD_TRACE_INTEGRATION_TASK_RUNNER_ENABLED","DD_INTEGRATION_TASK_RUNNER_ENABLED"], + "DD_TRACE_TASK_UNWRAPPING_ENABLED": ["DD_TRACE_INTEGRATION_TASK_UNWRAPPING_ENABLED","DD_INTEGRATION_TASK_UNWRAPPING_ENABLED"], + "DD_TRACE_TESTNG_6_ENABLED": ["DD_TRACE_INTEGRATION_TESTNG_6_ENABLED","DD_INTEGRATION_TESTNG_6_ENABLED"], + "DD_TRACE_TESTNG_7_ENABLED": ["DD_TRACE_INTEGRATION_TESTNG_7_ENABLED","DD_INTEGRATION_TESTNG_7_ENABLED"], + "DD_TRACE_TESTNG_ENABLED": ["DD_TRACE_INTEGRATION_TESTNG_ENABLED","DD_INTEGRATION_TESTNG_ENABLED"], + "DD_TRACE_TESTNG_ITR_ENABLED": ["DD_TRACE_INTEGRATION_TESTNG_ITR_ENABLED","DD_INTEGRATION_TESTNG_ITR_ENABLED"], + "DD_TRACE_TEST_ORDER_ENABLED": ["DD_TRACE_INTEGRATION_TEST_ORDER_ENABLED","DD_INTEGRATION_TEST_ORDER_ENABLED"], + "DD_TRACE_TEST_RETRY_ENABLED": ["DD_TRACE_INTEGRATION_TEST_RETRY_ENABLED","DD_INTEGRATION_TEST_RETRY_ENABLED"], + "DD_TRACE_THROWABLES_ENABLED": ["DD_TRACE_INTEGRATION_THROWABLES_ENABLED","DD_INTEGRATION_THROWABLES_ENABLED"], + "DD_TRACE_THYMELEAF_ENABLED": ["DD_TRACE_INTEGRATION_THYMELEAF_ENABLED","DD_INTEGRATION_THYMELEAF_ENABLED"], + "DD_TRACE_TIBCO_BW_ANALYTICS_SAMPLE_RATE": ["DD_TIBCO_BW_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_TIBCO_BW_ENABLED": ["DD_TRACE_INTEGRATION_TIBCO_BW_ENABLED","DD_INTEGRATION_TIBCO_BW_ENABLED"], + "DD_TRACE_TIBCO_ENABLED": ["DD_TRACE_INTEGRATION_TIBCO_ENABLED","DD_INTEGRATION_TIBCO_ENABLED"], + "DD_TRACE_TINYLOG_ENABLED": ["DD_TRACE_INTEGRATION_TINYLOG_ENABLED","DD_INTEGRATION_TINYLOG_ENABLED"], + "DD_TRACE_TOMCAT_ANALYTICS_SAMPLE_RATE": ["DD_TOMCAT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_TOMCAT_CLASSLOADING_ENABLED": ["DD_TRACE_INTEGRATION_TOMCAT_CLASSLOADING_ENABLED","DD_INTEGRATION_TOMCAT_CLASSLOADING_ENABLED"], + "DD_TRACE_TOMCAT_ENABLED": ["DD_TRACE_INTEGRATION_TOMCAT_ENABLED","DD_INTEGRATION_TOMCAT_ENABLED"], + "DD_TRACE_TOMCAT_WEBSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_TOMCAT_WEBSOCKET_ENABLED","DD_INTEGRATION_TOMCAT_WEBSOCKET_ENABLED"], + "DD_TRACE_TRACE_ANNOTATION_ANALYTICS_ENABLED": ["DD_TRACE_ANNOTATION_ANALYTICS_ENABLED"], + "DD_TRACE_TRACE_ANNOTATION_ANALYTICS_SAMPLE_RATE": ["DD_TRACE_ANNOTATION_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_TRACE_ANNOTATION_ENABLED": ["DD_TRACE_INTEGRATION_TRACE_ANNOTATION_ENABLED","DD_INTEGRATION_TRACE_ANNOTATION_ENABLED"], + "DD_TRACE_TRACE_CONFIG_ANALYTICS_ENABLED": ["DD_TRACE_CONFIG_ANALYTICS_ENABLED"], + "DD_TRACE_TRACE_CONFIG_ANALYTICS_SAMPLE_RATE": ["DD_TRACE_CONFIG_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_TRACE_CONFIG_ENABLED": ["DD_TRACE_INTEGRATION_TRACE_CONFIG_ENABLED","DD_INTEGRATION_TRACE_CONFIG_ENABLED"], + "DD_TRACE_TRACE_ENABLED": ["DD_TRACE_INTEGRATION_TRACE_ENABLED","DD_INTEGRATION_TRACE_ENABLED"], + "DD_TRACE_TWILIO_SDK_ANALYTICS_SAMPLE_RATE": ["DD_TWILIO_SDK_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_TWILIO_SDK_ENABLED": ["DD_TRACE_INTEGRATION_TWILIO_SDK_ENABLED","DD_INTEGRATION_TWILIO_SDK_ENABLED"], + "DD_TRACE_UNDERTOW_2_0_ENABLED": ["DD_TRACE_INTEGRATION_UNDERTOW_2_0_ENABLED","DD_INTEGRATION_UNDERTOW_2_0_ENABLED"], + "DD_TRACE_UNDERTOW_2_2_ENABLED": ["DD_TRACE_INTEGRATION_UNDERTOW_2_2_ENABLED","DD_INTEGRATION_UNDERTOW_2_2_ENABLED"], + "DD_TRACE_UNDERTOW_ENABLED": ["DD_TRACE_INTEGRATION_UNDERTOW_ENABLED","DD_INTEGRATION_UNDERTOW_ENABLED"], + "DD_TRACE_UNDERTOW_HTTP_ANALYTICS_ENABLED": ["DD_UNDERTOW_HTTP_ANALYTICS_ENABLED"], + "DD_TRACE_UNDERTOW_HTTP_ANALYTICS_SAMPLE_RATE": ["DD_UNDERTOW_HTTP_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_UNDERTOW_HTTP_SERVER_ANALYTICS_ENABLED": ["DD_UNDERTOW_HTTP_SERVER_ANALYTICS_ENABLED"], + "DD_TRACE_UNDERTOW_HTTP_SERVER_ANALYTICS_SAMPLE_RATE": ["DD_UNDERTOW_HTTP_SERVER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_UNDERTOW_LEGACY_TRACING_ENABLED": ["DD_UNDERTOW_LEGACY_TRACING_ENABLED"], + "DD_TRACE_UNDERTOW_REQUEST_PARSE_ENABLED": ["DD_TRACE_INTEGRATION_UNDERTOW_REQUEST_PARSE_ENABLED","DD_INTEGRATION_UNDERTOW_REQUEST_PARSE_ENABLED"], + "DD_TRACE_URLCONNECTION_ANALYTICS_SAMPLE_RATE": ["DD_URLCONNECTION_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_URLCONNECTION_ENABLED": ["DD_TRACE_INTEGRATION_URLCONNECTION_ENABLED","DD_INTEGRATION_URLCONNECTION_ENABLED"], + "DD_TRACE_VALKEY_ANALYTICS_SAMPLE_RATE": ["DD_VALKEY_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_VALKEY_ENABLED": ["DD_TRACE_INTEGRATION_VALKEY_ENABLED","DD_INTEGRATION_VALKEY_ENABLED"], + "DD_TRACE_VELOCITY_ENABLED": ["DD_TRACE_INTEGRATION_VELOCITY_ENABLED","DD_INTEGRATION_VELOCITY_ENABLED"], + "DD_TRACE_VERTX_3_4_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_3_4_ENABLED","DD_INTEGRATION_VERTX_3_4_ENABLED"], + "DD_TRACE_VERTX_3_5_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_3_5_ENABLED","DD_INTEGRATION_VERTX_3_5_ENABLED"], + "DD_TRACE_VERTX_3_9_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_3_9_ENABLED","DD_INTEGRATION_VERTX_3_9_ENABLED"], + "DD_TRACE_VERTX_4_0_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_4_0_ENABLED","DD_INTEGRATION_VERTX_4_0_ENABLED"], + "DD_TRACE_VERTX_5_0_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_5_0_ENABLED","DD_INTEGRATION_VERTX_5_0_ENABLED"], + "DD_TRACE_VERTX_ANALYTICS_SAMPLE_RATE": ["DD_VERTX_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_VERTX_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_ENABLED","DD_INTEGRATION_VERTX_ENABLED"], + "DD_TRACE_VERTX_REDIS_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_VERTX_REDIS_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_VERTX_REDIS_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_REDIS_CLIENT_ENABLED","DD_INTEGRATION_VERTX_REDIS_CLIENT_ENABLED"], + "DD_TRACE_VERTX_ROUTE_HANDLER_ANALYTICS_SAMPLE_RATE": ["DD_VERTX_ROUTE_HANDLER_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_VERTX_SQL_CLIENT_ANALYTICS_SAMPLE_RATE": ["DD_VERTX_SQL_CLIENT_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_VERTX_SQL_CLIENT_ENABLED": ["DD_TRACE_INTEGRATION_VERTX_SQL_CLIENT_ENABLED","DD_INTEGRATION_VERTX_SQL_CLIENT_ENABLED"], + "DD_TRACE_WALLCLOCK_ENABLED": ["DD_TRACE_INTEGRATION_WALLCLOCK_ENABLED","DD_INTEGRATION_WALLCLOCK_ENABLED"], + "DD_TRACE_WEAVER_ENABLED": ["DD_TRACE_INTEGRATION_WEAVER_ENABLED","DD_INTEGRATION_WEAVER_ENABLED"], + "DD_TRACE_WEBSOCKET_ANALYTICS_SAMPLE_RATE": ["DD_WEBSOCKET_ANALYTICS_SAMPLE_RATE"], + "DD_TRACE_WEBSOCKET_ENABLED": ["DD_TRACE_INTEGRATION_WEBSOCKET_ENABLED","DD_INTEGRATION_WEBSOCKET_ENABLED"], + "DD_TRACE_WEBSPHERE_JMX_ENABLED": ["DD_TRACE_INTEGRATION_WEBSPHERE_JMX_ENABLED","DD_INTEGRATION_WEBSPHERE_JMX_ENABLED"], + "DD_TRACE_WILDFLY_ENABLED": ["DD_TRACE_INTEGRATION_WILDFLY_ENABLED","DD_INTEGRATION_WILDFLY_ENABLED"], + "DD_TRACE_ZIO_EXPERIMENTAL_ENABLED": ["DD_TRACE_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED","DD_INTEGRATION_ZIO_EXPERIMENTAL_ENABLED"] + }, + "deprecations": { + } +} diff --git a/components/environment/src/main/java/datadog/environment/ConfigHelper.java b/components/environment/src/main/java/datadog/environment/ConfigHelper.java new file mode 100644 index 00000000000..2d49910c516 --- /dev/null +++ b/components/environment/src/main/java/datadog/environment/ConfigHelper.java @@ -0,0 +1,100 @@ +package datadog.environment; + +import datadog.trace.api.ConfigInversionStrictStyle; +import de.thetaphi.forbiddenapis.SuppressForbidden; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@SuppressForbidden +public class ConfigHelper { + private static ConfigInversionStrictStyle configInversionStrict; + + // Default to production source + private static SupportedConfigurationSource configSource = new SupportedConfigurationSource(); + + public static void setConfigInversionStrict(ConfigInversionStrictStyle configInversionStrict) { + ConfigHelper.configInversionStrict = configInversionStrict; + } + + public static ConfigInversionStrictStyle configInversionStrictFlag() { + return configInversionStrict; + } + + // Used only for testing purposes + static void setConfigurationSource(SupportedConfigurationSource testSource) { + configSource = testSource; + } + + /** Reset all configuration data to the generated defaults. Useful for cleaning up after tests. */ + static void resetToDefaults() { + configSource = new SupportedConfigurationSource(); + configInversionStrict = ConfigInversionStrictStyle.WARNING; + } + + public static Map getEnvironmentVariables() { + Map env = System.getenv(); + Map configs = new LinkedHashMap<>(); + for (Map.Entry entry : env.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if (key.startsWith("DD_") + || key.startsWith("OTEL_") + || configSource.getAliasMapping().containsKey(key)) { + if (configSource.getSupportedConfigurations().contains(key)) { + configs.put(key, value); + // If this environment variable is the alias of another, and we haven't processed the + // original environment variable yet, handle it here. + } else if (configSource.getAliasMapping().containsKey(key) + && !configs.containsKey(configSource.getAliasMapping().get(key))) { + List aliasList = + configSource.getAliases().get(configSource.getAliasMapping().get(key)); + for (String alias : aliasList) { + if (env.containsKey(alias)) { + configs.put(configSource.getAliasMapping().get(key), env.get(alias)); + break; + } + } + } + // if (deprecatedConfigurations.containsKey(key)) { + // String warning = "Environment variable " + key + " is deprecated. " + + // (aliasMapping.containsKey(key) + // ? "Please use " + aliasMapping.get(key) + " instead." + // : deprecatedConfigurations.get(key)); + // System.err.println(warning); // TODO: REPLACE with log call + // } + } else { + configs.put(key, value); + } + } + return configs; + } + + public static String getEnvironmentVariable(String name) { + if ((name.startsWith("DD_") || name.startsWith("OTEL_")) + && !configSource.getAliasMapping().containsKey(name) + && !configSource.getSupportedConfigurations().contains(name)) { + if (configInversionStrict != ConfigInversionStrictStyle.TEST) { + System.err.println( + "Warning: Missing environment variable " + + name + + " from supported-configurations.json."); + } + + if (configInversionStrict == ConfigInversionStrictStyle.STRICT) { + return null; // If strict mode is enabled, return null for unsupported configs + } + } + + String config = EnvironmentVariables.get(name); + if (config == null && configSource.getAliases().containsKey(name)) { + for (String alias : configSource.getAliases().get(name)) { + String aliasValue = EnvironmentVariables.get(alias); + if (aliasValue != null) { + return aliasValue; + } + } + } + return config; + } +} diff --git a/components/environment/src/main/java/datadog/environment/EnvironmentVariables.java b/components/environment/src/main/java/datadog/environment/EnvironmentVariables.java index 2be22a7ad10..79c9cced03e 100644 --- a/components/environment/src/main/java/datadog/environment/EnvironmentVariables.java +++ b/components/environment/src/main/java/datadog/environment/EnvironmentVariables.java @@ -1,5 +1,6 @@ package datadog.environment; +import de.thetaphi.forbiddenapis.SuppressForbidden; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -32,6 +33,7 @@ private EnvironmentVariables() {} * @return The environment variable value, {@code defaultValue} if missing, can't be retrieved or * the environment variable name is {@code null}. */ + @SuppressForbidden public static String getOrDefault(@Nonnull String name, String defaultValue) { if (name == null) { return defaultValue; diff --git a/components/environment/src/main/java/datadog/environment/SupportedConfigurationSource.java b/components/environment/src/main/java/datadog/environment/SupportedConfigurationSource.java new file mode 100644 index 00000000000..17b4f0e3ec8 --- /dev/null +++ b/components/environment/src/main/java/datadog/environment/SupportedConfigurationSource.java @@ -0,0 +1,32 @@ +package datadog.environment; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * This class uses {@link #GeneratedSupportedConfigurations} for handling supported configurations + * for Config Inversion Can be extended for testing with custom configuration data. + */ +class SupportedConfigurationSource { + + /** @return Set of supported configuration keys */ + public Set getSupportedConfigurations() { + return GeneratedSupportedConfigurations.SUPPORTED; + } + + /** @return Map of configuration keys to their aliases */ + public Map> getAliases() { + return GeneratedSupportedConfigurations.ALIASES; + } + + /** @return Map of alias keys to their primary configuration keys */ + public Map getAliasMapping() { + return GeneratedSupportedConfigurations.ALIAS_MAPPING; + } + + /** @return Map of deprecated configurations */ + public Map getDeprecatedConfigurations() { + return GeneratedSupportedConfigurations.DEPRECATED; + } +} diff --git a/components/environment/src/test/java/datadog/environment/ConfigHelperTest.java b/components/environment/src/test/java/datadog/environment/ConfigHelperTest.java new file mode 100644 index 00000000000..e9b634c551a --- /dev/null +++ b/components/environment/src/test/java/datadog/environment/ConfigHelperTest.java @@ -0,0 +1,205 @@ +package datadog.environment; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; + +import datadog.trace.api.ConfigInversionStrictStyle; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +public class ConfigHelperTest { + // Test environment variables + private static final String TEST_DD_VAR = "DD_TEST_CONFIG"; + private static final String TEST_DD_VAR_VAL = "test_dd_var"; + private static final String TEST_OTEL_VAR = "OTEL_TEST_CONFIG"; + private static final String TEST_OTEL_VAR_VAL = "test_otel_var"; + private static final String TEST_REGULAR_VAR = "REGULAR_TEST_CONFIG"; + private static final String TEST_REGULAR_VAR_VAL = "test_regular_var"; + private static final String UNSUPPORTED_DD_VAR = "DD_UNSUPPORTED_CONFIG"; + + private static final String ALIAS_DD_VAR = "DD_TEST_CONFIG_ALIAS"; + private static final String ALIAS_DD_VAL = "test_alias_val"; + private static final String NON_DD_ALIAS_VAR = "TEST_CONFIG_ALIAS"; + private static final String NON_DD_ALIAS_VAL = "test_alias_val_non_dd"; + + private static ConfigInversionStrictStyle strictness; + private static TestSupportedConfigurationSource testSource; + + @BeforeAll + static void setUp() { + // Set up test configurations using SupportedConfigurationSource + Set testSupported = + new HashSet<>(Arrays.asList(TEST_DD_VAR, TEST_OTEL_VAR, TEST_REGULAR_VAR)); + + Map> testAliases = new HashMap<>(); + testAliases.put(TEST_DD_VAR, Arrays.asList(ALIAS_DD_VAR, NON_DD_ALIAS_VAR)); + + Map testAliasMapping = new HashMap<>(); + testAliasMapping.put(ALIAS_DD_VAR, TEST_DD_VAR); + testAliasMapping.put(NON_DD_ALIAS_VAR, TEST_DD_VAR); + + // Create and set test configuration source + testSource = + new TestSupportedConfigurationSource( + testSupported, testAliases, testAliasMapping, new HashMap<>()); + ConfigHelper.setConfigurationSource(testSource); + strictness = ConfigHelper.configInversionStrictFlag(); + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.STRICT); + } + + @AfterAll + static void tearDown() { + ConfigHelper.resetToDefaults(); + ConfigHelper.setConfigInversionStrict(strictness); + } + + @Test + void testBasicConfigHelper() { + setEnvVar(TEST_DD_VAR, TEST_DD_VAR_VAL); + setEnvVar(TEST_OTEL_VAR, TEST_OTEL_VAR_VAL); + setEnvVar(TEST_REGULAR_VAR, TEST_REGULAR_VAR_VAL); + + assertEquals(TEST_DD_VAR_VAL, ConfigHelper.getEnvironmentVariable(TEST_DD_VAR)); + assertEquals(TEST_OTEL_VAR_VAL, ConfigHelper.getEnvironmentVariable(TEST_OTEL_VAR)); + assertEquals(TEST_REGULAR_VAR_VAL, ConfigHelper.getEnvironmentVariable(TEST_REGULAR_VAR)); + + Map result = ConfigHelper.getEnvironmentVariables(); + assertEquals(TEST_DD_VAR_VAL, result.get(TEST_DD_VAR)); + assertEquals(TEST_OTEL_VAR_VAL, result.get(TEST_OTEL_VAR)); + assertEquals(TEST_REGULAR_VAR_VAL, result.get(TEST_REGULAR_VAR)); + + // Cleanup + setEnvVar(TEST_DD_VAR, null); + setEnvVar(TEST_OTEL_VAR, null); + setEnvVar(TEST_REGULAR_VAR, null); + } + + @Test + void testAliasSupport() { + setEnvVar(ALIAS_DD_VAR, ALIAS_DD_VAL); + + assertEquals(ALIAS_DD_VAL, ConfigHelper.getEnvironmentVariable(TEST_DD_VAR)); + Map result = ConfigHelper.getEnvironmentVariables(); + assertEquals(ALIAS_DD_VAL, result.get(TEST_DD_VAR)); + assertFalse(result.containsKey(ALIAS_DD_VAR)); + + // Cleanup + setEnvVar(ALIAS_DD_VAR, null); + } + + @Test + void testMainConfigPrecedence() { + // When both main variable and alias are set, main should take precedence + setEnvVar(TEST_DD_VAR, TEST_DD_VAR_VAL); + setEnvVar(ALIAS_DD_VAR, ALIAS_DD_VAL); + + assertEquals(TEST_DD_VAR_VAL, ConfigHelper.getEnvironmentVariable(TEST_DD_VAR)); + Map result = ConfigHelper.getEnvironmentVariables(); + assertEquals(TEST_DD_VAR_VAL, result.get(TEST_DD_VAR)); + assertFalse(result.containsKey(ALIAS_DD_VAR)); + + // Cleanup + setEnvVar(TEST_DD_VAR, null); + setEnvVar(ALIAS_DD_VAR, null); + } + + @Test + void testUnsupportedDDEnvironmentVariable() { + setEnvVar(UNSUPPORTED_DD_VAR, ""); + + assertNull(ConfigHelper.getEnvironmentVariable(UNSUPPORTED_DD_VAR)); + Map result = ConfigHelper.getEnvironmentVariables(); + assertFalse(result.containsKey(UNSUPPORTED_DD_VAR)); + + // Cleanup + setEnvVar(UNSUPPORTED_DD_VAR, null); + } + + @Test + void testNonDDAliases() { + setEnvVar(NON_DD_ALIAS_VAR, NON_DD_ALIAS_VAL); + + assertEquals(NON_DD_ALIAS_VAL, ConfigHelper.getEnvironmentVariable(TEST_DD_VAR)); + Map result = ConfigHelper.getEnvironmentVariables(); + assertEquals(NON_DD_ALIAS_VAL, result.get(TEST_DD_VAR)); + assertFalse(result.containsKey(NON_DD_ALIAS_VAR)); + + // Cleanup + setEnvVar(NON_DD_ALIAS_VAR, null); + } + + @Test + void testAliasesWithoutPresentAliases() { + Map result = ConfigHelper.getEnvironmentVariables(); + assertFalse(result.containsKey(ALIAS_DD_VAR)); + } + + @Test + void testUnsupportedButNotStrict() { + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.WARNING); + setEnvVar(UNSUPPORTED_DD_VAR, "loose"); + + // Should fall through and return the env var even though it's unsupported + assertEquals("loose", ConfigHelper.getEnvironmentVariable(UNSUPPORTED_DD_VAR)); + + // Cleanup + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.STRICT); + setEnvVar(UNSUPPORTED_DD_VAR, null); + } + + @Test + void testAliasWithEmptyList() { + Map> aliasMap = new HashMap<>(); + aliasMap.put("EMPTY_ALIAS_CONFIG", new ArrayList<>()); + + ConfigHelper.setConfigurationSource( + new TestSupportedConfigurationSource( + new HashSet<>(), aliasMap, new HashMap<>(), new HashMap<>())); + + assertNull(ConfigHelper.getEnvironmentVariable("EMPTY_ALIAS_CONFIG")); + + // Cleanup + ConfigHelper.setConfigurationSource(testSource); + } + + @Test + void testAliasSkippedWhenBaseAlreadyPresent() { + setEnvVar(TEST_DD_VAR, TEST_DD_VAR_VAL); + setEnvVar(NON_DD_ALIAS_VAR, NON_DD_ALIAS_VAL); + + Map result = ConfigHelper.getEnvironmentVariables(); + assertEquals(TEST_DD_VAR_VAL, result.get(TEST_DD_VAR)); + assertFalse(result.containsKey(NON_DD_ALIAS_VAR)); + + // Cleanup + setEnvVar(TEST_DD_VAR, null); + setEnvVar(NON_DD_ALIAS_VAR, null); + } + + // Copied from utils.TestHelper + @SuppressWarnings("unchecked") + private static void setEnvVar(String envName, String envValue) { + try { + Class classOfMap = System.getenv().getClass(); + Field field = classOfMap.getDeclaredField("m"); + field.setAccessible(true); + if (envValue == null) { + ((Map) field.get(System.getenv())).remove(envName); + } else { + ((Map) field.get(System.getenv())).put(envName, envValue); + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } +} diff --git a/components/environment/src/test/java/datadog/environment/TestSupportedConfigurationSource.java b/components/environment/src/test/java/datadog/environment/TestSupportedConfigurationSource.java new file mode 100644 index 00000000000..31e11ce020a --- /dev/null +++ b/components/environment/src/test/java/datadog/environment/TestSupportedConfigurationSource.java @@ -0,0 +1,44 @@ +package datadog.environment; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** Test implementation of SupportedConfigurationSource that uses custom configuration data */ +class TestSupportedConfigurationSource extends SupportedConfigurationSource { + private final Set supported; + private final Map> aliases; + private final Map aliasMapping; + private final Map deprecated; + + public TestSupportedConfigurationSource( + Set supported, + Map> aliases, + Map aliasMapping, + Map deprecated) { + this.supported = supported; + this.aliases = aliases; + this.aliasMapping = aliasMapping; + this.deprecated = deprecated; + } + + @Override + public Set getSupportedConfigurations() { + return supported; + } + + @Override + public Map> getAliases() { + return aliases; + } + + @Override + public Map getAliasMapping() { + return aliasMapping; + } + + @Override + public Map getDeprecatedConfigurations() { + return deprecated; + } +} diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java index b4b6dee02fa..54c453d6409 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java @@ -13,6 +13,7 @@ import static datadog.trace.util.Strings.propertyNameToSystemPropertyName; import static datadog.trace.util.Strings.toEnvVar; +import datadog.environment.ConfigHelper; import datadog.environment.JavaVirtualMachine; import datadog.environment.OperatingSystem; import datadog.trace.api.Config; @@ -1260,7 +1261,7 @@ public void withTracer(TracerAPI tracer) { } private static boolean isAwsLambdaRuntime() { - String val = System.getenv("AWS_LAMBDA_FUNCTION_NAME"); + String val = ConfigHelper.getEnvironmentVariable("AWS_LAMBDA_FUNCTION_NAME"); return val != null && !val.isEmpty(); } @@ -1347,7 +1348,7 @@ private static void configureLogger() { } else { logLevel = ddGetProperty("dd.log.level"); if (null == logLevel) { - logLevel = System.getenv("OTEL_LOG_LEVEL"); + logLevel = ConfigHelper.getEnvironmentVariable("OTEL_LOG_LEVEL"); } } @@ -1561,7 +1562,7 @@ private static String getStableConfig(StableConfigSource source, final String sy /** Looks for the "DD_" environment variable equivalent of the given "dd." system property. */ private static String ddGetEnv(final String sysProp) { - return System.getenv(toEnvVar(sysProp)); + return ConfigHelper.getEnvironmentVariable(toEnvVar(sysProp)); } private static boolean okHttpMayIndirectlyLoadJUL() { diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Library.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Library.java index a7482cfb542..baa7c67e066 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Library.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Library.java @@ -1,5 +1,6 @@ package datadog.trace.bootstrap; +import datadog.environment.ConfigHelper; import java.util.EnumSet; import org.slf4j.Logger; @@ -15,7 +16,7 @@ public enum Library { public static EnumSet detectLibraries(final Logger log) { final EnumSet libraries = EnumSet.noneOf(Library.class); - final String jbossHome = System.getenv("JBOSS_HOME"); + final String jbossHome = ConfigHelper.getEnvironmentVariable("JBOSS_HOME"); if (jbossHome != null) { log.debug("Env - jboss: {}", jbossHome); libraries.add(WILDFLY); diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java index f46986f31a5..1b6449905e2 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java @@ -1,5 +1,7 @@ package datadog.trace.civisibility; +import static datadog.environment.ConfigHelper.getEnvironmentVariables; + import com.squareup.moshi.JsonAdapter; import com.squareup.moshi.Moshi; import com.squareup.moshi.Types; @@ -34,6 +36,7 @@ import datadog.trace.civisibility.source.LinesResolver; import datadog.trace.civisibility.source.index.*; import datadog.trace.civisibility.utils.ShellCommandExecutor; +import de.thetaphi.forbiddenapis.SuppressForbidden; import java.io.File; import java.lang.reflect.Type; import java.net.InetSocketAddress; @@ -143,6 +146,7 @@ private static GitClient.Factory buildGitClientFactory( } @Nonnull + @SuppressForbidden private static CiEnvironment buildCiEnvironment(Config config, SharedCommunicationObjects sco) { String remoteEnvVarsProviderUrl = config.getCiVisibilityRemoteEnvVarsProviderUrl(); if (remoteEnvVarsProviderUrl != null) { @@ -151,10 +155,12 @@ private static CiEnvironment buildCiEnvironment(Config config, SharedCommunicati new CiEnvironmentImpl( getRemoteEnvironment( remoteEnvVarsProviderUrl, remoteEnvVarsProviderKey, sco.okHttpClient)); - CiEnvironment localEnvironment = new CiEnvironmentImpl(System.getenv()); + CiEnvironment localEnvironment = new CiEnvironmentImpl(getEnvironmentVariables()); + // CiEnvironment localEnvironment = new CiEnvironmentImpl(System.getenv()); return new CompositeCiEnvironment(remoteEnvironment, localEnvironment); } else { - return new CiEnvironmentImpl(System.getenv()); + return new CiEnvironmentImpl(getEnvironmentVariables()); + // return new CiEnvironmentImpl(System.getenv()); } } diff --git a/dd-java-agent/agent-logging/src/main/java/datadog/trace/logging/ddlogger/DDLoggerFactory.java b/dd-java-agent/agent-logging/src/main/java/datadog/trace/logging/ddlogger/DDLoggerFactory.java index 47d03e7cf9e..506b15905f8 100644 --- a/dd-java-agent/agent-logging/src/main/java/datadog/trace/logging/ddlogger/DDLoggerFactory.java +++ b/dd-java-agent/agent-logging/src/main/java/datadog/trace/logging/ddlogger/DDLoggerFactory.java @@ -1,5 +1,6 @@ package datadog.trace.logging.ddlogger; +import datadog.environment.ConfigHelper; import datadog.trace.api.Platform; import datadog.trace.logging.LogLevel; import datadog.trace.logging.LogLevelSwitcher; @@ -106,7 +107,7 @@ private static boolean isFlagEnabled( if ("false".equalsIgnoreCase(value)) { return false; } - value = System.getenv(envVar); + value = ConfigHelper.getEnvironmentVariable(envVar); if ("true".equalsIgnoreCase(value)) { return true; } diff --git a/dd-java-agent/build.gradle b/dd-java-agent/build.gradle index 891e58fc79c..ef089765b8e 100644 --- a/dd-java-agent/build.gradle +++ b/dd-java-agent/build.gradle @@ -35,6 +35,7 @@ tasks.compileJava.dependsOn compileMain_java6Java dependencies { main_java6CompileOnly 'de.thetaphi:forbiddenapis:3.8' + implementation project(':components:environment') testImplementation sourceSets.main_java6.output } diff --git a/dd-java-agent/instrumentation/aws-lambda-handler/src/main/java/datadog/trace/instrumentation/aws/v1/lambda/LambdaHandlerInstrumentation.java b/dd-java-agent/instrumentation/aws-lambda-handler/src/main/java/datadog/trace/instrumentation/aws/v1/lambda/LambdaHandlerInstrumentation.java index b281639d7ff..69ad55a6dbd 100644 --- a/dd-java-agent/instrumentation/aws-lambda-handler/src/main/java/datadog/trace/instrumentation/aws/v1/lambda/LambdaHandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-lambda-handler/src/main/java/datadog/trace/instrumentation/aws/v1/lambda/LambdaHandlerInstrumentation.java @@ -16,6 +16,7 @@ import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.google.auto.service.AutoService; +import datadog.environment.ConfigHelper; import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.InstrumenterModule; import datadog.trace.bootstrap.CallDepthThreadLocalMap; @@ -60,7 +61,7 @@ public String[] helperClassNames() { @Override protected boolean defaultEnabled() { - final String handler = System.getenv(HANDLER_ENV_NAME); + final String handler = ConfigHelper.getEnvironmentVariable(HANDLER_ENV_NAME); return null != handler; } diff --git a/dd-java-agent/instrumentation/maven-3.2.1/src/main/java/datadog/trace/instrumentation/maven3/MavenUtils.java b/dd-java-agent/instrumentation/maven-3.2.1/src/main/java/datadog/trace/instrumentation/maven3/MavenUtils.java index c5315dc0921..f7fe3336119 100644 --- a/dd-java-agent/instrumentation/maven-3.2.1/src/main/java/datadog/trace/instrumentation/maven3/MavenUtils.java +++ b/dd-java-agent/instrumentation/maven-3.2.1/src/main/java/datadog/trace/instrumentation/maven3/MavenUtils.java @@ -1,5 +1,6 @@ package datadog.trace.instrumentation.maven3; +import datadog.environment.ConfigHelper; import datadog.trace.api.civisibility.domain.JavaAgent; import datadog.trace.util.MethodHandles; import datadog.trace.util.Strings; @@ -65,7 +66,8 @@ public abstract class MavenUtils { * of the request object */ public static String getCommandLine(MavenSession session) { - String mavenCmdLineArgsEnvVar = System.getenv(MAVEN_CMD_LINE_ARGS_ENVIRONMENT_VAR); + String mavenCmdLineArgsEnvVar = + ConfigHelper.getEnvironmentVariable(MAVEN_CMD_LINE_ARGS_ENVIRONMENT_VAR); if (mavenCmdLineArgsEnvVar != null) { return MVN_CMD_LINE_INVOCATION + mavenCmdLineArgsEnvVar; } diff --git a/dd-java-agent/src/main/java/datadog/trace/bootstrap/AgentBootstrap.java b/dd-java-agent/src/main/java/datadog/trace/bootstrap/AgentBootstrap.java index b5926c38d93..1d03dfbb498 100644 --- a/dd-java-agent/src/main/java/datadog/trace/bootstrap/AgentBootstrap.java +++ b/dd-java-agent/src/main/java/datadog/trace/bootstrap/AgentBootstrap.java @@ -2,7 +2,6 @@ import static java.nio.charset.StandardCharsets.UTF_8; -import datadog.trace.bootstrap.environment.EnvironmentVariables; import datadog.trace.bootstrap.environment.JavaVirtualMachine; import datadog.trace.bootstrap.environment.SystemProperties; import de.thetaphi.forbiddenapis.SuppressForbidden; @@ -44,6 +43,7 @@ *
  • Do dot touch any logging facilities here so we can configure them later * */ +@SuppressForbidden public final class AgentBootstrap { static final String LIB_INJECTION_ENABLED_ENV_VAR = "DD_INJECTION_ENABLED"; static final String LIB_INJECTION_FORCE_SYS_PROP = "dd.inject.force"; @@ -91,7 +91,7 @@ public static void agentmain(final String agentArgs, final Instrumentation inst) } private static BootstrapInitializationTelemetry createInitializationTelemetry() { - String forwarderPath = EnvironmentVariables.get("DD_TELEMETRY_FORWARDER_PATH"); + String forwarderPath = System.getenv("DD_TELEMETRY_FORWARDER_PATH"); if (forwarderPath == null) { return BootstrapInitializationTelemetry.noOpInstance(); } @@ -166,7 +166,7 @@ static boolean getConfig(String configName) { { String envVarName = LIB_INJECTION_FORCE_SYS_PROP.replace('.', '_').replace('-', '_').toUpperCase(); - String injectionForceFlag = EnvironmentVariables.get(envVarName); + String injectionForceFlag = System.getenv(envVarName); if (injectionForceFlag == null) { injectionForceFlag = SystemProperties.get(LIB_INJECTION_FORCE_SYS_PROP); } diff --git a/dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java b/dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java index 391436c549d..f22945afedf 100644 --- a/dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java +++ b/dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java @@ -1,7 +1,7 @@ package datadog.trace.bootstrap; +import datadog.environment.ConfigHelper; import datadog.json.JsonWriter; -import datadog.trace.bootstrap.environment.EnvironmentVariables; import de.thetaphi.forbiddenapis.SuppressForbidden; import java.io.Closeable; import java.io.OutputStream; @@ -146,7 +146,7 @@ public void onError(Throwable t) { } private int maxTags() { - String maxTags = EnvironmentVariables.get("DD_TELEMETRY_FORWARDER_MAX_TAGS"); + String maxTags = ConfigHelper.getEnvironmentVariable("DD_TELEMETRY_FORWARDER_MAX_TAGS"); if (maxTags != null) { try { diff --git a/dd-java-agent/src/main/java6/datadog/trace/bootstrap/AgentPreCheck.java b/dd-java-agent/src/main/java6/datadog/trace/bootstrap/AgentPreCheck.java index 3ec4f41a4d7..506bf60e2d6 100644 --- a/dd-java-agent/src/main/java6/datadog/trace/bootstrap/AgentPreCheck.java +++ b/dd-java-agent/src/main/java6/datadog/trace/bootstrap/AgentPreCheck.java @@ -89,6 +89,7 @@ private static boolean compatible() { return compatible(javaVersion, javaHome, System.err); } + @SuppressForbidden // Reachable for testing static boolean compatible(String javaVersion, String javaHome, PrintStream output) { int majorJavaVersion = parseJavaMajorVersion(javaVersion); diff --git a/dd-trace-api/src/main/java/datadog/trace/api/ConfigInversionStrictStyle.java b/dd-trace-api/src/main/java/datadog/trace/api/ConfigInversionStrictStyle.java new file mode 100644 index 00000000000..243f5fbbbdf --- /dev/null +++ b/dd-trace-api/src/main/java/datadog/trace/api/ConfigInversionStrictStyle.java @@ -0,0 +1,24 @@ +package datadog.trace.api; + +import java.util.Locale; + +/** Trace propagation styles for injecting and extracting trace propagation headers. */ +public enum ConfigInversionStrictStyle { + STRICT, + WARNING, + TEST; + + private String displayName; + + ConfigInversionStrictStyle() { + this.displayName = name().toLowerCase(Locale.ROOT); + } + + @Override + public String toString() { + if (displayName == null) { + displayName = name().toLowerCase(Locale.ROOT); + } + return displayName; + } +} diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java index 588854a2069..73b84917230 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java @@ -111,5 +111,7 @@ public final class GeneralConfig { public static final String SSI_INJECTION_FORCE = "inject.force"; public static final String INSTRUMENTATION_SOURCE = "instrumentation.source"; + public static final String CONFIG_INVERSION_STRICT = "config.inversion.strict"; + private GeneralConfig() {} } diff --git a/gradle/configInversionLinter.gradle b/gradle/configInversionLinter.gradle new file mode 100644 index 00000000000..c7fa14ba680 --- /dev/null +++ b/gradle/configInversionLinter.gradle @@ -0,0 +1,115 @@ +import groovy.json.JsonSlurper +import java.nio.file.Path + +tasks.register('logEnvVarUsages') { + description = "Scan Java files for DD_ tokens and fail if unsupported" + group = "verification" + + doLast { + def repoRoot = projectDir.toPath() + def jsonFile = file("$projectDir/components/environment/src/generator/resources/supported-configurations.json") + + if (!jsonFile.exists()) { + throw new GradleException("supported-configurations.json not found at $jsonFile") + } + + def jsonSlurper = new JsonSlurper() + def supportedConfigs = jsonSlurper.parse(jsonFile) + + if (!(supportedConfigs instanceof Map) || !supportedConfigs.containsKey("supportedConfigurations")) { + throw new GradleException("supported-configurations.json must contain a top-level 'supportedConfigurations' object") + } + + // Extract keys under "supportedConfigurations" + Set supportedTokenSet = supportedConfigs.supportedConfigurations.keySet() + + def javaFiles = fileTree("$projectDir") { + include '**/src/main/java/**/*.java' + + exclude '**/dd-smoke-tests/**' + } + + def unsupportedTokensFound = [] + + javaFiles.each { file -> + Path relativePath = repoRoot.relativize(file.toPath()) + def lines = file.readLines() + def inBlockComment = false + lines.eachWithIndex { line, idx -> + def trimmed = line.trim() + + // Skip single-line comments + if (trimmed.startsWith("//")) return + + // Track block comment state + if (trimmed.contains("/*")) inBlockComment = true + if (inBlockComment) { + if (trimmed.contains("*/")) inBlockComment = false + return + } + + def matcher = (line =~ /"(?:DD_|OTEL_)[A-Za-z0-9_]+"/) + matcher.each { matchedToken -> + def token = matchedToken[1..-2] // remove quotes + if (!supportedTokenSet.contains(token)) { + unsupportedTokensFound << "Unsupported token '$token' found in ${relativePath}:${idx + 1}" + } + } + } + } + + if (!unsupportedTokensFound.isEmpty()) { + unsupportedTokensFound.each { logger.error(it) } + throw new GradleException("Unsupported DD_ tokens found! See errors above.") + } else { + logger.lifecycle("All DD_ tokens are supported.") + } + } +} + +tasks.register('checkEnvironmentVariablesUsage') { + group = "verification" + description = "Scans src/main/java for direct usages of EnvironmentVariables.get(...)" + + doLast { + def pattern = ~/EnvironmentVariables\.get\s*\(/ + def repoRoot = projectDir.toPath() + + def javaFiles = fileTree(projectDir) { + include '**/src/main/java/**/*.java' + + // Exclude specific files (relative to projectDir) + exclude '**/build/**' + exclude 'components/environment/src/main/java/datadog/environment/ConfigHelper.java' + } + + def matches = [] + + javaFiles.each { file -> + def relativePath = repoRoot.relativize(file.toPath()) + file.eachLine { line, index -> + if (line =~ pattern) { + matches << "${relativePath}:${index + 1} -> ${line.trim()}" + } + } + } + + if (!matches.isEmpty()) { + println "\nFound forbidden usages of EnvironmentVariables.get(...):" + matches.each { println it } + throw new GradleException("Forbidden usage of EnvironmentVariables.get(...) found in Java files.") + } else { + println "No forbidden EnvironmentVariables.get(...) usages found in src/main/java." + } + } +} + +tasks.named('spotlessCheck') { + dependsOn tasks.named('logEnvVarUsages') + dependsOn tasks.named('checkEnvironmentVariablesUsage') +} + +tasks.named('spotlessApply') { + dependsOn tasks.named('logEnvVarUsages') + dependsOn tasks.named('checkEnvironmentVariablesUsage') +} diff --git a/gradle/forbiddenApiFilters/main.txt b/gradle/forbiddenApiFilters/main.txt index 4993b965ed8..7ef593e5264 100644 --- a/gradle/forbiddenApiFilters/main.txt +++ b/gradle/forbiddenApiFilters/main.txt @@ -28,3 +28,8 @@ net.bytebuddy.matcher.ElementMatchers#isAbstract() @defaultMessage Avoid using System.out/err to prevent excess logging. To override, add @SuppressForbidden. java.lang.System#out java.lang.System#err + +# avoid using System.getenv() or System.getenv(String) in code outside of ConfigHelper.java +@defaultMessage Avoid using System.getenv() or System.getenv(String) in code outside of ConfigHelper.java +java.lang.System#getenv() +java.lang.System#getenv(java.lang.String) diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle index b2c3d53ab4b..fcc2abec27b 100644 --- a/gradle/jacoco.gradle +++ b/gradle/jacoco.gradle @@ -37,7 +37,9 @@ if (!project.ext.hasProperty('excludedClassesBranchCoverage')) { } if (!project.ext.hasProperty('excludedClassesInstructionCoverage')) { - project.ext.excludedClassesInstructionCoverage = [] + project.ext.excludedClassesInstructionCoverage = [ + "datadog.environment.GeneratedSupportedConfigurations", + "datadog.environment.SupportedConfigurationSource"] // Generated static file } // defaults can be overridden per project: diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index 2e8e014274f..5328b722688 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -631,6 +631,7 @@ import static datadog.trace.util.CollectionUtils.tryMakeImmutableSet; import static datadog.trace.util.Strings.propertyNameToEnvironmentVariableName; +import datadog.environment.ConfigHelper; import datadog.environment.JavaVirtualMachine; import datadog.environment.OperatingSystem; import datadog.trace.api.civisibility.CiVisibilityWellKnownTags; @@ -1198,6 +1199,8 @@ public static String getHostName() { private final boolean telemetryDebugRequestsEnabled; + private final ConfigInversionStrictStyle configInversionStrict; + private final boolean agentlessLogSubmissionEnabled; private final int agentlessLogSubmissionQueueSize; private final String agentlessLogSubmissionLevel; @@ -1995,6 +1998,8 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment()) DEFAULT_TELEMETRY_DEPENDENCY_RESOLUTION_QUEUE_SIZE); clientIpEnabled = configProvider.getBoolean(CLIENT_IP_ENABLED, DEFAULT_CLIENT_IP_ENABLED); + configInversionStrict = ConfigHelper.configInversionStrictFlag(); + appSecReportingInband = configProvider.getBoolean(APPSEC_REPORTING_INBAND, DEFAULT_APPSEC_REPORTING_INBAND); appSecRulesFile = configProvider.getString(APPSEC_RULES_FILE, null); @@ -3465,6 +3470,10 @@ public boolean isClientIpEnabled() { return clientIpEnabled; } + public ConfigInversionStrictStyle isConfigInversionStrict() { + return configInversionStrict; + } + public ProductActivation getAppSecActivation() { return instrumenterConfig.getAppSecActivation(); } @@ -5192,7 +5201,7 @@ private static boolean isWindowsOS() { } private static String getEnv(String name) { - String value = System.getenv(name); + String value = ConfigHelper.getEnvironmentVariable(name); if (value != null) { ConfigCollector.get().put(name, value, ConfigOrigin.ENV); } @@ -5616,6 +5625,8 @@ public String toString() { + grpcClientErrorStatuses + ", clientIpEnabled=" + clientIpEnabled + + ", configInversionStrict=" + + configInversionStrict + ", appSecReportingInband=" + appSecReportingInband + ", appSecRulesFile='" diff --git a/internal-api/src/main/java/datadog/trace/api/ProcessTags.java b/internal-api/src/main/java/datadog/trace/api/ProcessTags.java index b13adc60fb1..eb5dacd16ef 100644 --- a/internal-api/src/main/java/datadog/trace/api/ProcessTags.java +++ b/internal-api/src/main/java/datadog/trace/api/ProcessTags.java @@ -1,8 +1,10 @@ package datadog.trace.api; +import datadog.environment.ConfigHelper; import datadog.trace.api.env.CapturedEnvironment; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import datadog.trace.util.TraceUtils; +import de.thetaphi.forbiddenapis.SuppressForbidden; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collections; @@ -16,6 +18,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@SuppressForbidden public class ProcessTags { private static final Logger LOGGER = LoggerFactory.getLogger(ProcessTags.class); private static boolean enabled = Config.get().isExperimentalPropagateProcessTagsEnabled(); @@ -27,7 +30,8 @@ public class ProcessTags { public static final String ENTRYPOINT_WORKDIR = "entrypoint.workdir"; // visible for testing - static Function envGetter = System::getenv; + static Function envGetter = ConfigHelper::getEnvironmentVariable; + // static Function envGetter = System::getenv; private static class Lazy { // the tags are used to compute a hash for dsm hence that map must be sorted. diff --git a/internal-api/src/main/java/datadog/trace/api/env/CapturedEnvironment.java b/internal-api/src/main/java/datadog/trace/api/env/CapturedEnvironment.java index 47b2daacc9e..200d1037eb2 100644 --- a/internal-api/src/main/java/datadog/trace/api/env/CapturedEnvironment.java +++ b/internal-api/src/main/java/datadog/trace/api/env/CapturedEnvironment.java @@ -1,5 +1,6 @@ package datadog.trace.api.env; +import datadog.environment.ConfigHelper; import datadog.environment.JavaVirtualMachine; import datadog.trace.api.config.GeneralConfig; import java.io.File; @@ -77,8 +78,8 @@ static void useFixedProcessInfo(final ProcessInfo processInfo) { * autodetection will return either the JAR filename or the java main class. */ private String autodetectServiceName() { - String inAas = System.getenv("DD_AZURE_APP_SERVICES"); - String siteName = System.getenv("WEBSITE_SITE_NAME"); + String inAas = ConfigHelper.getEnvironmentVariable("DD_AZURE_APP_SERVICES"); + String siteName = ConfigHelper.getEnvironmentVariable("WEBSITE_SITE_NAME"); if (("true".equalsIgnoreCase(inAas) || "1".equals(inAas)) && siteName != null) { return siteName; diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/AgentArgsInjector.java b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/AgentArgsInjector.java index 967f5a7dda4..0eb30abe401 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/AgentArgsInjector.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/AgentArgsInjector.java @@ -1,5 +1,6 @@ package datadog.trace.bootstrap.config.provider; +import datadog.environment.ConfigHelper; import datadog.trace.util.Strings; import java.util.Map; @@ -28,7 +29,7 @@ public static void injectAgentArgsConfig(Map args) { } String envVarName = Strings.toEnvVar(propertyName); - String envVarValue = System.getenv(envVarName); + String envVarValue = ConfigHelper.getEnvironmentVariable(envVarName); if (envVarValue != null) { // env variables should have higher priority than agent arguments continue; diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/ConfigProvider.java b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/ConfigProvider.java index 0a2715dd11a..f3cf34d5d91 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/ConfigProvider.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/ConfigProvider.java @@ -1,8 +1,11 @@ package datadog.trace.bootstrap.config.provider; import static datadog.trace.api.config.GeneralConfig.CONFIGURATION_FILE; +import static datadog.trace.api.config.GeneralConfig.CONFIG_INVERSION_STRICT; +import datadog.environment.ConfigHelper; import datadog.trace.api.ConfigCollector; +import datadog.trace.api.ConfigInversionStrictStyle; import datadog.trace.api.ConfigOrigin; import de.thetaphi.forbiddenapis.SuppressForbidden; import java.io.File; @@ -373,9 +376,17 @@ public static ConfigProvider getInstance() { } public static ConfigProvider createDefault() { - Properties configProperties = - loadConfigurationFile( - new ConfigProvider(new SystemPropertiesConfigSource(), new EnvironmentConfigSource())); + ConfigProvider minimalProvider = + new ConfigProvider(new SystemPropertiesConfigSource(), new EnvironmentConfigSource()); + + // TODO: Set default value to false before merging + ConfigHelper.setConfigInversionStrict( + minimalProvider.getEnum( + CONFIG_INVERSION_STRICT, + ConfigInversionStrictStyle.class, + ConfigInversionStrictStyle.STRICT)); + + Properties configProperties = loadConfigurationFile(minimalProvider); if (configProperties.isEmpty()) { return new ConfigProvider( new SystemPropertiesConfigSource(), @@ -397,10 +408,17 @@ public static ConfigProvider createDefault() { } public static ConfigProvider withoutCollector() { - Properties configProperties = - loadConfigurationFile( - new ConfigProvider( - false, new SystemPropertiesConfigSource(), new EnvironmentConfigSource())); + ConfigProvider minimalProvider = + new ConfigProvider( + false, new SystemPropertiesConfigSource(), new EnvironmentConfigSource()); + // TODO: Set default value to false before merging + ConfigHelper.setConfigInversionStrict( + minimalProvider.getEnum( + CONFIG_INVERSION_STRICT, + ConfigInversionStrictStyle.class, + ConfigInversionStrictStyle.STRICT)); + + Properties configProperties = loadConfigurationFile(minimalProvider); if (configProperties.isEmpty()) { return new ConfigProvider( false, @@ -425,12 +443,20 @@ public static ConfigProvider withoutCollector() { public static ConfigProvider withPropertiesOverride(Properties properties) { PropertiesConfigSource providedConfigSource = new PropertiesConfigSource(properties, false); - Properties configProperties = - loadConfigurationFile( - new ConfigProvider( - new SystemPropertiesConfigSource(), - new EnvironmentConfigSource(), - providedConfigSource)); + ConfigProvider minimalProvider = + new ConfigProvider( + new SystemPropertiesConfigSource(), + new EnvironmentConfigSource(), + providedConfigSource); + + // TODO: Set default value to false before merging + ConfigHelper.setConfigInversionStrict( + minimalProvider.getEnum( + CONFIG_INVERSION_STRICT, + ConfigInversionStrictStyle.class, + ConfigInversionStrictStyle.STRICT)); + + Properties configProperties = loadConfigurationFile(minimalProvider); if (configProperties.isEmpty()) { return new ConfigProvider( new SystemPropertiesConfigSource(), diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java index ffbdf6f77f2..413fe255e19 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java @@ -2,17 +2,14 @@ import static datadog.trace.util.Strings.propertyNameToEnvironmentVariableName; +import datadog.environment.ConfigHelper; import datadog.trace.api.ConfigOrigin; final class EnvironmentConfigSource extends ConfigProvider.Source { @Override protected String get(String key) { - try { - return System.getenv(propertyNameToEnvironmentVariableName(key)); - } catch (SecurityException e) { - return null; - } + return ConfigHelper.getEnvironmentVariable(propertyNameToEnvironmentVariableName(key)); } @Override diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java index 11ab4841a29..77867c95525 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java @@ -15,6 +15,7 @@ import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_STYLE; import static datadog.trace.api.config.TracerConfig.TRACE_SAMPLE_RATE; +import datadog.environment.ConfigHelper; import datadog.trace.api.ConfigOrigin; import datadog.trace.api.TracePropagationStyle; import datadog.trace.api.telemetry.OtelEnvMetricCollector; @@ -188,7 +189,7 @@ private String getDatadogProperty(String sysProp) { private static String getProperty(String sysProp) { String value = System.getProperty(sysProp); if (null == value) { - value = System.getenv(Strings.toEnvVar(sysProp)); + value = ConfigHelper.getEnvironmentVariable(Strings.toEnvVar(sysProp)); } return value; } diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java index 3b43ad47457..436c8af2a3b 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java @@ -1,5 +1,6 @@ package datadog.trace.bootstrap.config.provider; +import datadog.environment.ConfigHelper; import datadog.trace.bootstrap.config.provider.stableconfig.Rule; import datadog.trace.bootstrap.config.provider.stableconfig.Selector; import datadog.trace.bootstrap.config.provider.stableconfig.StableConfig; @@ -156,7 +157,7 @@ static boolean selectorMatch(String origin, List matches, String operato if (key == null) { return false; } - String envValue = System.getenv(key.toUpperCase()); + String envValue = ConfigHelper.getEnvironmentVariable(key.toUpperCase()); if (envValue == null) { return false; } @@ -249,7 +250,7 @@ private static String processTemplateVar(String templateVar) throws IOException if (envVar.isEmpty()) { throw new IOException("Empty environment variable name in template"); } - String value = System.getenv(envVar.toUpperCase()); + String value = ConfigHelper.getEnvironmentVariable(envVar.toUpperCase()); if (value == null || value.isEmpty()) { return UNDEFINED_VALUE; } diff --git a/internal-api/src/main/java/datadog/trace/util/PidHelper.java b/internal-api/src/main/java/datadog/trace/util/PidHelper.java index 0fafaf8df1c..aaf07f4b9fc 100644 --- a/internal-api/src/main/java/datadog/trace/util/PidHelper.java +++ b/internal-api/src/main/java/datadog/trace/util/PidHelper.java @@ -1,5 +1,6 @@ package datadog.trace.util; +import datadog.environment.ConfigHelper; import datadog.environment.JavaVirtualMachine; import datadog.environment.OperatingSystem; import de.thetaphi.forbiddenapis.SuppressForbidden; @@ -75,12 +76,15 @@ private static String getTempDir() { if (OperatingSystem.isLinux()) { return "/tmp"; } else if (OperatingSystem.isWindows()) { - return Stream.of(System.getenv("TMP"), System.getenv("TEMP"), System.getenv("USERPROFILE")) + return Stream.of( + ConfigHelper.getEnvironmentVariable("TMP"), + ConfigHelper.getEnvironmentVariable("TEMP"), + ConfigHelper.getEnvironmentVariable("USERPROFILE")) .filter(String::isEmpty) .findFirst() .orElse("C:\\Windows"); } else if (OperatingSystem.isMacOs()) { - return System.getenv("TMPDIR"); + return ConfigHelper.getEnvironmentVariable("TMPDIR"); } else { return System.getProperty("java.io.tmpdir"); } diff --git a/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java b/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java index bf71f4971f6..009a1448aa3 100644 --- a/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java +++ b/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java @@ -2,6 +2,7 @@ import static datadog.trace.api.telemetry.LogCollector.SEND_TELEMETRY; +import datadog.environment.ConfigHelper; import datadog.trace.api.config.ProfilingConfig; import datadog.trace.bootstrap.config.provider.ConfigProvider; import java.io.IOException; @@ -306,7 +307,7 @@ private TempLocationManager() { static String getBaseTempDirName() { String userName = System.getProperty("user.name"); // unlikely, but fall-back to system env based user name - userName = userName == null ? System.getenv("USER") : userName; + userName = userName == null ? ConfigHelper.getEnvironmentVariable("USER") : userName; // make sure we do not have any illegal characters in the user name userName = userName != null ? userName.replace('.', '_').replace('/', '_').replace(' ', '_') : null; diff --git a/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy b/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy index 0149e2e636e..8ee88a7de3f 100644 --- a/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy @@ -1,5 +1,6 @@ package datadog.trace.api +import datadog.environment.ConfigHelper import datadog.trace.api.env.FixedCapturedEnvironment import datadog.trace.bootstrap.config.provider.AgentArgsInjector import datadog.trace.bootstrap.config.provider.ConfigConverter @@ -896,9 +897,15 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.trace.test-prop.enabled", "true") System.setProperty("dd.trace.disabled-prop.enabled", "false") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + expect: Config.get().isRuleEnabled(name) == enabled + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: // spotless:off name | enabled @@ -927,9 +934,15 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.jmxfetch.test-prop.enabled", "true") System.setProperty("dd.jmxfetch.disabled-prop.enabled", "false") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + expect: Config.get().isJmxFetchIntegrationEnabled(integrationNames, defaultEnabled) == expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: // spotless:off names | defaultEnabled | expected @@ -969,9 +982,15 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.alias-prop.analytics.enabled", "false") System.setProperty("dd.trace.alias-prop.analytics.enabled", "true") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + expect: Config.get().isTraceAnalyticsIntegrationEnabled(integrationNames, defaultEnabled) == expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: // spotless:off names | defaultEnabled | expected @@ -1011,9 +1030,15 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.garbage.test", "garbage") System.setProperty("dd.negative.test", "-1") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + expect: Config.get().configProvider.getFloat(name, defaultValue) == (float) expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: name | expected // spotless:off @@ -1042,9 +1067,15 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.garbage.test", "garbage") System.setProperty("dd.negative.test", "-1") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + expect: Config.get().configProvider.getDouble(name, defaultValue) == (double) expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: // spotless:off name | expected @@ -1383,6 +1414,9 @@ class ConfigTest extends DDSpecification { System.setProperty("dd.alias-prop.analytics.sample-rate", "0.1") System.setProperty("dd.trace.alias-prop.analytics.sample-rate", "0.2") + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + when: String[] array = services.toArray(new String[0]) def value = Config.get().getInstrumentationAnalyticsSampleRate(array) @@ -1390,6 +1424,9 @@ class ConfigTest extends DDSpecification { then: value == expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: // spotless:off services | expected diff --git a/internal-api/src/test/groovy/datadog/trace/api/InstrumenterConfigTest.groovy b/internal-api/src/test/groovy/datadog/trace/api/InstrumenterConfigTest.groovy index b7f429e2509..439c36ca9c4 100644 --- a/internal-api/src/test/groovy/datadog/trace/api/InstrumenterConfigTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/api/InstrumenterConfigTest.groovy @@ -1,9 +1,21 @@ package datadog.trace.api +import datadog.environment.ConfigHelper import datadog.trace.test.util.DDSpecification class InstrumenterConfigTest extends DDSpecification { + def strictness + + def setup() { + strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) + } + + def cleanup() { + ConfigHelper.setConfigInversionStrict(strictness) + } + def "verify integration config"() { setup: environmentVariables.set("DD_INTEGRATION_ORDER_ENABLED", "false") diff --git a/internal-api/src/test/groovy/datadog/trace/api/telemetry/OtelEnvMetricCollectorTest.groovy b/internal-api/src/test/groovy/datadog/trace/api/telemetry/OtelEnvMetricCollectorTest.groovy index c5970aeb012..ede1f5e2db9 100644 --- a/internal-api/src/test/groovy/datadog/trace/api/telemetry/OtelEnvMetricCollectorTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/api/telemetry/OtelEnvMetricCollectorTest.groovy @@ -10,7 +10,6 @@ import datadog.trace.test.util.DDSpecification class OtelEnvMetricCollectorTest extends DDSpecification { - def "otel disabled - no metric"() { setup: injectEnvConfig('DD_SERVICE_NAME', 'DD_TEST_SERVICE', false) @@ -202,5 +201,4 @@ class OtelEnvMetricCollectorTest extends DDSpecification { 'OTEL_TRACES_EXPORTER' | 'otlp' || 'count' | 1 | 'tracers' | 'otel.env.unsupported' | 'config_opentelemetry:otel_traces_exporter' 'OTEL_LOGS_EXPORTER' | 'otlp' || 'count' | 1 | 'tracers' | 'otel.env.unsupported' | 'config_opentelemetry:otel_logs_exporter' } - } diff --git a/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/ConfigProviderTest.groovy b/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/ConfigProviderTest.groovy index b9783ec59c1..3209caa7edd 100644 --- a/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/ConfigProviderTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/ConfigProviderTest.groovy @@ -2,6 +2,8 @@ package datadog.trace.bootstrap.config.provider import datadog.trace.test.util.DDSpecification import spock.lang.Shared +import datadog.trace.api.ConfigInversionStrictStyle +import datadog.environment.ConfigHelper import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING @@ -29,6 +31,8 @@ class ConfigProviderTest extends DDSpecification { injectEnvConfig("CONFIG_NAME", configNameValue) injectEnvConfig("CONFIG_ALIAS1", configAlias1Value) injectEnvConfig("CONFIG_ALIAS2", configAlias2Value) + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) when: def config = configProvider.getString("CONFIG_NAME", null, "CONFIG_ALIAS1", "CONFIG_ALIAS2") @@ -36,6 +40,9 @@ class ConfigProviderTest extends DDSpecification { then: config == expected + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: configNameValue | configAlias1Value | configAlias2Value | expected "default" | null | null | "default" diff --git a/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/StableConfigParserTest.groovy b/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/StableConfigParserTest.groovy index 636f76d69a0..a676542c2bf 100644 --- a/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/StableConfigParserTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/bootstrap/config/provider/StableConfigParserTest.groovy @@ -1,4 +1,7 @@ package datadog.trace.bootstrap.config.provider + +import datadog.environment.ConfigHelper +import datadog.trace.api.ConfigInversionStrictStyle import datadog.trace.test.util.DDSpecification import java.nio.file.Files import java.nio.file.Path @@ -233,10 +236,15 @@ apm_configuration_rules: if (envKey != null) { injectEnvConfig(envKey, envVal) } + def strictness = ConfigHelper.configInversionStrictFlag() + ConfigHelper.setConfigInversionStrict(ConfigInversionStrictStyle.TEST) then: StableConfigParser.processTemplate(templateVar) == expect + cleanup: + ConfigHelper.setConfigInversionStrict(strictness) + where: templateVar | envKey | envVal | expect "{{environment_variables['DD_KEY']}}" | "DD_KEY" | "value" | "value" diff --git a/telemetry/src/main/java/datadog/telemetry/TelemetryRequest.java b/telemetry/src/main/java/datadog/telemetry/TelemetryRequest.java index 0b4360b9f76..dddc2950458 100644 --- a/telemetry/src/main/java/datadog/telemetry/TelemetryRequest.java +++ b/telemetry/src/main/java/datadog/telemetry/TelemetryRequest.java @@ -2,6 +2,7 @@ import datadog.common.container.ContainerInfo; import datadog.communication.ddagent.TracerVersion; +import datadog.environment.ConfigHelper; import datadog.telemetry.api.DistributionSeries; import datadog.telemetry.api.Integration; import datadog.telemetry.api.LogMessage; @@ -111,9 +112,9 @@ public void writeProducts() { } public void writeInstallSignature() { - String installId = System.getenv("DD_INSTRUMENTATION_INSTALL_ID"); - String installType = System.getenv("DD_INSTRUMENTATION_INSTALL_TYPE"); - String installTime = System.getenv("DD_INSTRUMENTATION_INSTALL_TIME"); + String installId = ConfigHelper.getEnvironmentVariable("DD_INSTRUMENTATION_INSTALL_ID"); + String installType = ConfigHelper.getEnvironmentVariable("DD_INSTRUMENTATION_INSTALL_TYPE"); + String installTime = ConfigHelper.getEnvironmentVariable("DD_INSTRUMENTATION_INSTALL_TIME"); try { requestBody.writeInstallSignature(installId, installType, installTime); diff --git a/utils/container-utils/build.gradle.kts b/utils/container-utils/build.gradle.kts index 61877cbcfc9..9f78ea435e7 100644 --- a/utils/container-utils/build.gradle.kts +++ b/utils/container-utils/build.gradle.kts @@ -6,6 +6,7 @@ apply(from = "$rootDir/gradle/java.gradle") dependencies { implementation(libs.slf4j) + implementation(project(":components:environment")) testImplementation(project(":utils:test-utils")) } diff --git a/utils/container-utils/src/main/java/datadog/common/container/ServerlessInfo.java b/utils/container-utils/src/main/java/datadog/common/container/ServerlessInfo.java index 41c82b57e31..1f88d39b0a7 100644 --- a/utils/container-utils/src/main/java/datadog/common/container/ServerlessInfo.java +++ b/utils/container-utils/src/main/java/datadog/common/container/ServerlessInfo.java @@ -1,5 +1,6 @@ package datadog.common.container; +import datadog.environment.ConfigHelper; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; @@ -12,7 +13,7 @@ public class ServerlessInfo { private final boolean hasExtension; private ServerlessInfo(final String extensionPath) { - this.functionName = System.getenv(AWS_FUNCTION_VARIABLE); + this.functionName = ConfigHelper.getEnvironmentVariable(AWS_FUNCTION_VARIABLE); if (null == extensionPath) { this.hasExtension = false; } else {