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 8674954e210..aa8d1b58e14 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -1,22 +1,608 @@ package datadog.trace.api; -import static datadog.trace.api.ConfigDefaults.*; -import static datadog.trace.api.DDTags.*; -import static datadog.trace.api.config.AppSecConfig.*; -import static datadog.trace.api.config.CiVisibilityConfig.*; -import static datadog.trace.api.config.CrashTrackingConfig.*; +import static datadog.trace.api.ConfigDefaults.DEFAULT_ADD_SPAN_POINTERS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_HOST; +import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_TIMEOUT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_WRITER_TYPE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_ANALYTICS_SAMPLE_RATE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_SAMPLE_DELAY; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_MAX_COLLECTED_HEADERS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_MAX_STACK_TRACES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_MAX_STACK_TRACE_DEPTH; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_RASP_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_REPORTING_INBAND; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_STACK_TRACE_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_TRACE_RATE_LIMIT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_WAF_METRICS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_WAF_TIMEOUT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_AGENTLESS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_AUTO_CONFIGURATION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_BACKEND_API_TIMEOUT_MILLIS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_BUILD_INSTRUMENTATION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_AUTO_CONFIGURATION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_VERSION; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_GIT_COMMAND_TIMEOUT_MILLIS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_GIT_REMOTE_NAME; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_GIT_UNSHALLOW_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_GIT_UPLOAD_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_GIT_UPLOAD_TIMEOUT_MILLIS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_EXCLUDES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_VERSION; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_RESOURCE_FOLDER_NAMES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_SIGNAL_SERVER_HOST; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_SIGNAL_SERVER_PORT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_SOURCE_DATA_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CLIENT_IP_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CLOCK_SYNC_PERIOD; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_MAX_USER_FRAMES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_COUCHBASE_INTERNAL_SPANS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CWS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CWS_TLS_REFRESH; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DATA_JOBS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DATA_JOBS_OPENLINEAGE_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DATA_STREAMS_BUCKET_DURATION; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DATA_STREAMS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_CLIENT_HOST_SPLIT_BY_HOST; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_CLIENT_HOST_SPLIT_BY_INSTANCE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_CLIENT_HOST_SPLIT_BY_INSTANCE_TYPE_SUFFIX; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_DBM_PROPAGATION_MODE_MODE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_DBM_TRACE_PREPARED_STATEMENTS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_CAPTURE_INTERMEDIATE_SPANS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_CAPTURE_INTERVAL_SECONDS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_MAX_CAPTURED_FRAMES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_ONLY_LOCAL_ROOT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_MAX_EXCEPTION_PER_SECOND; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DISTRIBUTED_DEBUGGER_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DOGSTATSD_PORT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DOGSTATSD_START_DELAY; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_CLASSFILE_DUMP_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_DIAGNOSTICS_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_HOIST_LOCALVARS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_MAX_PAYLOAD_SIZE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_METRICS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_POLL_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_UPLOAD_BATCH_SIZE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_UPLOAD_TIMEOUT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DYNAMIC_INSTRUMENTATION_VERIFY_BYTECODE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_ELASTICSEARCH_BODY_AND_PARAMS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_ELASTICSEARCH_BODY_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_ELASTICSEARCH_PARAMS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_EXPERIMENTATAL_JEE_SPLIT_BY_DEPLOYMENT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_GRPC_CLIENT_ERROR_STATUSES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_GRPC_SERVER_ERROR_STATUSES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HEALTH_METRICS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_CLIENT_ERROR_STATUSES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_CLIENT_SPLIT_BY_DOMAIN; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_CLIENT_TAG_QUERY_STRING; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_SERVER_ERROR_STATUSES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_SERVER_ROUTE_BASED_NAMING; +import static datadog.trace.api.ConfigDefaults.DEFAULT_HTTP_SERVER_TAG_QUERY_STRING; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_ANONYMOUS_CLASSES_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_DB_ROWS_TO_TAINT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_DEBUG_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_HARDCODED_SECRET_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_REDACTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_REDACTION_NAME_PATTERN; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_REDACTION_VALUE_PATTERN; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_STACKTRACE_LEAK_SUPPRESS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_STACK_TRACE_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_TRUNCATION_MAX_VALUE_LENGTH; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_WEAK_CIPHER_ALGORITHMS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_WEAK_HASH_ALGORITHMS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_INSTRUMENTATION_SOURCE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_JAX_RS_EXCEPTION_AS_ERROR_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_JMX_FETCH_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_JMX_FETCH_MULTIPLE_RUNTIME_SERVICES_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_JMX_FETCH_MULTIPLE_RUNTIME_SERVICES_LIMIT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_LLM_OBS_AGENTLESS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_LOGS_INJECTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PARTIAL_FLUSH_MIN_SPANS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PERF_METRICS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PRIORITY_SAMPLING_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PRIORITY_SAMPLING_FORCE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PROPAGATION_EXTRACT_LOG_HEADER_NAMES_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_PROPAGATION_STYLE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_INTEGRITY_CHECK_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_MAX_EXTRA_SERVICES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_MAX_PAYLOAD_SIZE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_POLL_INTERVAL_SECONDS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_TARGETS_KEY; +import static datadog.trace.api.ConfigDefaults.DEFAULT_REMOTE_CONFIG_TARGETS_KEY_ID; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SCOPE_DEPTH_LIMIT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SCOPE_ITERATION_KEEP_ALIVE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SECURE_RANDOM; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SERVICE_NAME; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SERVLET_ROOT_CONTEXT_SERVICE_NAME; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SITE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SPARK_APP_NAME_AS_SERVICE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SPARK_TASK_HISTOGRAM_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SSI_INJECTION_FORCE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_STARTUP_LOGS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SYMBOL_DATABASE_COMPRESSED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SYMBOL_DATABASE_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SYMBOL_DATABASE_FLUSH_THRESHOLD; +import static datadog.trace.api.ConfigDefaults.DEFAULT_SYMBOL_DATABASE_FORCE_UPLOAD; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_DEBUG_REQUESTS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_DEPENDENCY_RESOLUTION_QUEUE_SIZE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_HEARTBEAT_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_LOG_COLLECTION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TELEMETRY_METRICS_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_128_BIT_TRACEID_GENERATION_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_128_BIT_TRACEID_LOGGING_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_AGENT_PORT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_AGENT_V05_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_ANALYTICS_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_BAGGAGE_MAX_BYTES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_BAGGAGE_MAX_ITEMS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_EXPERIMENTAL_FEATURES_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_HTTP_RESOURCE_REMOVE_TRAILING_SLASH; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_KEEP_LATENCY_THRESHOLD_MS; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_LONG_RUNNING_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_LONG_RUNNING_FLUSH_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_LONG_RUNNING_INITIAL_FLUSH_INTERVAL; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_POST_PROCESSING_TIMEOUT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_PROPAGATION_BEHAVIOR_EXTRACT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_PROPAGATION_EXTRACT_FIRST; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_PROPAGATION_STYLE; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_RATE_LIMIT; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_REPORT_HOSTNAME; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_RESOLVER_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_X_DATADOG_TAGS_MAX_LENGTH; +import static datadog.trace.api.ConfigDefaults.DEFAULT_WEBSOCKET_MESSAGES_INHERIT_SAMPLING; +import static datadog.trace.api.ConfigDefaults.DEFAULT_WEBSOCKET_MESSAGES_SEPARATE_TRACES; +import static datadog.trace.api.ConfigDefaults.DEFAULT_WEBSOCKET_TAG_SESSION_ID; +import static datadog.trace.api.ConfigDefaults.DEFAULT_WRITER_BAGGAGE_INJECT; +import static datadog.trace.api.DDTags.APM_ENABLED; +import static datadog.trace.api.DDTags.HOST_TAG; +import static datadog.trace.api.DDTags.INTERNAL_HOST_NAME; +import static datadog.trace.api.DDTags.LANGUAGE_TAG_KEY; +import static datadog.trace.api.DDTags.LANGUAGE_TAG_VALUE; +import static datadog.trace.api.DDTags.PID_TAG; +import static datadog.trace.api.DDTags.RUNTIME_ID_TAG; +import static datadog.trace.api.DDTags.RUNTIME_VERSION_TAG; +import static datadog.trace.api.DDTags.SCHEMA_VERSION_TAG_KEY; +import static datadog.trace.api.DDTags.SERVICE; +import static datadog.trace.api.DDTags.SERVICE_TAG; +import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENABLED; +import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENABLED_EXPERIMENTAL; +import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENDPOINT_COLLECTION_ENABLED; +import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT; +import static datadog.trace.api.config.AppSecConfig.API_SECURITY_SAMPLE_DELAY; +import static datadog.trace.api.config.AppSecConfig.APPSEC_AUTOMATED_USER_EVENTS_TRACKING; +import static datadog.trace.api.config.AppSecConfig.APPSEC_AUTO_USER_INSTRUMENTATION_MODE; +import static datadog.trace.api.config.AppSecConfig.APPSEC_COLLECT_ALL_HEADERS; +import static datadog.trace.api.config.AppSecConfig.APPSEC_HEADER_COLLECTION_REDACTION_ENABLED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_HTTP_BLOCKED_TEMPLATE_HTML; +import static datadog.trace.api.config.AppSecConfig.APPSEC_HTTP_BLOCKED_TEMPLATE_JSON; +import static datadog.trace.api.config.AppSecConfig.APPSEC_IP_ADDR_HEADER; +import static datadog.trace.api.config.AppSecConfig.APPSEC_MAX_COLLECTED_HEADERS; +import static datadog.trace.api.config.AppSecConfig.APPSEC_MAX_STACKTRACES_DEPRECATED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_MAX_STACKTRACE_DEPTH_DEPRECATED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_MAX_STACK_TRACES; +import static datadog.trace.api.config.AppSecConfig.APPSEC_MAX_STACK_TRACE_DEPTH; +import static datadog.trace.api.config.AppSecConfig.APPSEC_OBFUSCATION_PARAMETER_KEY_REGEXP; +import static datadog.trace.api.config.AppSecConfig.APPSEC_OBFUSCATION_PARAMETER_VALUE_REGEXP; +import static datadog.trace.api.config.AppSecConfig.APPSEC_RASP_COLLECT_REQUEST_BODY; +import static datadog.trace.api.config.AppSecConfig.APPSEC_RASP_ENABLED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_REPORTING_INBAND; +import static datadog.trace.api.config.AppSecConfig.APPSEC_REPORT_TIMEOUT_SEC; +import static datadog.trace.api.config.AppSecConfig.APPSEC_RULES_FILE; +import static datadog.trace.api.config.AppSecConfig.APPSEC_SCA_ENABLED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_STACKTRACE_ENABLED_DEPRECATED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_STACK_TRACE_ENABLED; +import static datadog.trace.api.config.AppSecConfig.APPSEC_TRACE_RATE_LIMIT; +import static datadog.trace.api.config.AppSecConfig.APPSEC_WAF_METRICS; +import static datadog.trace.api.config.AppSecConfig.APPSEC_WAF_TIMEOUT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_ADDITIONAL_CHILD_PROCESS_JVM_ARGS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_AGENTLESS_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_AGENTLESS_URL; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_AGENT_JAR_URI; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_AUTO_CONFIGURATION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_BACKEND_API_TIMEOUT_MILLIS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_BUILD_INSTRUMENTATION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CIPROVIDER_INTEGRATION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_EXCLUDES; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_INCLUDES; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_LINES_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_REPORT_DUMP_DIR; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_CODE_COVERAGE_ROOT_PACKAGES_LIMIT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_COMPILER_PLUGIN_AUTO_CONFIGURATION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_COMPILER_PLUGIN_VERSION; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_DEBUG_PORT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_EARLY_FLAKE_DETECTION_LOWER_LIMIT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_EXECUTION_SETTINGS_CACHE_SIZE; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_FLAKY_RETRY_COUNT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_FLAKY_RETRY_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_FLAKY_RETRY_ONLY_KNOWN_FLAKES; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_CLIENT_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_COMMAND_TIMEOUT_MILLIS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_REMOTE_NAME; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_UNSHALLOW_DEFER; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_UNSHALLOW_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_UPLOAD_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GIT_UPLOAD_TIMEOUT_MILLIS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_GRADLE_SOURCE_SETS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_IMPACTED_TESTS_DETECTION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_INJECTED_TRACER_VERSION; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_ITR_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_JACOCO_PLUGIN_VERSION; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_JVM_INFO_CACHE_SIZE; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_KNOWN_TESTS_REQUEST_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_MODULE_NAME; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_KEY; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_URL; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_REPO_INDEX_DUPLICATE_KEY_CHECK_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_RESOURCE_FOLDER_NAMES; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_SCALATEST_FORK_MONITOR_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_SIGNAL_CLIENT_TIMEOUT_MILLIS; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_SIGNAL_SERVER_HOST; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_SIGNAL_SERVER_PORT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_SOURCE_DATA_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TELEMETRY_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TEST_COMMAND; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TEST_ORDER; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TEST_SKIPPING_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TOTAL_FLAKY_RETRY_COUNT; +import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_TRACE_SANITATION_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.GIT_COMMIT_HEAD_SHA; +import static datadog.trace.api.config.CiVisibilityConfig.GIT_PULL_REQUEST_BASE_BRANCH; +import static datadog.trace.api.config.CiVisibilityConfig.GIT_PULL_REQUEST_BASE_BRANCH_SHA; +import static datadog.trace.api.config.CiVisibilityConfig.TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES; +import static datadog.trace.api.config.CiVisibilityConfig.TEST_MANAGEMENT_ENABLED; +import static datadog.trace.api.config.CiVisibilityConfig.TEST_SESSION_NAME; +import static datadog.trace.api.config.CrashTrackingConfig.CRASH_TRACKING_AGENTLESS; +import static datadog.trace.api.config.CrashTrackingConfig.CRASH_TRACKING_AGENTLESS_DEFAULT; +import static datadog.trace.api.config.CrashTrackingConfig.CRASH_TRACKING_TAGS; import static datadog.trace.api.config.CwsConfig.CWS_ENABLED; import static datadog.trace.api.config.CwsConfig.CWS_TLS_REFRESH; -import static datadog.trace.api.config.DebuggerConfig.*; -import static datadog.trace.api.config.GeneralConfig.*; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_CAPTURE_INTERMEDIATE_SPANS_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_CAPTURE_INTERVAL_SECONDS; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_CAPTURE_MAX_FRAMES; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_MAX_CAPTURED_FRAMES; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_ONLY_LOCAL_ROOT; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_MAX_EXCEPTION_PER_SECOND; +import static datadog.trace.api.config.DebuggerConfig.DISTRIBUTED_DEBUGGER_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_CLASSFILE_DUMP_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_DIAGNOSTICS_INTERVAL; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_EXCLUDE_FILES; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_HOIST_LOCALVARS_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_INCLUDE_FILES; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_INSTRUMENT_THE_WORLD; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_MAX_PAYLOAD_SIZE; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_METRICS_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_POLL_INTERVAL; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_PROBE_FILE; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_REDACTED_TYPES; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_REDACTION_EXCLUDED_IDENTIFIERS; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_UPLOAD_BATCH_SIZE; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_UPLOAD_INTERVAL_SECONDS; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_UPLOAD_TIMEOUT; +import static datadog.trace.api.config.DebuggerConfig.DYNAMIC_INSTRUMENTATION_VERIFY_BYTECODE; +import static datadog.trace.api.config.DebuggerConfig.EXCEPTION_REPLAY_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.SYMBOL_DATABASE_COMPRESSED; +import static datadog.trace.api.config.DebuggerConfig.SYMBOL_DATABASE_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.SYMBOL_DATABASE_FLUSH_THRESHOLD; +import static datadog.trace.api.config.DebuggerConfig.SYMBOL_DATABASE_FORCE_UPLOAD; +import static datadog.trace.api.config.DebuggerConfig.THIRD_PARTY_EXCLUDES; +import static datadog.trace.api.config.DebuggerConfig.THIRD_PARTY_INCLUDES; +import static datadog.trace.api.config.DebuggerConfig.THIRD_PARTY_SHADING_IDENTIFIERS; +import static datadog.trace.api.config.GeneralConfig.AGENTLESS_LOG_SUBMISSION_ENABLED; +import static datadog.trace.api.config.GeneralConfig.AGENTLESS_LOG_SUBMISSION_LEVEL; +import static datadog.trace.api.config.GeneralConfig.AGENTLESS_LOG_SUBMISSION_QUEUE_SIZE; +import static datadog.trace.api.config.GeneralConfig.AGENTLESS_LOG_SUBMISSION_URL; +import static datadog.trace.api.config.GeneralConfig.API_KEY; +import static datadog.trace.api.config.GeneralConfig.API_KEY_FILE; +import static datadog.trace.api.config.GeneralConfig.APPLICATION_KEY; +import static datadog.trace.api.config.GeneralConfig.APPLICATION_KEY_FILE; +import static datadog.trace.api.config.GeneralConfig.AZURE_APP_SERVICES; +import static datadog.trace.api.config.GeneralConfig.DATA_JOBS_COMMAND_PATTERN; +import static datadog.trace.api.config.GeneralConfig.DATA_JOBS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.DATA_JOBS_OPENLINEAGE_ENABLED; +import static datadog.trace.api.config.GeneralConfig.DATA_STREAMS_BUCKET_DURATION_SECONDS; +import static datadog.trace.api.config.GeneralConfig.DATA_STREAMS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_ARGS; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_HOST; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_NAMED_PIPE; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_PATH; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_PORT; +import static datadog.trace.api.config.GeneralConfig.DOGSTATSD_START_DELAY; +import static datadog.trace.api.config.GeneralConfig.ENV; +import static datadog.trace.api.config.GeneralConfig.EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.GLOBAL_TAGS; +import static datadog.trace.api.config.GeneralConfig.HEALTH_METRICS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.HEALTH_METRICS_STATSD_HOST; +import static datadog.trace.api.config.GeneralConfig.HEALTH_METRICS_STATSD_PORT; +import static datadog.trace.api.config.GeneralConfig.INSTRUMENTATION_SOURCE; +import static datadog.trace.api.config.GeneralConfig.JDK_SOCKET_ENABLED; +import static datadog.trace.api.config.GeneralConfig.LOG_LEVEL; +import static datadog.trace.api.config.GeneralConfig.PERF_METRICS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.PRIMARY_TAG; +import static datadog.trace.api.config.GeneralConfig.RUNTIME_ID_ENABLED; +import static datadog.trace.api.config.GeneralConfig.RUNTIME_METRICS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.RUNTIME_METRICS_RUNTIME_ID_ENABLED; import static datadog.trace.api.config.GeneralConfig.SERVICE_NAME; -import static datadog.trace.api.config.IastConfig.*; -import static datadog.trace.api.config.JmxFetchConfig.*; -import static datadog.trace.api.config.LlmObsConfig.*; -import static datadog.trace.api.config.ProfilingConfig.*; -import static datadog.trace.api.config.RemoteConfigConfig.*; -import static datadog.trace.api.config.TraceInstrumentationConfig.*; -import static datadog.trace.api.config.TracerConfig.*; +import static datadog.trace.api.config.GeneralConfig.SERVICE_NAME_SET_BY_USER; +import static datadog.trace.api.config.GeneralConfig.SITE; +import static datadog.trace.api.config.GeneralConfig.SSI_INJECTION_ENABLED; +import static datadog.trace.api.config.GeneralConfig.SSI_INJECTION_FORCE; +import static datadog.trace.api.config.GeneralConfig.STACK_TRACE_LENGTH_LIMIT; +import static datadog.trace.api.config.GeneralConfig.STARTUP_LOGS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.STATSD_CLIENT_QUEUE_SIZE; +import static datadog.trace.api.config.GeneralConfig.STATSD_CLIENT_SOCKET_BUFFER; +import static datadog.trace.api.config.GeneralConfig.STATSD_CLIENT_SOCKET_TIMEOUT; +import static datadog.trace.api.config.GeneralConfig.TAGS; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_DEBUG_REQUESTS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_DEPENDENCY_COLLECTION_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_DEPENDENCY_RESOLUTION_QUEUE_SIZE; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_HEARTBEAT_INTERVAL; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_LOG_COLLECTION_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_METRICS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TELEMETRY_METRICS_INTERVAL; +import static datadog.trace.api.config.GeneralConfig.TRACER_METRICS_BUFFERING_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TRACER_METRICS_ENABLED; +import static datadog.trace.api.config.GeneralConfig.TRACER_METRICS_IGNORED_RESOURCES; +import static datadog.trace.api.config.GeneralConfig.TRACER_METRICS_MAX_AGGREGATES; +import static datadog.trace.api.config.GeneralConfig.TRACER_METRICS_MAX_PENDING; +import static datadog.trace.api.config.GeneralConfig.TRACE_DEBUG; +import static datadog.trace.api.config.GeneralConfig.TRACE_TAGS; +import static datadog.trace.api.config.GeneralConfig.TRACE_TRIAGE; +import static datadog.trace.api.config.GeneralConfig.TRIAGE_REPORT_DIR; +import static datadog.trace.api.config.GeneralConfig.TRIAGE_REPORT_TRIGGER; +import static datadog.trace.api.config.GeneralConfig.VERSION; +import static datadog.trace.api.config.IastConfig.IAST_ANONYMOUS_CLASSES_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_CONTEXT_MODE; +import static datadog.trace.api.config.IastConfig.IAST_DB_ROWS_TO_TAINT; +import static datadog.trace.api.config.IastConfig.IAST_DEBUG_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_DETECTION_MODE; +import static datadog.trace.api.config.IastConfig.IAST_EXPERIMENTAL_PROPAGATION_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_HARDCODED_SECRET_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_REDACTION_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_REDACTION_NAME_PATTERN; +import static datadog.trace.api.config.IastConfig.IAST_REDACTION_VALUE_PATTERN; +import static datadog.trace.api.config.IastConfig.IAST_SECURITY_CONTROLS_CONFIGURATION; +import static datadog.trace.api.config.IastConfig.IAST_SOURCE_MAPPING_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_SOURCE_MAPPING_MAX_SIZE; +import static datadog.trace.api.config.IastConfig.IAST_STACKTRACE_ENABLED_DEPRECATED; +import static datadog.trace.api.config.IastConfig.IAST_STACKTRACE_LEAK_SUPPRESS_DEPRECATED; +import static datadog.trace.api.config.IastConfig.IAST_STACK_TRACE_ENABLED; +import static datadog.trace.api.config.IastConfig.IAST_STACK_TRACE_LEAK_SUPPRESS; +import static datadog.trace.api.config.IastConfig.IAST_TELEMETRY_VERBOSITY; +import static datadog.trace.api.config.IastConfig.IAST_TRUNCATION_MAX_VALUE_LENGTH; +import static datadog.trace.api.config.IastConfig.IAST_WEAK_CIPHER_ALGORITHMS; +import static datadog.trace.api.config.IastConfig.IAST_WEAK_HASH_ALGORITHMS; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_CHECK_PERIOD; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_CONFIG; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_CONFIG_DIR; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_ENABLED; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_INITIAL_REFRESH_BEANS_PERIOD; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_METRICS_CONFIGS; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_MULTIPLE_RUNTIME_SERVICES_ENABLED; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_MULTIPLE_RUNTIME_SERVICES_LIMIT; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_REFRESH_BEANS_PERIOD; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_START_DELAY; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_STATSD_HOST; +import static datadog.trace.api.config.JmxFetchConfig.JMX_FETCH_STATSD_PORT; +import static datadog.trace.api.config.JmxFetchConfig.JMX_TAGS; +import static datadog.trace.api.config.LlmObsConfig.LLMOBS_AGENTLESS_ENABLED; +import static datadog.trace.api.config.LlmObsConfig.LLMOBS_ML_APP; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_AGENTLESS; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_AGENTLESS_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_API_KEY_FILE_OLD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_API_KEY_FILE_VERY_OLD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_API_KEY_OLD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_API_KEY_VERY_OLD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_BACKPRESSURE_SAMPLE_LIMIT_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_BACKPRESSURE_SAMPLING_ENABLED; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_BACKPRESSURE_SAMPLING_ENABLED_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_ENABLED; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_DEBUG_UPLOAD_COMPRESSION; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_DEBUG_UPLOAD_COMPRESSION_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_DIRECT_ALLOCATION_SAMPLE_LIMIT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_DIRECT_ALLOCATION_SAMPLE_LIMIT_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_HISTOGRAM_MAX_COLLECTION_SIZE; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_HISTOGRAM_MAX_COLLECTION_SIZE_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_HISTOGRAM_TOP_ITEMS; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_HISTOGRAM_TOP_ITEMS_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_RECORD_MESSAGE; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_RECORD_MESSAGE_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_SAMPLE_LIMIT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCEPTION_SAMPLE_LIMIT_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_EXCLUDE_AGENT_THREADS; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_PROXY_HOST; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_PROXY_PASSWORD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_PROXY_PORT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_PROXY_PORT_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_PROXY_USERNAME; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_START_DELAY; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_START_DELAY_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_START_FORCE_FIRST; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_START_FORCE_FIRST_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_TAGS; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_TEMPLATE_OVERRIDE_FILE; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_TIMELINE_EVENTS_ENABLED; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_TIMELINE_EVENTS_ENABLED_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_COMPRESSION; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_PERIOD; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_PERIOD_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_SUMMARY_ON_413; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_SUMMARY_ON_413_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_TIMEOUT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_UPLOAD_TIMEOUT_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_URL; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIGURATION_ENABLED; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_ENABLED; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_INTEGRITY_CHECK_ENABLED; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_MAX_EXTRA_SERVICES; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_MAX_PAYLOAD_SIZE; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_POLL_INTERVAL_SECONDS; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_TARGETS_KEY; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_TARGETS_KEY_ID; +import static datadog.trace.api.config.RemoteConfigConfig.REMOTE_CONFIG_URL; +import static datadog.trace.api.config.TraceInstrumentationConfig.ADD_SPAN_POINTERS; +import static datadog.trace.api.config.TraceInstrumentationConfig.AXIS_PROMOTE_RESOURCE_NAME; +import static datadog.trace.api.config.TraceInstrumentationConfig.CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_FOR_SPANS_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_MAX_USER_FRAMES; +import static datadog.trace.api.config.TraceInstrumentationConfig.COUCHBASE_INTERNAL_SPANS_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_HOST; +import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_INSTANCE; +import static datadog.trace.api.config.TraceInstrumentationConfig.DB_CLIENT_HOST_SPLIT_BY_INSTANCE_TYPE_SUFFIX; +import static datadog.trace.api.config.TraceInstrumentationConfig.DB_DBM_PROPAGATION_MODE_MODE; +import static datadog.trace.api.config.TraceInstrumentationConfig.DB_DBM_TRACE_PREPARED_STATEMENTS; +import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_BODY_AND_PARAMS_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_BODY_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.ELASTICSEARCH_PARAMS_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.EXPERIMENTATAL_JEE_SPLIT_BY_DEPLOYMENT; +import static datadog.trace.api.config.TraceInstrumentationConfig.GOOGLE_PUBSUB_IGNORED_GRPC_METHODS; +import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_CLIENT_ERROR_STATUSES; +import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_IGNORED_INBOUND_METHODS; +import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_IGNORED_OUTBOUND_METHODS; +import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_SERVER_ERROR_STATUSES; +import static datadog.trace.api.config.TraceInstrumentationConfig.GRPC_SERVER_TRIM_PACKAGE_RESOURCE; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_CLIENT_HOST_SPLIT_BY_DOMAIN; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_CLIENT_TAG_HEADERS; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_CLIENT_TAG_QUERY_STRING; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_DECODED_RESOURCE_PRESERVE_SPACES; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_RAW_QUERY_STRING; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_RAW_RESOURCE; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_ROUTE_BASED_NAMING; +import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_SERVER_TAG_QUERY_STRING; +import static datadog.trace.api.config.TraceInstrumentationConfig.HYSTRIX_MEASURED_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.HYSTRIX_TAGS_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.IGNITE_CACHE_INCLUDE_KEYS; +import static datadog.trace.api.config.TraceInstrumentationConfig.INTEGRATION_SYNAPSE_LEGACY_OPERATION_NAME; +import static datadog.trace.api.config.TraceInstrumentationConfig.JAX_RS_EXCEPTION_AS_ERROR_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.JMS_PROPAGATION_DISABLED_QUEUES; +import static datadog.trace.api.config.TraceInstrumentationConfig.JMS_PROPAGATION_DISABLED_TOPICS; +import static datadog.trace.api.config.TraceInstrumentationConfig.JMS_UNACKNOWLEDGED_MAX_AGE; +import static datadog.trace.api.config.TraceInstrumentationConfig.KAFKA_CLIENT_BASE64_DECODING_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.KAFKA_CLIENT_PROPAGATION_DISABLED_TOPICS; +import static datadog.trace.api.config.TraceInstrumentationConfig.LOGS_INJECTION; +import static datadog.trace.api.config.TraceInstrumentationConfig.LOGS_INJECTION_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.MESSAGE_BROKER_SPLIT_BY_DESTINATION; +import static datadog.trace.api.config.TraceInstrumentationConfig.OBFUSCATION_QUERY_STRING_REGEXP; +import static datadog.trace.api.config.TraceInstrumentationConfig.PLAY_REPORT_HTTP_STATUS; +import static datadog.trace.api.config.TraceInstrumentationConfig.RABBIT_INCLUDE_ROUTINGKEY_IN_RESOURCE; +import static datadog.trace.api.config.TraceInstrumentationConfig.RABBIT_PROPAGATION_DISABLED_EXCHANGES; +import static datadog.trace.api.config.TraceInstrumentationConfig.RABBIT_PROPAGATION_DISABLED_QUEUES; +import static datadog.trace.api.config.TraceInstrumentationConfig.SERVLET_ASYNC_TIMEOUT_ERROR; +import static datadog.trace.api.config.TraceInstrumentationConfig.SERVLET_PRINCIPAL_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.SERVLET_ROOT_CONTEXT_SERVICE_NAME; +import static datadog.trace.api.config.TraceInstrumentationConfig.SPARK_APP_NAME_AS_SERVICE; +import static datadog.trace.api.config.TraceInstrumentationConfig.SPARK_TASK_HISTOGRAM_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.SPRING_DATA_REPOSITORY_INTERFACE_RESOURCE_NAME; +import static datadog.trace.api.config.TraceInstrumentationConfig.SQS_BODY_PROPAGATION_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_128_BIT_TRACEID_LOGGING_ENABLED; +import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_HTTP_CLIENT_TAG_QUERY_STRING; +import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_WEBSOCKET_MESSAGES_INHERIT_SAMPLING; +import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_WEBSOCKET_MESSAGES_SEPARATE_TRACES; +import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_WEBSOCKET_TAG_SESSION_ID; +import static datadog.trace.api.config.TracerConfig.AGENT_HOST; +import static datadog.trace.api.config.TracerConfig.AGENT_NAMED_PIPE; +import static datadog.trace.api.config.TracerConfig.AGENT_PORT_LEGACY; +import static datadog.trace.api.config.TracerConfig.AGENT_TIMEOUT; +import static datadog.trace.api.config.TracerConfig.AGENT_UNIX_DOMAIN_SOCKET; +import static datadog.trace.api.config.TracerConfig.BAGGAGE_MAPPING; +import static datadog.trace.api.config.TracerConfig.CLIENT_IP_ENABLED; +import static datadog.trace.api.config.TracerConfig.CLOCK_SYNC_PERIOD; +import static datadog.trace.api.config.TracerConfig.ENABLE_TRACE_AGENT_V05; +import static datadog.trace.api.config.TracerConfig.HEADER_TAGS; +import static datadog.trace.api.config.TracerConfig.HTTP_CLIENT_ERROR_STATUSES; +import static datadog.trace.api.config.TracerConfig.HTTP_SERVER_ERROR_STATUSES; +import static datadog.trace.api.config.TracerConfig.ID_GENERATION_STRATEGY; +import static datadog.trace.api.config.TracerConfig.PARTIAL_FLUSH_ENABLED; +import static datadog.trace.api.config.TracerConfig.PARTIAL_FLUSH_MIN_SPANS; +import static datadog.trace.api.config.TracerConfig.PRIORITY_SAMPLING; +import static datadog.trace.api.config.TracerConfig.PRIORITY_SAMPLING_FORCE; +import static datadog.trace.api.config.TracerConfig.PROPAGATION_EXTRACT_LOG_HEADER_NAMES_ENABLED; +import static datadog.trace.api.config.TracerConfig.PROPAGATION_STYLE_EXTRACT; +import static datadog.trace.api.config.TracerConfig.PROPAGATION_STYLE_INJECT; +import static datadog.trace.api.config.TracerConfig.PROXY_NO_PROXY; +import static datadog.trace.api.config.TracerConfig.REQUEST_HEADER_TAGS; +import static datadog.trace.api.config.TracerConfig.REQUEST_HEADER_TAGS_COMMA_ALLOWED; +import static datadog.trace.api.config.TracerConfig.RESPONSE_HEADER_TAGS; +import static datadog.trace.api.config.TracerConfig.SAMPLING_MECHANISM_VALIDATION_DISABLED; +import static datadog.trace.api.config.TracerConfig.SCOPE_DEPTH_LIMIT; +import static datadog.trace.api.config.TracerConfig.SCOPE_ITERATION_KEEP_ALIVE; +import static datadog.trace.api.config.TracerConfig.SCOPE_STRICT_MODE; +import static datadog.trace.api.config.TracerConfig.SECURE_RANDOM; +import static datadog.trace.api.config.TracerConfig.SERVICE_MAPPING; +import static datadog.trace.api.config.TracerConfig.SPAN_SAMPLING_RULES; +import static datadog.trace.api.config.TracerConfig.SPAN_SAMPLING_RULES_FILE; +import static datadog.trace.api.config.TracerConfig.SPAN_TAGS; +import static datadog.trace.api.config.TracerConfig.SPLIT_BY_TAGS; +import static datadog.trace.api.config.TracerConfig.TRACE_128_BIT_TRACEID_GENERATION_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_ARGS; +import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_PATH; +import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_PORT; +import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_URL; +import static datadog.trace.api.config.TracerConfig.TRACE_ANALYTICS_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_BAGGAGE_MAX_BYTES; +import static datadog.trace.api.config.TracerConfig.TRACE_BAGGAGE_MAX_ITEMS; +import static datadog.trace.api.config.TracerConfig.TRACE_CLIENT_IP_HEADER; +import static datadog.trace.api.config.TracerConfig.TRACE_CLIENT_IP_RESOLVER_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH; +import static datadog.trace.api.config.TracerConfig.TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS; +import static datadog.trace.api.config.TracerConfig.TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES; +import static datadog.trace.api.config.TracerConfig.TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING; +import static datadog.trace.api.config.TracerConfig.TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING; +import static datadog.trace.api.config.TracerConfig.TRACE_EXPERIMENTAL_FEATURES_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_GIT_METADATA_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_CLIENT_ERROR_STATUSES; +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_CLIENT_PATH_RESOURCE_NAME_MAPPING; +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_RESOURCE_REMOVE_TRAILING_SLASH; +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_SERVER_ERROR_STATUSES; +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING; +import static datadog.trace.api.config.TracerConfig.TRACE_KEEP_LATENCY_THRESHOLD_MS; +import static datadog.trace.api.config.TracerConfig.TRACE_LONG_RUNNING_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_LONG_RUNNING_FLUSH_INTERVAL; +import static datadog.trace.api.config.TracerConfig.TRACE_LONG_RUNNING_INITIAL_FLUSH_INTERVAL; +import static datadog.trace.api.config.TracerConfig.TRACE_PEER_HOSTNAME_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_PEER_SERVICE_COMPONENT_OVERRIDES; +import static datadog.trace.api.config.TracerConfig.TRACE_PEER_SERVICE_DEFAULTS_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_PEER_SERVICE_MAPPING; +import static datadog.trace.api.config.TracerConfig.TRACE_POST_PROCESSING_TIMEOUT; +import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_BEHAVIOR_EXTRACT; +import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_EXTRACT_FIRST; +import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_STYLE; +import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_STYLE_EXTRACT; +import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_STYLE_INJECT; +import static datadog.trace.api.config.TracerConfig.TRACE_RATE_LIMIT; +import static datadog.trace.api.config.TracerConfig.TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_REPORT_HOSTNAME; +import static datadog.trace.api.config.TracerConfig.TRACE_RESOLVER_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_SAMPLE_RATE; +import static datadog.trace.api.config.TracerConfig.TRACE_SAMPLING_OPERATION_RULES; +import static datadog.trace.api.config.TracerConfig.TRACE_SAMPLING_RULES; +import static datadog.trace.api.config.TracerConfig.TRACE_SAMPLING_SERVICE_RULES; +import static datadog.trace.api.config.TracerConfig.TRACE_SPAN_ATTRIBUTE_SCHEMA; +import static datadog.trace.api.config.TracerConfig.TRACE_STRICT_WRITES_ENABLED; +import static datadog.trace.api.config.TracerConfig.TRACE_X_DATADOG_TAGS_MAX_LENGTH; +import static datadog.trace.api.config.TracerConfig.WRITER_BAGGAGE_INJECT; +import static datadog.trace.api.config.TracerConfig.WRITER_TYPE; import static datadog.trace.api.iast.IastDetectionMode.DEFAULT; import static datadog.trace.api.telemetry.LogCollector.SEND_TELEMETRY; import static datadog.trace.util.CollectionUtils.tryMakeImmutableList; @@ -46,13 +632,30 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; -import java.net.*; +import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.SortedSet; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.function.Supplier;