From de097edb3cf12ef6cfe1787c038c869fe9a68049 Mon Sep 17 00:00:00 2001 From: Brian Marks Date: Mon, 25 Nov 2024 18:12:43 -0500 Subject: [PATCH] fix(config): test for completeness of config telemetry --- .gitignore | 279 +++++++- packages/dd-trace/test/config.spec.js | 52 ++ .../fixtures/telemetry/config_norm_rules.json | 656 ++++++++++++++++++ 3 files changed, 954 insertions(+), 33 deletions(-) create mode 100644 packages/dd-trace/test/fixtures/telemetry/config_norm_rules.json diff --git a/.gitignore b/.gitignore index a8dcafe063b..5a022a5e2c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,161 @@ +# Created by https://www.toptal.com/developers/gitignore/api/node,macos,visualstudiocode,jetbrains+all,jetbrains+iml +# Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,visualstudiocode,jetbrains+all,jetbrains+iml -# Created by https://www.gitignore.io/api/node,macos,visualstudiocode +### JetBrains+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### JetBrains+all Patch ### +# Ignore everything but code style settings and run configurations +# that are supposed to be shared within teams. + +.idea/* + +!.idea/codeStyles +!.idea/runConfigurations + +### JetBrains+iml ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff + +# AWS User-specific + +# Generated files + +# Sensitive or high-churn files + +# Gradle + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake + +# Mongo Explorer plugin + +# File-based project format + +# IntelliJ + +# mpeltonen/sbt-idea plugin + +# JIRA plugin + +# Cursive Clojure plugin + +# SonarLint plugin + +# Crashlytics plugin (for Android Studio and IntelliJ) + +# Editor-based Rest Client + +# Android studio 3.1+ serialized cache file + +### JetBrains+iml Patch ### +# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 + +*.iml +modules.xml +.idea/misc.xml +*.ipr ### macOS ### -*.DS_Store +# General +.DS_Store .AppleDouble .LSOverride # Icon must end with two \r Icon + # Thumbnails ._* @@ -28,6 +175,10 @@ Network Trash Folder Temporary Items .apdisk +### macOS Patch ### +# iCloud generated files +*.icloud + ### Node ### # Logs logs @@ -35,6 +186,11 @@ logs npm-debug.log* yarn-debug.log* yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json # Runtime data pids @@ -47,11 +203,12 @@ lib-cov # Coverage directory used by tools like istanbul coverage +*.lcov # nyc test coverage .nyc_output -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) .grunt # Bower dependency directory (https://bower.io/) @@ -60,15 +217,18 @@ bower_components # node-waf configuration .lock-wscript -# Compiled binary addons (http://nodejs.org/api/addons.html) +# Compiled binary addons (https://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules/ jspm_packages/ -# Typescript v1 declaration files -typings/ +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo # Optional npm cache directory .npm @@ -76,6 +236,15 @@ typings/ # Optional eslint cache .eslintcache +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + # Optional REPL history .node_repl_history @@ -85,9 +254,70 @@ typings/ # Yarn Integrity file .yarn-integrity -# dotenv environment variables file +# dotenv environment variable files .env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit ### VisualStudioCode ### .vscode/* @@ -95,34 +325,17 @@ typings/ !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix ### VisualStudioCode Patch ### # Ignore all local history of files .history +.ionide -# IntelliJ -.idea - - -# End of https://www.gitignore.io/api/node,macos,visualstudiocode - -.next -package-lock.json -out -versions -build -prebuilds -prebuilds.* -docs/test.js -dist -acmeair-nodejs -!packages/*/test/**/dist -!packages/*/test/**/node_modules -packages/datadog-plugin-next/test/package.json -packages/datadog-plugin-next/test/node_modules -packages/datadog-plugin-next/test/yarn.lock -packages/dd-trace/test/appsec/next/*/package.json -packages/dd-trace/test/appsec/next/*/node_modules -packages/dd-trace/test/appsec/next/*/yarn.lock -!packages/dd-trace/**/telemetry/logs -packages/datadog-plugin-azure-functions/test/integration-test/fixtures/node_modules +# End of https://www.toptal.com/developers/gitignore/api/node,macos,visualstudiocode,jetbrains+all,jetbrains+iml diff --git a/packages/dd-trace/test/config.spec.js b/packages/dd-trace/test/config.spec.js index 1720c4a5c91..68bcc180177 100644 --- a/packages/dd-trace/test/config.spec.js +++ b/packages/dd-trace/test/config.spec.js @@ -28,6 +28,8 @@ describe('Config', () => { const BLOCKED_TEMPLATE_GRAPHQL_PATH = require.resolve('./fixtures/config/appsec-blocked-graphql-template.json') const BLOCKED_TEMPLATE_GRAPHQL = readFileSync(BLOCKED_TEMPLATE_GRAPHQL_PATH, { encoding: 'utf8' }) const DD_GIT_PROPERTIES_FILE = require.resolve('./fixtures/config/git.properties') + const CONFIG_NORM_RULES_PATH = require.resolve('./fixtures/telemetry/config_norm_rules.json') + const CONFIG_NORM_RULES = readFileSync(CONFIG_NORM_RULES_PATH, { encoding: 'utf8' }) function reloadLoggerAndConfig () { log = proxyquire('../src/log', {}) @@ -2258,5 +2260,55 @@ describe('Config', () => { expect(taggingConfig).to.have.property('responsesEnabled', true) expect(taggingConfig).to.have.property('maxDepth', 7) }) + + it('config_norm_rules completeness', () => { + // ⚠️ Did this test just fail? Read here! ⚠️ + // + // config_norm_rules.json was copied manually from/below the paths + // from: https://github.com/DataDog/dd-go/blob/prod/trace/apps/tracer-telemetry-intake/telemetry-payload/static/config_norm_rules.json + // to: packages/dd-trace/test/fixtures/telemetry/config_norm_rules.json + // + // If this test fails, it means that a telemetry key was found in config.js that does not + // exist in config_norm_rules.json - the impact here is that telemetry will not be reported + // to the Datadog backend and will be unusable. + // + // To fix this, you can either + // 1) Update dd-go (above) to include the proper config rules + // 2) Update TELEMETRY_IGNORE_LIST below to include the config that should not be sent to telemetry + + function getKeysInDotNotation(obj, parentKey = '') { + const keys = []; + + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + const fullKey = parentKey ? `${parentKey}.${key}` : key; + + if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) { + keys.push(...getKeysInDotNotation(obj[key], fullKey)); + } else { + keys.push(fullKey); + } + } + } + + return keys; + } + + // anything that should never be in telemetry should be added here + const TELEMETRY_IGNORE_LIST = [ + 'apikey', + ] + + const config = new Config() + + const libraryTelemetryKeys = getKeysInDotNotation(config).sort().map((s) => s.toLowerCase()); + + const telemetryRules = JSON.parse(CONFIG_NORM_RULES); + const backendTelemetryKeys = Object.keys(telemetryRules); + + const missingTelemetryKeys = libraryTelemetryKeys.filter(element => !backendTelemetryKeys.includes(element) && !TELEMETRY_IGNORE_LIST.includes(element)); + + expect(missingTelemetryKeys).to.be.empty; + }) }) }) diff --git a/packages/dd-trace/test/fixtures/telemetry/config_norm_rules.json b/packages/dd-trace/test/fixtures/telemetry/config_norm_rules.json new file mode 100644 index 00000000000..5832fc065b5 --- /dev/null +++ b/packages/dd-trace/test/fixtures/telemetry/config_norm_rules.json @@ -0,0 +1,656 @@ +{ + "aas_app_type": "aas_app_type", + "aas_configuration_error": "aas_configuration_error", + "aas_functions_runtime_version": "aas_functions_runtime_version", + "aas_siteextensions_version": "aas_site_extensions_version", + "activity_listener_enabled": "activity_listener_enabled", + "agent_transport": "agent_transport", + "DD_AGENT_TRANSPORT": "agent_transport", + "agent_url": "trace_agent_url", + "analytics_enabled": "analytics_enabled", + "autoload_no_compile": "autoload_no_compile", + "cloud_hosting": "cloud_hosting_provider", + "code_hotspots_enabled": "code_hotspots_enabled", + "data_streams_enabled": "data_streams_enabled", + "dsmEnabled": "data_streams_enabled", + "enabled": "trace_enabled", + "environment_fulltrust_appdomain": "environment_fulltrust_appdomain_enabled", + "logInjection_enabled": "logs_injection_enabled", + "partialflush_enabled": "trace_partial_flush_enabled", + "partialflush_minspans": "trace_partial_flush_min_spans", + "platform": "platform", + "profiler_loaded": "profiler_loaded", + "routetemplate_expansion_enabled": "trace_route_template_expansion_enabled", + "routetemplate_resourcenames_enabled": "trace_route_template_resource_names_enabled", + "runtimemetrics_enabled": "runtime_metrics_enabled", + "runtime.metrics.enabled": "runtime_metrics_enabled", + "sample_rate": "trace_sample_rate", + "sampling_rules": "trace_sample_rules", + "span_sampling_rules": "span_sample_rules", + "spanattributeschema": "trace_span_attribute_schema", + "security_enabled": "appsec_enabled", + "stats_computation_enabled": "trace_stats_computation_enabled", + "native_tracer_version": "native_tracer_version", + "managed_tracer_framework": "managed_tracer_framework", + "wcf_obfuscation_enabled": "trace_wcf_obfuscation_enabled", + "data.streams.enabled": "data_streams_enabled", + "dynamic.instrumentation.enabled": "dynamic_instrumentation_enabled", + "HOSTNAME": "agent_hostname", + "dd_agent_host": "agent_host", + "instrumentation.telemetry.enabled": "instrumentation_telemetry_enabled", + "integrations.enabled": "trace_integrations_enabled", + "logs.injection": "logs_injection_enabled", + "logs.mdc.tags.injection": "logs_mdc_tags_injection_enabled", + "os.name": "os_name", + "openAiLogsEnabled": "open_ai_logs_enabled", + "openaiSpanCharLimit": "open_ai_span_char_limit", + "priority.sampling": "trace_priority_sample_enabled", + "profiling.allocation.enabled": "profiling_allocation_enabled", + "profiling.enabled": "profiling_enabled", + "profiling.start-force-first": "profiling_start_force_first", + "remote_config.enabled": "remote_config_enabled", + "remoteConfig.enabled": "remote_config_enabled", + "remoteConfig.pollInterval": "remote_config_poll_interval", + "trace.agent.port": "trace_agent_port", + "trace.agent.v0.5.enabled": "trace_agent_v0.5_enabled", + "trace.analytics.enabled": "trace_analytics_enabled", + "trace.enabled": "trace_enabled", + "trace.client-ip.enabled": "trace_client_ip_enabled", + "trace.jms.propagation.enabled": "trace_jms_propagation_enabled", + "trace.x-datadog-tags.max.length": "trace_x_datadog_tags_max_length", + "trace.kafka.client.propagation.enabled": "trace_kafka_client_propagation_enabled", + "trace.laravel_queue_distributed_tracing": "trace_laravel_queue_distributed_tracing", + "trace.log_file": "trace_log_file", + "trace.log_level": "trace_log_level", + "kafka.client.base64.decoding.enabled": "trace_kafka_client_base64_decoding_enabled", + "trace.aws-sdk.propagation.enabled": "trace_aws_sdk_propagation_enabled", + "trace.aws-sdk.legacy.tracing.enabled": "trace_aws_sdk_legacy_tracing_enabled", + "trace.servlet.principal.enabled": "trace_servlet_principal_enabled", + "trace.servlet.async-timeout.error": "trace_servlet_async_timeout_error_enabled", + "trace.rabbit.propagation.enabled": "trace_rabbit_propagation_enabled", + "trace.partial.flush.min.spans": "trace_partial_flush_min_spans", + "trace.sample.rate": "trace_sample_rate", + "trace.sqs.propagation.enabled": "trace_sqs_propagation_enabled", + "trace.peerservicetaginterceptor.enabled": "trace_peer_service_tag_interceptor_enabled", + "dd_trace_sample_rate": "trace_sample_rate", + "trace_methods": "trace_methods", + "tracer_instance_count": "trace_instance_count", + "trace.db.client.split-by-instance": "trace_db_client_split_by_instance", + "trace.db.client.split-by-instance.type.suffix": "trace_db_client_split_by_instance_type_suffix", + "trace.http.client.split-by-domain" : "trace_http_client_split_by_domain", + "trace.agent.timeout": "trace_agent_timeout", + "trace.header.tags.legacy.parsing.enabled": "trace_header_tags_legacy_parsing_enabled", + "trace.client-ip.resolver.enabled": "trace_client_ip_resolver_enabled", + "trace.play.report-http-status": "trace_play_report_http_status", + "trace.jmxfetch.tomcat.enabled": "trace_jmxfetch_tomcat_enabled", + "trace.jmxfetch.kafka.enabled": "trace_jmxfetch_kafka_enabled", + "trace.scope.depth.limit": "trace_scope_depth_limit", + "resolver.use.loadclass": "resolver_use_loadclass", + "resolver.outline.pool.enabled": "resolver_outline_pool_enabled", + "appsec.apiSecurity.enabled": "api_security_enabled", + "appsec.apiSecurity.requestSampling": "api_security_request_sample_rate", + "appsec.enabled": "appsec_enabled", + "appsec.eventTracking": "appsec_auto_user_events_tracking", + "appsec.eventTracking.mode": "appsec_auto_user_events_tracking", + "appsec.trace.rate.limit": "appsec_trace_rate_limit", + "appsec.obfuscatorKeyRegex": "appsec_obfuscation_parameter_key_regexp", + "appsec.obfuscatorValueRegex": "appsec_obfuscation_parameter_value_regexp", + "appsec.rasp.enabled": "appsec_rasp_enabled", + "appsec.rateLimit": "appsec_rate_limit", + "appsec.rules": "appsec_rules", + "appsec.sca_enabled": "appsec_sca_enabled", + "appsec.wafTimeout": "appsec_waf_timeout", + "appsec.sca.enabled": "appsec_sca_enabled", + "clientIpHeader": "trace_client_ip_header", + "clientIpEnabled": "trace_client_ip_enabled", + "clientIpHeaderDisabled": "client_ip_header_disabled", + "debug": "trace_debug_enabled", + "dd.trace.debug": "trace_debug_enabled", + "dogstatsd.hostname": "dogstatsd_hostname", + "dogstatsd.port": "dogstatsd_port", + "dogstatsd.start-delay": "dogstatsd_start_delay", + "env": "env", + "experimental.b3": "experimental_b3", + "experimental.enableGetRumData": "experimental_enable_get_rum_data", + "experimental.exporter": "experimental_exporter", + "experimental.runtimeId": "experimental_runtime_id", + "experimental.sampler.rateLimit": "experimental_sampler_rate_limit", + "experimental.sampler.sampleRate": "experimental_sampler_sample_rate", + "experimental.traceparent": "experimental_traceparent", + "flushInterval": "flush_interval", + "flushMinSpans": "flush_min_spans", + "hostname": "agent_hostname", + "iast.enabled": "iast_enabled", + "iast.cookieFilterPattern": "iast_cookie_filter_pattern", + "iast.deduplication.enabled": "iast_deduplication_enabled", + "iast.maxConcurrentRequests": "iast_max_concurrent_requests", + "iast.max-concurrent-requests": "iast_max_concurrent_requests", + "iast.maxContextOperations": "iast_max_context_operations", + "iast.requestSampling": "iast_request_sampling", + "iast.request-sampling": "iast_request_sampling", + "iast.debug.enabled": "iast_debug_enabled", + "iast.vulnerabilities-per-request": "iast_vulnerability_per_request", + "iast.deduplicationEnabled": "iast_deduplication_enabled", + "iast.redactionEnabled": "iast_redaction_enabled", + "iast.redactionNamePattern": "iast_redaction_name_pattern", + "iast.redactionValuePattern": "iast_redaction_value_pattern", + "iast.telemetryVerbosity": "iast_telemetry_verbosity", + "isAzureFunction": "azure_function", + "isGitUploadEnabled": "git_upload_enabled", + "isIntelligentTestRunnerEnabled": "intelligent_test_runner_enabled", + "logger": "logger", + "logInjection": "logs_injection_enabled", + "logLevel": "trace_log_level", + "memcachedCommandEnabled": "memchached_command_enabled", + "lookup": "lookup", + "plugins": "plugins", + "port": "trace_agent_port", + "profiling.exporters": "profiling_exporters", + "profiling.sourceMap": "profiling_source_map_enabled", + "protocolVersion": "trace_agent_protocol_version", + "querystringObfuscation": "trace_obfuscation_query_string_regexp", + "reportHostname": "trace_report_hostname", + "trace.report-hostname": "trace_report_hostname", + "runtimeMetrics": "runtime_metrics_enabled", + "sampler.rateLimit": "trace_rate_limit", + "trace.rate.limit": "trace_rate_limit", + "sampler.sampleRate": "trace_sample_rate", + "sampleRate": "trace_sample_rate", + "scope": "scope", + "service": "service", + "serviceMapping": "dd_service_mapping", + "site": "site", + "startupLogs": "trace_startup_logs_enabled", + "stats.enabled": "stats_enabled", + "DD_TRACE_HEADER_TAGS": "trace_header_tags", + "tagsHeaderMaxLength": "trace_header_tags_max_length", + "telemetryEnabled": "instrumentation_telemetry_enabled", + "otel_enabled": "trace_otel_enabled", + "trace.otel.enabled": "trace_otel_enabled", + "trace.otel_enabled": "trace_otel_enabled", + "tracing": "trace_enabled", + "url": "trace_agent_url", + "version": "application_version", + "trace.tracer.metrics.enabled": "trace_metrics_enabled", + "trace.perf.metrics.enabled": "trace_perf_metrics_enabled", + "trace.health.metrics.enabled": "trace_health_metrics_enabled", + "trace.health.metrics.statsd.port": "trace_health_metrics_statsd_port", + "trace.grpc.server.trim-package-resource": "trace_grpc_server_trim_package_resource_enabled", + "DD_TRACE_DEBUG": "trace_debug_enabled", + "profiling.start-delay": "profiling_start_delay", + "profiling.upload.period": "profiling_upload_period", + "profiling.async.enabled": "profiling_async_enabled", + "profiling.async.alloc.enabled": "profiling_async_alloc_enabled", + "profiling.directallocation.enabled": "profiling_direct_allocation_enabled", + "profiling.hotspots.enabled": "profiling_hotspots_enabled", + "profiling.async.cpu.enabled": "profiling_async_cpu_enabled", + "profiling.async.memleak.enabled": "profiling_async_memleak_enabled", + "profiling.async.wall.enabled": "profiling_async_wall_enabled", + "profiling.ddprof.enabled": "profiling_ddprof_enabled", + "profiling.heap.enabled": "profiling_heap_enabled", + "profiling.legacy.tracing.integration": "profiling_legacy_tracing_integration_enabled", + "queryStringObfuscation": "trace_obfuscation_query_string_regexp", + "dbmPropagationMode": "dbm_propagation_mode", + "rcPollingInterval": "rc_polling_interval", + "jmxfetch.initial-refresh-beans-period": "jmxfetch_initial_refresh_beans_period", + "jmxfetch.refresh-beans-period": "jmxfetch_initial_refresh_beans_period", + "jmxfetch.multiple-runtime-services.enabled": "jmxfetch_multiple_runtime_services_enabled", + "jmxfetch.enabled": "jmxfetch_enabled", + "jmxfetch.statsd.port": "jmxfetch_statsd_port", + "jmxfetch.check-period": "jmxfetch_check_period", + "appsec.blockedTemplateGraphql": "appsec_blocked_template_graphql", + "appsec.blockedTemplateHtml": "appsec_blocked_template_html", + "appsec.blockedTemplateJson": "appsec_blocked_template_json", + "appsec.waf.timeout": "appsec_waf_timeout", + "civisibility.enabled": "ci_visibility_enabled", + "civisibility.agentless.enabled": "ci_visibility_agentless_enabled", + "isCiVisibility": "ci_visibility_enabled", + "cws.enabled": "cws_enabled", + "AWS_LAMBDA_INITIALIZATION_TYPE": "aws_lambda_initialization_type", + "http.server.tag.query-string": "trace_http_server_tag_query_string", + "http.server.route-based-naming": "trace_http_server_route_based_naming_enabled", + "http.client.tag.query-string": "trace_http_client_tag_query_string", + "DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING": "trace_http_client_tag_query_string", + "hystrix.tags.enabled": "hystrix_tags_enabled", + "hystrix.measured.enabled": "hystrix_measured_enabled", + "ignite.cache.include_keys": "ignite_cache_include_keys_enabled", + "dynamic.instrumentation.classfile.dump.enabled": "dynamic_instrumentation_classfile_dump_enabled", + "dynamic.instrumentation.metrics.enabled": "dynamic_instrumentation_metrics_enabled", + "message.broker.split-by-destination": "message_broker_split_by_destination", + "agent_feature_drop_p0s": "agent_feature_drop_p0s", + "appsec.rules.metadata.rules_version": "appsec_rules_metadata_rules_version", + "appsec.rules.version": "appsec_rules_version", + "appsec.customRulesProvided": "appsec_rules_custom_provided", + "dogstatsd_addr": "dogstatsd_url", + "lambda_mode": "lambda_mode", + "profiling.ddprof.alloc.enabled": "profiling_ddprof_alloc_enabled", + "profiling.ddprof.cpu.enabled": "profiling_ddprof_cpu_enabled", + "profiling.ddprof.memleak.enabled": "profiling_ddprof_memleak_enabled", + "profiling.ddprof.wall.enabled": "profiling_ddprof_wall_enabled", + "profiling_endpoints_enabled": "profiling_endpoints_enabled", + "send_retries": "trace_send_retries", + "telemetry.enabled": "instrumentation_telemetry_enabled", + "telemetry.debug": "instrumentation_telemetry_debug_enabled", + "telemetry.logCollection": "instrumentation_telemetry_log_collection_enabled", + "telemetry.metrics": "instrumentation_telemetry_metrics_enabled", + "telemetry.metricsInterval": "instrumentation_telemetry_metrics_interval", + "telemetry.heartbeat.interval": "instrumentation_telemetry_heartbeat_interval", + "universal_version": "universal_version_enabled", + "global_tag_version": "version", + "traceId128BitGenerationEnabled": "trace_128_bits_id_enabled", + "traceId128BitLoggingEnabled": "trace_128_bits_id_logging_enabled", + "trace.status404decorator.enabled": "trace_status_404_decorator_enabled", + "trace.status404rule.enabled": "trace_status_404_rule_enabled", + "discovery": "agent_discovery_enabled", + "repositoryurl": "repository_url", + "gitmetadataenabled": "git_metadata_enabled", + "commitsha": "commit_sha", + "isgcpfunction": "is_gcp_function", + "isGCPFunction": "is_gcp_function", + "legacy.installer.enabled": "legacy_installer_enabled", + "trace.request_init_hook": "trace_request_init_hook", + "dogstatsd_url": "dogstatsd_url", + "distributed_tracing": "trace_distributed_trace_enabled", + "autofinish_spans": "trace_auto_finish_spans_enabled", + "trace.url_as_resource_names_enabled": "trace_url_as_resource_names_enabled", + "integrations_disabled": "trace_disabled_integrations", + "priority_sampling": "trace_priority_sampling_enabled", + "trace.auto_flush_enabled": "trace_auto_flush_enabled", + "trace.measure_compile_time": "trace_measure_compile_time_enabled", + "trace.health_metrics_heartbeat_sample_rate": "trace_health_metrics_heartbeat_sample_rate", + "trace.redis_client_split_by_host": "trace_redis_client_split_by_host_enabled", + "trace.memory_limit": "trace_memory_limit", + "trace.flush_collect_cycles": "trace_flush_collect_cycles_enabled", + "trace.resource_uri_fragment_regex": "trace_resource_uri_fragment_regex", + "trace.resource_uri_mapping_incoming": "trace_resource_uri_mapping_incoming", + "trace.resource_uri_mapping_outgoing": "trace_resource_uri_mapping_outgoing", + "trace.resource_uri_query_param_allowed": "trace_resource_uri_query_param_allowed", + "trace.http_url_query_param_allowed": "trace_http_url_query_param_allowed", + "trace.http_post_data_param_allowed": "trace_http_post_data_param_allowed", + "trace.sampling_rules": "trace_sample_rules", + "span_sampling_rules_file": "span_sample_rules_file", + "trace.propagation_style_extract": "trace_propagation_style_extract", + "trace.propagation_style_inject": "trace_propagation_style_inject", + "trace.propagation_style": "trace_propagation_style", + "trace.propagation_extract_first": "trace_propagation_extract_first", + "tracePropagationExtractFirst": "trace_propagation_extract_first", + "tracePropagationStyle.extract": "trace_propagation_style_extract", + "tracePropagationStyle.inject": "trace_propagation_style_inject", + "tracePropagationStyle,otelPropagators": "trace_propagation_style_otel_propagators", + "tracing.distributed_tracing.propagation_extract_style": "trace_propagation_style_extract", + "tracing.distributed_tracing.propagation_inject_style": "trace_propagation_style_inject", + "trace.traced_internal_functions": "trace_traced_internal_functions", + "trace.agent_connect_timeout": "trace_agent_connect_timeout", + "trace.debug_prng_seed": "trace_debug_prng_seed", + "log_backtrace": "trace_log_backtrace_enabled", + "trace.generate_root_span": "trace_generate_root_span_enabled", + "trace.spans_limit": "trace_spans_limit", + "trace.128_bit_traceid_generation_enabled": "trace_128_bits_id_enabled", + "trace.agent_max_consecutive_failures": "trace_send_retries", + "trace.agent_attempt_retry_time_msec": "trace_agent_attempt_retry_time_msec", + "trace.bgs_connect_timeout": "trace_bgs_connect_timeout", + "trace.bgs_timeout": "trace_bgs_timeout", + "trace.agent_flush_interval": "trace_agent_flush_interval", + "trace.agent_flush_after_n_requests": "trace_agent_flush_after_n_requests", + "trace.shutdown_timeout": "trace_shutdown_timeout", + "trace.agent_debug_verbose_curl": "trace_agent_debug_verbose_curl_enabled", + "trace.debug_curl_output": "trace_debug_curl_output_enabled", + "trace.beta_high_memory_pressure_percent": "trace_beta_high_memory_pressure_percent", + "trace.warn_legacy_dd_trace": "trace_warn_legacy_dd_trace_enabled", + "trace.retain_thread_capabilities": "trace_retain_thread_capabilities_enabled", + "trace.client_ip_header": "client_ip_header", + "trace.forked_process": "trace_forked_process_enabled", + "trace.hook_limit": "trace_hook_limit", + "trace.agent_max_payload_size": "trace_agent_max_payload_size", + "trace.agent_stack_initial_size": "trace_agent_stack_initial_size", + "trace.agent_stack_backlog": "trace_agent_stack_backlog", + "trace.agent_retries": "trace_send_retries", + "trace.propagate_user_id_default": "trace_propagate_user_id_default_enabled", + "dbm_propagation_mode": "dbm_propagation_mode", + "trace.remove_root_span_laravel_queue": "trace_remove_root_span_laravel_queue_enabled", + "trace.remove_autoinstrumentation_orphans": "trace_remove_auto_instrumentation_orphans_enabled", + "DD_TRACE_CONFIG_FILE": "trace_config_file", + "DD_DOTNET_TRACER_CONFIG_FILE": "trace_config_file", + "DD_ENV": "env", + "DD_SERVICE": "service", + "DD_SERVICE_NAME": "service", + "DD_VERSION": "application_version", + "DD_GIT_REPOSITORY_URL": "repository_url", + "DD_GIT_COMMIT_SHA": "commit_sha", + "DD_TRACE_GIT_METADATA_ENABLED": "git_metadata_enabled", + "DD_TRACE_ENABLED": "trace_enabled", + "DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED": "experimental_appsec_standalone_enabled", + "DD_INTERNAL_WAIT_FOR_DEBUGGER_ATTACH": "internal_wait_for_debugger_attach_enabled", + "DD_INTERNAL_WAIT_FOR_NATIVE_DEBUGGER_ATTACH": "internal_wait_for_native_debugger_attach_enabled", + "DD_DISABLED_INTEGRATIONS": "trace_disabled_integrations", + "DD_TRACE_ANALYTICS_ENABLED": "trace_analytics_enabled", + "DD_TRACE_BUFFER_SIZE": "trace_serialization_buffer_size", + "DD_TRACE_BATCH_INTERVAL": "trace_serialization_batch_interval", + "DD_LOG_INJECTION": "logs_injection_enabled", + "DD_LOGS_INJECTION": "logs_injection_enabled", + "DD_TRACE_RATE_LIMIT": "trace_rate_limit", + "DD_MAX_TRACES_PER_SECOND": "trace_rate_limit", + "DD_TRACE_SAMPLING_RULES": "trace_sample_rules", + "DD_SPAN_SAMPLING_RULES": "span_sample_rules", + "DD_TRACE_SAMPLE_RATE": "trace_sample_rate", + "DD_APM_ENABLE_RARE_SAMPLER": "trace_rare_sampler_enabled", + "DD_TRACE_METRICS_ENABLED": "trace_metrics_enabled", + "DD_RUNTIME_METRICS_ENABLED": "runtime_metrics_enabled", + "DD_TRACE_AGENT_PATH": "agent_trace_agent_excecutable_path", + "DD_TRACE_AGENT_ARGS": "agent_trace_agent_excecutable_args", + "DD_DOGSTATSD_PATH": "agent_dogstatsd_executable_path", + "DD_DOGSTATSD_ARGS": "agent_dogstatsd_executable_args", + "DD_DIAGNOSTIC_SOURCE_ENABLED": "trace_diagnostic_source_enabled", + "DD_SITE": "site", + "DD_TRACE_HTTP_CLIENT_EXCLUDED_URL_SUBSTRINGS": "trace_http_client_excluded_urls", + "DD_HTTP_SERVER_ERROR_STATUSES": "trace_http_server_error_statuses", + "DD_HTTP_CLIENT_ERROR_STATUSES": "trace_http_client_error_statuses", + "DD_TRACE_HTTP_SERVER_ERROR_STATUSES": "trace_http_server_error_statuses", + "DD_TRACE_HTTP_CLIENT_ERROR_STATUSES": "trace_http_client_error_statuses", + "DD_TRACE_CLIENT_IP_HEADER": "trace_client_ip_header", + "DD_TRACE_CLIENT_IP_ENABLED": "trace_client_ip_enabled", + "DD_TRACE_KAFKA_CREATE_CONSUMER_SCOPE_ENABLED": "trace_kafka_create_consumer_scope_enabled", + "DD_TRACE_EXPAND_ROUTE_TEMPLATES_ENABLED": "trace_route_template_expansion_enabled", + "DD_TRACE_STATS_COMPUTATION_ENABLED": "trace_stats_computation_enabled", + "_DD_TRACE_STATS_COMPUTATION_INTERVAL": "trace_stats_computation_interval", + "DD_TRACE_PROPAGATION_STYLE_INJECT": "trace_propagation_style_inject", + "DD_PROPAGATION_STYLE_INJECT": "trace_propagation_style_inject", + "DD_TRACE_PROPAGATION_STYLE_EXTRACT": "trace_propagation_style_extract", + "DD_PROPAGATION_STYLE_EXTRACT": "trace_propagation_style_extract", + "DD_TRACE_PROPAGATION_STYLE": "trace_propagation_style", + "DD_TRACE_PROPAGATION_EXTRACT_FIRST": "trace_propagation_extract_first", + "DD_TRACE_METHODS": "trace_methods", + "DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP": "trace_obfuscation_query_string_regexp", + "DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP_TIMEOUT": "trace_obfuscation_query_string_regexp_timeout", + "DD_HTTP_SERVER_TAG_QUERY_STRING_SIZE": "trace_http_server_tag_query_string_size", + "DD_HTTP_SERVER_TAG_QUERY_STRING": "trace_http_server_tag_query_string_enabled", + "DD_DBM_PROPAGATION_MODE": "dbm_propagation_mode", + "DD_TRACE_SPAN_ATTRIBUTE_SCHEMA": "trace_span_attribute_schema", + "DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED": "trace_peer_service_defaults_enabled", + "DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED": "trace_remove_integration_service_names_enabled", + "DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH": "trace_x_datadog_tags_max_length", + "DD_DATA_STREAMS_ENABLED": "data_streams_enabled", + "DD_DATA_STREAMS_LEGACY_HEADERS": "data_streams_legacy_headers", + "DD_CIVISIBILITY_ENABLED": "ci_visibility_enabled", + "DD_CIVISIBILITY_AGENTLESS_ENABLED": "ci_visibility_agentless_enabled", + "DD_CIVISIBILITY_AGENTLESS_URL": "ci_visibility_agentless_url", + "DD_CIVISIBILITY_LOGS_ENABLED": "ci_visibility_logs_enabled", + "DD_CIVISIBILITY_CODE_COVERAGE_ENABLED": "ci_visibility_code_coverage_enabled", + "DD_CIVISIBILITY_CODE_COVERAGE_MODE": "ci_visibility_code_coverage_mode", + "DD_CIVISIBILITY_CODE_COVERAGE_SNK_FILEPATH": "ci_visibility_code_coverage_snk_path", + "DD_CIVISIBILITY_CODE_COVERAGE_ENABLE_JIT_OPTIMIZATIONS": "ci_visibility_code_coverage_jit_optimisations_enabled", + "DD_CIVISIBILITY_CODE_COVERAGE_PATH": "ci_visibility_code_coverage_path", + "DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": "ci_visibility_git_upload_enabled", + "DD_CIVISIBILITY_TESTSSKIPPING_ENABLED": "ci_visibility_test_skipping_enabled", + "DD_CIVISIBILITY_ITR_ENABLED": "ci_visibility_intelligent_test_runner_enabled", + "DD_CIVISIBILITY_FORCE_AGENT_EVP_PROXY": "ci_visibility_force_agent_evp_proxy_enabled", + "DD_CIVISIBILITY_EXTERNAL_CODE_COVERAGE_PATH": "ci_visibility_code_coverage_external_path", + "DD_CIVISIBILITY_GAC_INSTALL_ENABLED": "ci_visibility_gac_install_enabled", + "DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED": "ci_visibility_early_flake_detection_enabled", + "DD_CIVISIBILITY_CODE_COVERAGE_COLLECTORPATH": "ci_visibility_code_coverage_collectorpath", + "DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS": "ci_visibility_rum_flush_wait_millis", + "DD_CIVISIBILITY_FLAKY_RETRY_ENABLED": "ci_visibility_flaky_retry_enabled", + "DD_CIVISIBILITY_FLAKY_RETRY_COUNT": "ci_visibility_flaky_retry_count", + "DD_CIVISIBILITY_TOTAL_FLAKY_RETRY_COUNT": "ci_visibility_total_flaky_retry_count", + "DD_TEST_SESSION_NAME": "test_session_name", + "DD_PROXY_HTTPS": "proxy_https", + "DD_PROXY_NO_PROXY": "proxy_no_proxy", + "DD_TRACE_DEBUG_LOOKUP_MDTOKEN": "trace_lookup_mdtoken_enabled", + "DD_TRACE_DEBUG_LOOKUP_FALLBACK": "trace_lookup_fallback_enabled", + "DD_TRACE_ROUTE_TEMPLATE_RESOURCE_NAMES_ENABLED": "trace_route_template_resource_names_enabled", + "DD_TRACE_DELAY_WCF_INSTRUMENTATION_ENABLED": "trace_delay_wcf_instrumentation_enabled", + "DD_TRACE_WCF_WEB_HTTP_RESOURCE_NAMES_ENABLED": "trace_wcf_web_http_resource_names_enabled", + "DD_TRACE_WCF_RESOURCE_OBFUSCATION_ENABLED": "trace_wcf_obfuscation_enabled", + "DD_TRACE_HEADER_TAG_NORMALIZATION_FIX_ENABLED": "trace_header_tag_normalization_fix_enabled", + "DD_TRACE_OTEL_ENABLED": "trace_otel_enabled", + "DD_TRACE_OTEL_LEGACY_OPERATION_NAME_ENABLED": "trace_otel_legacy_operation_name_enabled", + "DD_TRACE_ACTIVITY_LISTENER_ENABLED": "trace_activity_listener_enabled", + "DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED": "trace_128_bits_id_enabled", + "DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED": "trace_128_bits_id_logging_enabled", + "DD_TRACE_HEALTH_METRICS_ENABLED": "dd_trace_health_metrics_enabled", + "DD_LIB_INJECTION_ATTEMPTED": "dd_lib_injection_attempted", + "DD_LIB_INJECTED": "dd_lib_injected", + "DD_INJECT_FORCED": "dd_lib_injection_forced", + "DD_SPAN_SAMPLING_RULES_FILE": "dd_span_sampling_rules_file", + "DD_TRACE_COMPUTE_STATS": "dd_trace_compute_stats", + "DD_EXCEPTION_DEBUGGING_ENABLED": "dd_exception_debugging_enabled", + "DD_EXCEPTION_DEBUGGING_MAX_FRAMES_TO_CAPTURE": "dd_exception_debugging_max_frames_to_capture", + "DD_EXCEPTION_DEBUGGING_CAPTURE_FULL_CALLSTACK_ENABLED": "dd_exception_debugging_capture_full_callstack_enabled", + "DD_EXCEPTION_DEBUGGING_RATE_LIMIT_SECONDS": "dd_exception_debugging_rate_limit_seconds", + "DD_EXCEPTION_DEBUGGING_MAX_EXCEPTION_ANALYSIS_LIMIT": "dd_exception_debugging_max_exception_analysis_limit", + "DD_EXCEPTION_REPLAY_ENABLED": "dd_exception_replay_enabled", + "DD_EXCEPTION_REPLAY_MAX_FRAMES_TO_CAPTURE": "dd_exception_replay_max_frames_to_capture", + "DD_EXCEPTION_REPLAY_CAPTURE_FULL_CALLSTACK_ENABLED": "dd_exception_replay_capture_full_callstack_enabled", + "DD_EXCEPTION_REPLAY_RATE_LIMIT_SECONDS": "dd_exception_replay_rate_limit_seconds", + "DD_EXCEPTION_REPLAY_MAX_EXCEPTION_ANALYSIS_LIMIT": "dd_exception_replay_max_exception_analysis_limit", + "DD_TRACE_OBFUSCATION_QUERY_STRING_PATTERN": "dd_trace_obfuscation_query_string_pattern", + "DD_CALL_BASIC_CONFIG": "dd_call_basic_config", + "DD_SERVICE_MAPPING": "dd_service_mapping", + "DD_INSTRUMENTATION_TELEMETRY_ENABLED": "instrumentation_telemetry_enabled", + "DD_INSTRUMENTATION_TELEMETRY_AGENTLESS_ENABLED": "instrumentation_telemetry_agentless_enabled", + "DD_INSTRUMENTATION_TELEMETRY_AGENT_PROXY_ENABLED": "instrumentation_telemetry_agent_proxy_enabled", + "DD_INSTRUMENTATION_TELEMETRY_URL": "instrumentation_telemetry_agentless_url", + "DD_TELEMETRY_HEARTBEAT_INTERVAL": "instrumentation_telemetry_heartbeat_interval", + "DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED": "instrumentation_telemetry_dependency_collection_enabled", + "DD_TELEMETRY_LOG_COLLECTION_ENABLED": "instrumentation_telemetry_log_collection_enabled", + "DD_TELEMETRY_METRICS_ENABLED": "instrumentation_telemetry_metrics_enabled", + "DD_INTERNAL_TELEMETRY_V2_ENABLED": "instrumentation_telemetry_v2_enabled", + "DD_INTERNAL_TELEMETRY_DEBUG_ENABLED": "instrumentation_telemetry_debug_enabled", + "DD_APPSEC_ENABLED": "appsec_enabled", + "DD_APPSEC_RULES": "appsec_rules", + "DD_APPSEC_IPHEADER": "appsec_ip_header", + "DD_APPSEC_EXTRA_HEADERS": "appsec_extra_headers", + "DD_APPSEC_KEEP_TRACES": "appsec_force_keep_traces_enabled", + "DD_APPSEC_TRACE_RATE_LIMIT": "appsec_trace_rate_limit", + "DD_APPSEC_WAF_TIMEOUT": "appsec_waf_timeout", + "DD_APPSEC_OBFUSCATION_PARAMETER_KEY_REGEXP": "appsec_obfuscation_parameter_key_regexp", + "DD_APPSEC_OBFUSCATION_PARAMETER_VALUE_REGEXP": "appsec_obfuscation_parameter_value_regexp", + "DD_APPSEC_HTTP_BLOCKED_TEMPLATE_HTML": "appsec_blocked_template_html", + "DD_APPSEC_HTTP_BLOCKED_TEMPLATE_JSON": "appsec_blocked_template_json", + "DD_APPSEC_AUTOMATED_USER_EVENTS_TRACKING": "appsec_auto_user_events_tracking", + "DD_APPSEC_RASP_ENABLED": "appsec_rasp_enabled", + "DD_APPSEC_STACK_TRACE_ENABLED": "appsec_stack_trace_enabled", + "DD_APPSEC_MAX_STACK_TRACES": "appsec_max_stack_traces", + "DD_APPSEC_MAX_STACK_TRACE_DEPTH": "appsec_max_stack_trace_depth", + "DD_APPSEC_MAX_STACK_TRACE_DEPTH_TOP_PERCENT": "appsec_max_stack_trace_depth_top_percent", + "DD_APPSEC_SCA_ENABLED": "appsec_sca_enabled", + "DD_APPSEC_AUTO_USER_INSTRUMENTATION_MODE": "appsec_auto_user_instrumentation_mode", + "DD_EXPERIMENTAL_APPSEC_USE_UNSAFE_ENCODER": "appsec_use_unsafe_encoder", + "DD_API_SECURITY_REQUEST_SAMPLE_RATE":"api_security_request_sample_rate", + "DD_API_SECURITY_MAX_CONCURRENT_REQUESTS":"api_security_max_concurrent_requests", + "DD_API_SECURITY_SAMPLE_DELAY":"api_security_sample_delay", + "DD_API_SECURITY_ENABLED":"api_security_enabled", + "DD_EXPERIMENTAL_API_SECURITY_ENABLED":"experimental_api_security_enabled", + "DD_APPSEC_WAF_DEBUG": "appsec_waf_debug_enabled", + "DD_AZURE_APP_SERVICES": "aas_enabled", + "DD_AAS_DOTNET_EXTENSION_VERSION": "aas_site_extensions_version", + "WEBSITE_OWNER_NAME": "aas_website_owner_name", + "WEBSITE_RESOURCE_GROUP": "aas_website_resource_group", + "WEBSITE_SITE_NAME": "aas_website_site_name", + "FUNCTIONS_EXTENSION_VERSION": "aas_functions_runtime_version", + "FUNCTIONS_WORKER_RUNTIME": "aas_functions_worker_runtime", + "COMPUTERNAME": "aas_instance_name", + "WEBSITE_INSTANCE_ID": "aas_website_instance_id", + "WEBSITE_OS": "aas_website_os", + "WEBSITE_SKU": "aas_website_sku", + "FUNCTION_NAME": "gcp_deprecated_function_name", + "GCP_PROJECT": "gcp_deprecated_project", + "K_SERVICE": "gcp_function_name", + "FUNCTION_TARGET": "gcp_function_target", + "DD_AAS_ENABLE_CUSTOM_TRACING": "aas_custom_tracing_enabled", + "DD_AAS_ENABLE_CUSTOM_METRICS": "aas_custom_metrics_enabled", + "DD_DYNAMIC_INSTRUMENTATION_ENABLED": "dynamic_instrumentation_enabled", + "DD_DEBUGGER_MAX_DEPTH_TO_SERIALIZE": "dynamic_instrumentation_serialization_max_depth", + "DD_DEBUGGER_MAX_TIME_TO_SERIALIZE": "dynamic_instrumentation_serialization_max_duration", + "DD_DEBUGGER_UPLOAD_BATCH_SIZE": "dynamic_instrumentation_upload_batch_size", + "DD_DEBUGGER_DIAGNOSTICS_INTERVAL": "dynamic_instrumentation_diagnostics_interval", + "DD_DEBUGGER_UPLOAD_FLUSH_INTERVAL": "dynamic_instrumentation_upload_interval", + "DD_DYNAMIC_INSTRUMENTATION_MAX_DEPTH_TO_SERIALIZE": "dynamic_instrumentation_serialization_max_depth", + "DD_DYNAMIC_INSTRUMENTATION_MAX_TIME_TO_SERIALIZE": "dynamic_instrumentation_serialization_max_duration", + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_BATCH_SIZE": "dynamic_instrumentation_upload_batch_size", + "DD_DYNAMIC_INSTRUMENTATION_DIAGNOSTICS_INTERVAL": "dynamic_instrumentation_diagnostics_interval", + "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL": "dynamic_instrumentation_upload_interval", + "DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS": "dynamic_instrumentation_redacted_identifiers", + "DD_DYNAMIC_INSTRUMENTATION_REDACTED_TYPES": "dynamic_instrumentation_redacted_types", + "DD_SYMBOL_DATABASE_BATCH_SIZE_BYTES": "symbol_database_batch_size_bytes", + "DD_DYNAMIC_INSTRUMENTATION_SYMBOL_DATABASE_BATCH_SIZE_BYTES": "dynamic_instrumentation_symbol_database_batch_size_bytes", + "DD_SYMBOL_DATABASE_UPLOAD_ENABLED": "symbol_database_upload_enabled", + "DD_DYNAMIC_INSTRUMENTATION_SYMBOL_DATABASE_UPLOAD_ENABLED": "dynamic_instrumentation_symbol_database_upload_enabled", + "DD_INTERAL_FORCE_SYMBOL_DATABASE_UPLOAD": "internal_force_symbol_database_upload", + "DD_THIRD_PARTY_DETECTION_INCLUDES": "third_party_detection_includes", + "DD_THIRD_PARTY_DETECTION_EXCLUDES": "third_party_detection_excludes", + "DD_SYMBOL_DATABASE_THIRD_PARTY_DETECTION_INCLUDES": "symbol_database_third_party_detection_includes", + "DD_SYMBOL_DATABASE_THIRD_PARTY_DETECTION_EXCLUDES": "symbol_database_third_party_detection_excludes", + "DD_CODE_ORIGIN_FOR_SPANS_ENABLED": "code_origin_for_spans_enabled", + "DD_CODE_ORIGIN_FOR_SPANS_MAX_USER_FRAMES": "code_origin_for_spans_max_user_frames", + "DD_LOGS_DIRECT_SUBMISSION_INTEGRATIONS": "logs_direct_submission_integrations", + "DD_LOGS_DIRECT_SUBMISSION_HOST": "logs_direct_submission_host", + "DD_LOGS_DIRECT_SUBMISSION_SOURCE": "logs_direct_submission_source", + "DD_LOGS_DIRECT_SUBMISSION_TAGS": "logs_direct_submission_tags", + "DD_LOGS_DIRECT_SUBMISSION_URL": "logs_direct_submission_url", + "DD_LOGS_DIRECT_SUBMISSION_MINIMUM_LEVEL": "logs_direct_submission_minimum_level", + "DD_LOGS_DIRECT_SUBMISSION_MAX_BATCH_SIZE": "logs_direct_submission_max_batch_size", + "DD_LOGS_DIRECT_SUBMISSION_MAX_QUEUE_SIZE": "logs_direct_submission_max_queue_size", + "DD_LOGS_DIRECT_SUBMISSION_BATCH_PERIOD_SECONDS": "logs_direct_submission_batch_period_seconds", + "DD_AGENT_HOST": "agent_host", + "DATADOG_TRACE_AGENT_HOSTNAME": "agent_host", + "DD_TRACE_AGENT_HOSTNAME": "agent_host", + "DD_TRACE_AGENT_PORT": "trace_agent_port", + "DATADOG_TRACE_AGENT_PORT": "trace_agent_port", + "DD_TRACE_PIPE_NAME": "trace_agent_named_pipe", + "DD_TRACE_PIPE_TIMEOUT_MS": "trace_agent_named_pipe_timeout_ms", + "DD_DOGSTATSD_PIPE_NAME": "dogstatsd_named_pipe", + "DD_APM_RECEIVER_PORT": "trace_agent_port", + "DD_TRACE_AGENT_URL": "trace_agent_url", + "DD_DOGSTATSD_PORT": "dogstatsd_port", + "DD_TRACE_PARTIAL_FLUSH_ENABLED": "trace_partial_flush_enabled", + "DD_TRACE_PARTIAL_FLUSH_MIN_SPANS": "trace_partial_flush_min_spans", + "DD_APM_RECEIVER_SOCKET": "trace_agent_socket", + "DD_DOGSTATSD_SOCKET": "dogstatsd_socket", + "DD_DOGSTATSD_URL": "dogstatsd_url", + "DD_IAST_ENABLED": "iast_enabled", + "DD_IAST_WEAK_HASH_ALGORITHMS": "iast_weak_hash_algorithms", + "DD_IAST_WEAK_CIPHER_ALGORITHMS": "iast_weak_cipher_algorithms", + "DD_IAST_DEDUPLICATION_ENABLED": "iast_deduplication_enabled", + "DD_IAST_REQUEST_SAMPLING": "iast_request_sampling_percentage", + "DD_IAST_MAX_CONCURRENT_REQUESTS": "iast_max_concurrent_requests", + "DD_IAST_MAX_RANGE_COUNT": "iast_max_range_count", + "DD_IAST_VULNERABILITIES_PER_REQUEST": "iast_vulnerability_per_request", + "DD_IAST_REDACTION_ENABLED": "iast_redaction_enabled", + "DD_IAST_REDACTION_KEYS_REGEXP": "iast_redaction_keys_regexp", + "DD_IAST_REDACTION_VALUES_REGEXP": "iast_redaction_values_regexp", + "DD_IAST_REDACTION_NAME_PATTERN": "iast_redaction_name_pattern", + "DD_IAST_REDACTION_VALUE_PATTERN": "iast_redaction_value_pattern", + "DD_IAST_REDACTION_REGEXP_TIMEOUT": "iast_redaction_regexp_timeout", + "DD_IAST_REGEXP_TIMEOUT": "iast_regexp_timeout", + "DD_IAST_TELEMETRY_VERBOSITY": "iast_telemetry_verbosity", + "DD_IAST_TRUNCATION_MAX_VALUE_LENGTH": "iast_truncation_max_value_length", + "DD_IAST_DB_ROWS_TO_TAINT": "iast_db_rows_to_taint", + "DD_IAST_COOKIE_FILTER_PATTERN": "iast_cookie_filter_pattern", + "DD_TRACE_STARTUP_LOGS": "trace_startup_logs_enabled", + "DD_TRACE_DISABLED_ADONET_COMMAND_TYPES": "trace_disabled_adonet_command_types", + "DD_MAX_LOGFILE_SIZE": "trace_log_file_max_size", + "DD_TRACE_LOGGING_RATE": "trace_log_rate", + "DD_TRACE_LOG_PATH": "trace_log_path", + "DD_TRACE_LOG_DIRECTORY": "trace_log_directory", + "DD_TRACE_LOGFILE_RETENTION_DAYS": "trace_log_file_retention_days", + "DD_TRACE_LOG_SINKS": "trace_log_sinks", + "DD_TRACE_COMMANDS_COLLECTION_ENABLED": "trace_commands_collection_enabled", + "DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS": "remote_config_poll_interval", + "DD_INTERNAL_RCM_POLL_INTERVAL": "remote_config_poll_interval", + "trace.128_bit_traceid_logging_enabled": "trace_128_bits_id_logging_enabled", + "DD_PROFILING_ENABLED": "profiling_enabled", + "DD_PROFILING_CODEHOTSPOTS_ENABLED": "profiling_codehotspots_enabled", + "DD_PROFILING_ENDPOINT_COLLECTION_ENABLED": "profiling_endpoint_collection_enabled", + "DD_LOG_LEVEL": "agent_log_level", + "DD_TAGS": "agent_tags", + "DD_TRACE_GLOBAL_TAGS": "trace_tags", + "trace.agent_url": "trace_agent_url", + "trace.append_trace_ids_to_logs": "trace_append_trace_ids_to_logs", + "trace.client_ip_enabled": "trace_client_ip_enabled", + "trace.analytics_enabled": "trace_analytics_enabled", + "trace.rate_limit": "trace_rate_limit", + "trace.report_hostname": "trace_report_hostname", + "trace.http_client_split_by_domain": "trace_http_client_split_by_domain", + "trace.debug": "trace_debug_enabled", + "trace.agent_timeout": "trace_agent_timeout", + "trace.agent_port": "trace_agent_port", + "trace.x_datadog_tags_max_length": "trace_x_datadog_tags_max_length", + "trace.obfuscation_query_string_regexp": "trace_obfuscation_query_string_regexp", + "trace.peer_service_defaults_enabled": "trace_peer_service_defaults_enabled", + "trace.propagate_service": "trace_propagate_service", + "trace.remove_integration_service_names_enabled": "trace_remove_integration_service_names_enabled", + "trace.sample_rate": "trace_sample_rate", + "trace.health_metrics_enabled": "trace_health_metrics_enabled", + "trace.telemetry_enabled": "instrumentation_telemetry_enabled", + "trace.cli_enabled": "trace_cli_enabled", + "trace.db_client_split_by_instance": "trace_db_client_split_by_instance", + "trace.startup_logs": "trace_startup_logs", + "http_server_route_based_naming": "http_server_route_based_naming", + "DD_TRACE_PEER_SERVICE_MAPPING": "trace_peer_service_mapping", + "peerServiceMapping": "trace_peer_service_mapping", + "trace.peer.service.mapping": "trace_peer_service_mapping", + "trace.peer_service_mapping": "trace_peer_service_mapping", + "spanComputePeerService": "trace_peer_service_defaults_enabled", + "spanLeakDebug": "span_leak_debug", + "trace.peer.service.defaults.enabled": "trace_peer_service_defaults_enabled", + "spanAttributeSchema": "trace_span_attribute_schema", + "trace.span.attribute.schema": "trace_span_attribute_schema", + "spanRemoveIntegrationFromService": "trace_remove_integration_service_names_enabled", + "trace.remove.integration-service-names.enabled": "trace_remove_integration_service_names_enabled", + "ddtrace_auto_used": "ddtrace_auto_used", + "ddtrace_bootstrapped": "ddtrace_bootstrapped", + "orchestrion_enabled": "orchestrion_enabled", + "orchestrion_version": "orchestrion_version", + "trace.once_logs": "trace_once_logs", + "trace.wordpress_callbacks": "trace_wordpress_callbacks", + "trace.wordpress_enhanced_integration": "trace_wordpress_enhanced_integration", + "trace.wordpress_additional_actions": "trace_wordpress_additional_actions", + "trace.sidecar_trace_sender": "trace_sidecar_trace_sender", + "trace.sampling_rules_format": "trace_sampling_rules_format", + "DD_TRACE_SAMPLING_RULES_FORMAT": "trace_sampling_rules_format", + "trace.agentless": "trace_agentless", + "dd_agent_port": "trace_agent_port", + "dd_priority_sampling": "trace_priority_sampling_enabled", + "dd_profiling_capture_pct": "profiling_capture_pct", + "dd_profiling_export_libdd_enabled": "profiling_export_libdd_enabled", + "dd_profiling_heap_enabled": "profiling_heap_enabled", + "dd_profiling_lock_enabled": "profiling_lock_enabled", + "dd_profiling_max_frames": "profiling_max_frames", + "dd_profiling_memory_enabled": "profiling_memory_enabled", + "dd_profiling_stack_enabled": "profiling_stack_enabled", + "dd_profiling_upload_interval": "profiling_upload_interval", + "dd_remote_configuration_enabled": "remote_config_enabled", + "dd_trace_agent_timeout_seconds": "trace_agent_timeout", + "dd_trace_api_version": "trace_api_version", + "dd_trace_writer_buffer_size_bytes": "trace_serialization_buffer_size", + "dd_trace_writer_interval_seconds": "trace_agent_flush_interval", + "dd_trace_writer_max_payload_size_bytes": "trace_agent_max_payload_size", + "dd_trace_writer_reuse_connections": "trace_agent_reuse_connections", + "tracing_enabled": "trace_enabled", + "ssi_injection_enabled": "ssi_injection_enabled", + "DD_INJECTION_ENABLED": "ssi_injection_enabled", + "ssi_forced_injection_enabled": "ssi_forced_injection_enabled", + "DD_INJECT_FORCE": "ssi_forced_injection_enabled", + "OTEL_LOGS_EXPORTER": "otel_logs_exporter", + "OTEL_LOG_LEVEL": "otel_log_level", + "OTEL_METRICS_EXPORTER": "otel_metrics_exporter", + "OTEL_SDK_DISABLED": "otel_sdk_disabled", + "OTEL_SERVICE_NAME": "otel_service_name", + "OTEL_PROPAGATORS": "otel_propagators", + "OTEL_RESOURCE_ATTRIBUTES": "otel_resource_attributes", + "OTEL_TRACES_EXPORTER": "otel_traces_exporter", + "OTEL_TRACES_SAMPLER": "otel_traces_sampler", + "OTEL_TRACES_SAMPLER_ARG": "otel_traces_sampler_arg", + "crashtracking_enabled": "crashtracking_enabled", + "crashtracking_available": "crashtracking_available", + "crashtracking_started": "crashtracking_started", + "crashtracking_stdout_filename": "crashtracking_stdout_filename", + "crashtracking_stderr_filename": "crashtracking_stderr_filename", + "crashtracking_alt_stack": "crashtracking_alt_stack", + "crashtracking_stacktrace_resolver": "crashtracking_stacktrace_resolver", + "crashtracking_debug_url": "crashtracking_debug_url", + "debug_stack_enabled": "debug_stack_enabled", + "DD_TRACE_BAGGAGE_MAX_ITEMS": "trace_baggage_max_items", + "DD_TRACE_BAGGAGE_MAX_BYTES": "trace_baggage_max_bytes" +}