dd-trace 6.16.0 → 6.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ci/diagnose.js +0 -23
- package/ci/test-optimization-validation/approval-artifacts.js +0 -3
- package/ci/test-optimization-validation/approval.js +0 -6
- package/ci/test-optimization-validation/artifact-id.js +0 -1
- package/ci/test-optimization-validation/bounded-json.js +0 -1
- package/ci/test-optimization-validation/cli.js +0 -12
- package/ci/test-optimization-validation/command-output-policy.js +0 -1
- package/ci/test-optimization-validation/command-runner.js +0 -3
- package/ci/test-optimization-validation/environment.js +0 -4
- package/ci/test-optimization-validation/executable-approval.js +0 -1
- package/ci/test-optimization-validation/executable.js +0 -5
- package/ci/test-optimization-validation/framework-adapters/cucumber.js +0 -6
- package/ci/test-optimization-validation/framework-adapters/cypress.js +0 -3
- package/ci/test-optimization-validation/framework-adapters/playwright.js +0 -6
- package/ci/test-optimization-validation/framework-adapters/vitest.js +0 -4
- package/ci/test-optimization-validation/generated-test-contract.js +0 -5
- package/ci/test-optimization-validation/generated-verifier.js +0 -1
- package/ci/test-optimization-validation/literal-environment.js +0 -1
- package/ci/test-optimization-validation/manifest-scaffold.js +0 -17
- package/ci/test-optimization-validation/manifest-schema.js +0 -21
- package/ci/test-optimization-validation/offline-fixtures.js +0 -4
- package/ci/test-optimization-validation/plan-writer.js +0 -11
- package/ci/test-optimization-validation/preflight-runner.js +0 -1
- package/ci/test-optimization-validation/redaction.js +0 -4
- package/ci/test-optimization-validation/report-writer.js +0 -16
- package/ci/test-optimization-validation/runner-command.js +0 -3
- package/ci/test-optimization-validation/runner-contract.js +0 -4
- package/ci/test-optimization-validation/safe-files.js +0 -1
- package/ci/test-optimization-validation/scenarios/basic-reporting.js +0 -1
- package/ci/test-optimization-validation/scenarios/ci-wiring.js +0 -1
- package/ci/test-optimization-validation/source-text.js +0 -3
- package/ci/vitest-no-worker-init-setup.mjs +41 -16
- package/index.d.ts +165 -0
- package/package.json +17 -16
- package/packages/datadog-esbuild/src/utils.js +0 -2
- package/packages/datadog-instrumentations/src/aerospike.js +28 -6
- package/packages/datadog-instrumentations/src/aws-durable-execution-sdk-js.js +0 -2
- package/packages/datadog-instrumentations/src/aws-sdk.js +0 -2
- package/packages/datadog-instrumentations/src/claude-agent-sdk.js +0 -2
- package/packages/datadog-instrumentations/src/console.js +97 -0
- package/packages/datadog-instrumentations/src/cucumber.js +72 -12
- package/packages/datadog-instrumentations/src/cypress-config.js +0 -23
- package/packages/datadog-instrumentations/src/helpers/channel.js +0 -2
- package/packages/datadog-instrumentations/src/helpers/graphql-jit-runtime.js +0 -5
- package/packages/datadog-instrumentations/src/helpers/hooks.js +8 -0
- package/packages/datadog-instrumentations/src/helpers/instrumentation-utils.js +0 -3
- package/packages/datadog-instrumentations/src/helpers/pool-acquire.js +0 -6
- package/packages/datadog-instrumentations/src/helpers/register.js +4 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +72 -24
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentation-registry.js +39 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +3 -17
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js +12 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/postgres.js +36 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/supabase.js +128 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +16 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms/postgres.js +388 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +0 -5
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +0 -1
- package/packages/datadog-instrumentations/src/jest.js +141 -51
- package/packages/datadog-instrumentations/src/knex.js +0 -1
- package/packages/datadog-instrumentations/src/mariadb-bundle.js +0 -24
- package/packages/datadog-instrumentations/src/mariadb.js +0 -2
- package/packages/datadog-instrumentations/src/mocha/common.js +0 -1
- package/packages/datadog-instrumentations/src/mocha/main.js +22 -25
- package/packages/datadog-instrumentations/src/mocha/utils.js +119 -49
- package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +0 -6
- package/packages/datadog-instrumentations/src/mocha/worker.js +14 -17
- package/packages/datadog-instrumentations/src/mysql2.js +0 -2
- package/packages/datadog-instrumentations/src/openai-realtime/audio-accumulator.js +241 -0
- package/packages/datadog-instrumentations/src/openai-realtime/events.js +76 -0
- package/packages/datadog-instrumentations/src/openai-realtime/index.js +301 -0
- package/packages/datadog-instrumentations/src/openai-realtime/session.js +998 -0
- package/packages/datadog-instrumentations/src/openai-realtime/turns.js +211 -0
- package/packages/datadog-instrumentations/src/openai.js +51 -12
- package/packages/datadog-instrumentations/src/oracledb.js +9 -3
- package/packages/datadog-instrumentations/src/playwright-reporter.js +3 -16
- package/packages/datadog-instrumentations/src/playwright.js +238 -55
- package/packages/datadog-instrumentations/src/postgres.js +7 -0
- package/packages/datadog-instrumentations/src/router.js +0 -2
- package/packages/datadog-instrumentations/src/rum-browser-scripts.js +0 -2
- package/packages/datadog-instrumentations/src/sequelize.js +0 -1
- package/packages/datadog-instrumentations/src/supabase.js +15 -0
- package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +18 -18
- package/packages/datadog-instrumentations/src/vitest-main.js +37 -17
- package/packages/datadog-instrumentations/src/vitest-util.js +7 -1
- package/packages/datadog-instrumentations/src/vitest-worker.js +49 -13
- package/packages/datadog-instrumentations/src/webdriverio.js +23 -42
- package/packages/datadog-instrumentations/src/ws.js +0 -1
- package/packages/datadog-plugin-ai/src/utils.js +0 -2
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/trace-checkpoint.js +0 -1
- package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/util.js +0 -2
- package/packages/datadog-plugin-aws-sdk/src/base.js +0 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +0 -1
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +0 -1
- package/packages/datadog-plugin-aws-sdk/src/util.js +0 -1
- package/packages/datadog-plugin-azure-durable-functions/src/index.js +0 -1
- package/packages/datadog-plugin-cucumber/src/index.js +10 -0
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +171 -75
- package/packages/datadog-plugin-cypress/src/finalization.js +0 -3
- package/packages/datadog-plugin-cypress/src/source-map-utils.js +0 -4
- package/packages/datadog-plugin-cypress/src/support.js +52 -7
- package/packages/datadog-plugin-graphql/src/resolve-error.js +1 -2
- package/packages/datadog-plugin-graphql/src/utils.js +0 -5
- package/packages/datadog-plugin-jest/src/index.js +13 -0
- package/packages/datadog-plugin-kafkajs/src/producer.js +0 -1
- package/packages/datadog-plugin-mocha/src/index.js +39 -11
- package/packages/datadog-plugin-mongodb-core/src/query.js +0 -1
- package/packages/datadog-plugin-openai/src/index.js +16 -1
- package/packages/datadog-plugin-openai/src/realtime.js +144 -0
- package/packages/datadog-plugin-openai-agents/src/integration.js +0 -4
- package/packages/datadog-plugin-openai-agents/src/util.js +0 -1
- package/packages/datadog-plugin-playwright/src/index.js +76 -9
- package/packages/datadog-plugin-postgres/src/index.js +167 -0
- package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +0 -1
- package/packages/datadog-plugin-redis/src/index.js +15 -1
- package/packages/datadog-plugin-supabase/src/error.js +18 -0
- package/packages/datadog-plugin-supabase/src/index.js +21 -0
- package/packages/datadog-plugin-supabase/src/supabase-auth-js-gotrueclient-getuser.js +69 -0
- package/packages/datadog-plugin-supabase/src/supabase-functions-js-functionsclient-invoke.js +70 -0
- package/packages/datadog-plugin-supabase/src/supabase-postgrest-js-postgrestbuilder-then.js +122 -0
- package/packages/datadog-plugin-supabase/src/supabase-realtime-js-realtimechannel-send.js +66 -0
- package/packages/datadog-plugin-supabase/src/supabase-storage-js-handle-request.js +93 -0
- package/packages/datadog-plugin-supabase/src/url.js +17 -0
- package/packages/datadog-plugin-vitest/src/index.js +10 -0
- package/packages/datadog-plugin-ws/src/util.js +0 -4
- package/packages/datadog-turbopack/index.js +0 -6
- package/packages/datadog-turbopack/src/loader.js +0 -16
- package/packages/datadog-webpack/src/loader.js +0 -1
- package/packages/dd-trace/src/aiguard/client.js +2 -3
- package/packages/dd-trace/src/aiguard/evaluation.js +6 -12
- package/packages/dd-trace/src/aiguard/index.js +2 -2
- package/packages/dd-trace/src/aiguard/integrations/index.js +1 -1
- package/packages/dd-trace/src/aiguard/integrations/openai.js +81 -7
- package/packages/dd-trace/src/aiguard/messages/anthropic.js +0 -2
- package/packages/dd-trace/src/aiguard/messages/openai.js +64 -1
- package/packages/dd-trace/src/aiguard/messages/utils.js +0 -1
- package/packages/dd-trace/src/aiguard/redaction.js +0 -1
- package/packages/dd-trace/src/aiguard/sdk.js +1 -1
- package/packages/dd-trace/src/appsec/activation.js +1 -1
- package/packages/dd-trace/src/appsec/api_security/normalized-route.js +0 -5
- package/packages/dd-trace/src/appsec/api_security/sampler.js +0 -4
- package/packages/dd-trace/src/appsec/blocking/index.js +3 -3
- package/packages/dd-trace/src/appsec/downstream_requests.js +1 -4
- package/packages/dd-trace/src/appsec/iast/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +3 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +8 -10
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +2 -2
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +4 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +7 -7
- package/packages/dd-trace/src/appsec/index.js +2 -2
- package/packages/dd-trace/src/appsec/lambda.js +71 -2
- package/packages/dd-trace/src/appsec/rasp/utils.js +5 -1
- package/packages/dd-trace/src/appsec/remote_config.js +8 -6
- package/packages/dd-trace/src/appsec/reporter.js +10 -6
- package/packages/dd-trace/src/appsec/rule_manager.js +3 -3
- package/packages/dd-trace/src/appsec/sdk/track_event.js +0 -2
- package/packages/dd-trace/src/appsec/waf/index.js +2 -2
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +8 -5
- package/packages/dd-trace/src/carrier.js +0 -5
- package/packages/dd-trace/src/ci-visibility/dynamic-atr-retries.js +104 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +0 -2
- package/packages/dd-trace/src/ci-visibility/efd-retry-policy.js +34 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +0 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +0 -1
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +0 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/index.js +0 -4
- package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/msgpack-to-json.js +0 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/sink.js +0 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -15
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +0 -3
- package/packages/dd-trace/src/ci-visibility/exporters/request.js +0 -11
- package/packages/dd-trace/src/ci-visibility/exporters/settings-cache-key.js +0 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +0 -1
- package/packages/dd-trace/src/ci-visibility/requests/fs-cache.js +0 -6
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +2 -2
- package/packages/dd-trace/src/ci-visibility/requests/rate-limit.js +0 -1
- package/packages/dd-trace/src/ci-visibility/requests/upload-test-screenshot.js +0 -5
- package/packages/dd-trace/src/ci-visibility/requests/video-request.js +0 -1
- package/packages/dd-trace/src/ci-visibility/telemetry.js +13 -0
- package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +0 -1
- package/packages/dd-trace/src/ci-visibility/test-screenshot.js +0 -2
- package/packages/dd-trace/src/ci-visibility/test-video.js +0 -1
- package/packages/dd-trace/src/config/defaults.js +3 -2
- package/packages/dd-trace/src/config/generated-config-types.d.ts +73 -67
- package/packages/dd-trace/src/config/helper.js +0 -1
- package/packages/dd-trace/src/config/index.js +24 -24
- package/packages/dd-trace/src/config/parsers.js +34 -6
- package/packages/dd-trace/src/config/remote_config.js +25 -109
- package/packages/dd-trace/src/config/supported-configurations.json +139 -10
- package/packages/dd-trace/src/datastreams/encoding.js +0 -1
- package/packages/dd-trace/src/datastreams/pathway.js +0 -1
- package/packages/dd-trace/src/debugger/constants.js +10 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +62 -10
- package/packages/dd-trace/src/debugger/devtools_client/config.js +2 -0
- package/packages/dd-trace/src/debugger/devtools_client/guardrail-metrics.js +15 -0
- package/packages/dd-trace/src/debugger/devtools_client/index.js +103 -27
- package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +50 -7
- package/packages/dd-trace/src/debugger/devtools_client/log.js +3 -1
- package/packages/dd-trace/src/debugger/devtools_client/probe_sampler.js +21 -8
- package/packages/dd-trace/src/debugger/devtools_client/send.js +40 -14
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +53 -13
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +118 -71
- package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +0 -3
- package/packages/dd-trace/src/debugger/devtools_client/status.js +20 -6
- package/packages/dd-trace/src/debugger/guardrail-metrics.js +167 -0
- package/packages/dd-trace/src/debugger/index.js +50 -2
- package/packages/dd-trace/src/debugger/inspect-segment.js +0 -3
- package/packages/dd-trace/src/debugger/probe_sampler.js +133 -9
- package/packages/dd-trace/src/debugger/probe_sampler_constants.js +31 -1
- package/packages/dd-trace/src/dogstatsd.js +0 -23
- package/packages/dd-trace/src/encode/0.4-cross-payload.js +0 -3
- package/packages/dd-trace/src/encode/0.4.js +0 -7
- package/packages/dd-trace/src/encode/0.5.js +0 -2
- package/packages/dd-trace/src/encode/tags-processors.js +0 -1
- package/packages/dd-trace/src/evp_proxy/discovery.js +0 -1
- package/packages/dd-trace/src/evp_proxy/path.js +0 -2
- package/packages/dd-trace/src/exporters/agent/writer.js +0 -1
- package/packages/dd-trace/src/exporters/agentless/index.js +0 -1
- package/packages/dd-trace/src/exporters/agentless/intake.js +0 -1
- package/packages/dd-trace/src/exporters/agentless/writer.js +0 -3
- package/packages/dd-trace/src/exporters/common/final-flush-request-tracker.js +0 -6
- package/packages/dd-trace/src/exporters/common/request.js +1 -0
- package/packages/dd-trace/src/exporters/common/url.js +0 -2
- package/packages/dd-trace/src/exporters/common/writer.js +0 -2
- package/packages/dd-trace/src/id.js +0 -11
- package/packages/dd-trace/src/llmobs/audio-codec.js +192 -0
- package/packages/dd-trace/src/llmobs/audio-utils.js +121 -0
- package/packages/dd-trace/src/llmobs/constants/audio.js +35 -0
- package/packages/dd-trace/src/llmobs/constants/prompts.js +14 -0
- package/packages/dd-trace/src/llmobs/constants/tags.js +17 -0
- package/packages/dd-trace/src/llmobs/eval-metric.js +0 -6
- package/packages/dd-trace/src/llmobs/experiments/dataset.js +0 -4
- package/packages/dd-trace/src/llmobs/experiments/experiment.js +0 -3
- package/packages/dd-trace/src/llmobs/experiments/index.js +7 -6
- package/packages/dd-trace/src/llmobs/experiments/util.js +1 -11
- package/packages/dd-trace/src/llmobs/index.js +1 -3
- package/packages/dd-trace/src/llmobs/noop.js +10 -0
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +0 -4
- package/packages/dd-trace/src/llmobs/plugins/anthropic/util.js +0 -1
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +0 -4
- package/packages/dd-trace/src/llmobs/plugins/modelcontextprotocol-sdk/utils.js +0 -2
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +0 -2
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +4 -6
- package/packages/dd-trace/src/llmobs/plugins/openai/realtime.js +285 -0
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +16 -3
- package/packages/dd-trace/src/llmobs/prompts/cache.js +272 -0
- package/packages/dd-trace/src/llmobs/prompts/manager.js +639 -0
- package/packages/dd-trace/src/llmobs/prompts/noop.js +29 -0
- package/packages/dd-trace/src/llmobs/prompts/prompt.js +92 -0
- package/packages/dd-trace/src/llmobs/sdk.js +21 -6
- package/packages/dd-trace/src/llmobs/span_processor.js +81 -2
- package/packages/dd-trace/src/llmobs/tagger.js +30 -7
- package/packages/dd-trace/src/llmobs/telemetry.js +36 -4
- package/packages/dd-trace/src/llmobs/util.js +0 -34
- package/packages/dd-trace/src/llmobs/writers/base.js +0 -1
- package/packages/dd-trace/src/llmobs/writers/util.js +1 -2
- package/packages/dd-trace/src/log/channels.js +3 -0
- package/packages/dd-trace/src/log/index.js +23 -5
- package/packages/dd-trace/src/log-submission/log-submission-plugin.js +74 -6
- package/packages/dd-trace/src/msgpack/chunk.js +0 -1
- package/packages/dd-trace/src/openfeature/agentless_configuration_source.js +0 -12
- package/packages/dd-trace/src/openfeature/encoding.js +0 -2
- package/packages/dd-trace/src/openfeature/eval-metrics-hook.js +0 -1
- package/packages/dd-trace/src/openfeature/index.js +0 -4
- package/packages/dd-trace/src/openfeature/span-enrichment-hook.js +0 -1
- package/packages/dd-trace/src/openfeature/span-enrichment.js +0 -4
- package/packages/dd-trace/src/openfeature/writers/base.js +0 -6
- package/packages/dd-trace/src/openfeature/writers/exposures.js +0 -5
- package/packages/dd-trace/src/openfeature/writers/util.js +0 -4
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +0 -1
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +0 -1
- package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +0 -1
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +0 -2
- package/packages/dd-trace/src/opentelemetry/metrics/meter_provider.js +0 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_transformer.js +0 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +0 -1
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +1 -14
- package/packages/dd-trace/src/opentelemetry/metrics/time.js +0 -1
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +30 -13
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +0 -1
- package/packages/dd-trace/src/opentelemetry/span-helpers.js +0 -1
- package/packages/dd-trace/src/opentelemetry/trace/otlp_http_trace_exporter.js +0 -1
- package/packages/dd-trace/src/opentelemetry/trace/otlp_transformer.js +0 -3
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +0 -6
- package/packages/dd-trace/src/opentracing/span_context.js +0 -1
- package/packages/dd-trace/src/otel-thread-ctx.js +38 -11
- package/packages/dd-trace/src/payload-tagging/tagging.js +15 -3
- package/packages/dd-trace/src/plugins/ci_plugin.js +0 -1
- package/packages/dd-trace/src/plugins/database.js +2 -6
- package/packages/dd-trace/src/plugins/index.js +7 -0
- package/packages/dd-trace/src/plugins/plugin.js +0 -4
- package/packages/dd-trace/src/plugins/tracing.js +1 -1
- package/packages/dd-trace/src/plugins/util/git.js +1 -3
- package/packages/dd-trace/src/plugins/util/http-otel-semantics.js +0 -1
- package/packages/dd-trace/src/plugins/util/llm.js +0 -2
- package/packages/dd-trace/src/plugins/util/status-validator.js +0 -1
- package/packages/dd-trace/src/plugins/util/test.js +21 -20
- package/packages/dd-trace/src/plugins/util/url.js +0 -5
- package/packages/dd-trace/src/priority_sampler.js +0 -6
- package/packages/dd-trace/src/process-tags/index.js +0 -1
- package/packages/dd-trace/src/profiler.js +132 -35
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +0 -1
- package/packages/dd-trace/src/profiling/profiler.js +101 -41
- package/packages/dd-trace/src/profiling/ssi-heuristics.js +29 -15
- package/packages/dd-trace/src/propagation-hash/index.js +0 -1
- package/packages/dd-trace/src/proxy.js +21 -45
- package/packages/dd-trace/src/random_sampler.js +0 -4
- package/packages/dd-trace/src/rate_limiter.js +0 -4
- package/packages/dd-trace/src/remote_config/capabilities.js +1 -9
- package/packages/dd-trace/src/remote_config/index.js +0 -1
- package/packages/dd-trace/src/runtime_metrics/otlp_runtime_metrics.js +0 -3
- package/packages/dd-trace/src/sampler.js +0 -4
- package/packages/dd-trace/src/sampling_rule.js +0 -7
- package/packages/dd-trace/src/serverless/vercel.js +0 -1
- package/packages/dd-trace/src/serverless.js +0 -1
- package/packages/dd-trace/src/service-naming/index.js +0 -1
- package/packages/dd-trace/src/service-naming/schemas/util.js +0 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +7 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +5 -0
- package/packages/dd-trace/src/span_processor.js +2 -2
- package/packages/dd-trace/src/span_sampler.js +0 -1
- package/packages/dd-trace/src/standalone/product.js +2 -2
- package/packages/dd-trace/src/standalone/tracesource.js +0 -1
- package/packages/dd-trace/src/startup-log.js +1 -1
- package/packages/dd-trace/src/telemetry/endpoints.js +0 -8
- package/packages/dd-trace/src/telemetry/logs/index.js +16 -5
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +16 -6
- package/packages/dd-trace/src/telemetry/metrics.js +0 -2
- package/packages/dd-trace/src/telemetry/telemetry.js +4 -1
- package/packages/dd-trace/src/util.js +13 -1
- package/vendor/dist/@datadog/openfeature-node-server/index.js +1 -1
|
@@ -4,11 +4,18 @@
|
|
|
4
4
|
export interface GeneratedConfig {
|
|
5
5
|
_DD_APM_TRACING_AGENTLESS_ENABLED: boolean;
|
|
6
6
|
_DD_TRACE_METRICS_OTEL_FLUSH_INTERVAL: number;
|
|
7
|
+
aiguard: {
|
|
8
|
+
DD_AI_GUARD_ANALYZE_STREAM_RESPONSES_ENABLED: boolean;
|
|
9
|
+
DD_AI_GUARD_BLOCK: boolean;
|
|
10
|
+
DD_AI_GUARD_ENABLED: boolean;
|
|
11
|
+
DD_AI_GUARD_ENDPOINT: string | undefined;
|
|
12
|
+
DD_AI_GUARD_MAX_CONTENT_SIZE: number;
|
|
13
|
+
DD_AI_GUARD_MAX_MESSAGES_LENGTH: number;
|
|
14
|
+
DD_AI_GUARD_REDACTION_ENABLED: boolean;
|
|
15
|
+
DD_AI_GUARD_TIMEOUT: number;
|
|
16
|
+
};
|
|
7
17
|
apmTracingEnabled: boolean;
|
|
8
18
|
appsec: {
|
|
9
|
-
blockedTemplateGraphql: string | undefined;
|
|
10
|
-
blockedTemplateHtml: string | undefined;
|
|
11
|
-
blockedTemplateJson: string | undefined;
|
|
12
19
|
DD_API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE: number;
|
|
13
20
|
DD_API_SECURITY_ENABLED: boolean;
|
|
14
21
|
DD_API_SECURITY_ENDPOINT_COLLECTION_ENABLED: boolean;
|
|
@@ -17,30 +24,26 @@ export interface GeneratedConfig {
|
|
|
17
24
|
DD_API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS: number;
|
|
18
25
|
DD_API_SECURITY_SAMPLE_DELAY: number;
|
|
19
26
|
DD_APPSEC_AGENTIC_ONBOARDING: string;
|
|
27
|
+
DD_APPSEC_AUTO_USER_INSTRUMENTATION_MODE: string;
|
|
28
|
+
DD_APPSEC_COLLECT_ALL_HEADERS: boolean;
|
|
29
|
+
DD_APPSEC_ENABLED: boolean | undefined;
|
|
30
|
+
DD_APPSEC_GRAPHQL_BLOCKED_TEMPLATE_JSON: string | undefined;
|
|
31
|
+
DD_APPSEC_HEADER_COLLECTION_REDACTION_ENABLED: boolean;
|
|
32
|
+
DD_APPSEC_HTTP_BLOCKED_TEMPLATE_HTML: string | undefined;
|
|
33
|
+
DD_APPSEC_HTTP_BLOCKED_TEMPLATE_JSON: string | undefined;
|
|
34
|
+
DD_APPSEC_MAX_COLLECTED_HEADERS: number;
|
|
35
|
+
DD_APPSEC_MAX_STACK_TRACE_DEPTH: number;
|
|
36
|
+
DD_APPSEC_MAX_STACK_TRACES: number;
|
|
37
|
+
DD_APPSEC_OBFUSCATION_PARAMETER_KEY_REGEXP: string;
|
|
38
|
+
DD_APPSEC_OBFUSCATION_PARAMETER_VALUE_REGEXP: string;
|
|
39
|
+
DD_APPSEC_RASP_COLLECT_REQUEST_BODY: boolean;
|
|
40
|
+
DD_APPSEC_RASP_ENABLED: boolean;
|
|
41
|
+
DD_APPSEC_RULES: string | undefined;
|
|
20
42
|
DD_APPSEC_SCA_ENABLED: boolean | undefined;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
extendedHeadersCollection: {
|
|
26
|
-
enabled: boolean;
|
|
27
|
-
maxHeaders: number;
|
|
28
|
-
redaction: boolean;
|
|
29
|
-
};
|
|
30
|
-
obfuscatorKeyRegex: string;
|
|
31
|
-
obfuscatorValueRegex: string;
|
|
32
|
-
rasp: {
|
|
33
|
-
bodyCollection: boolean;
|
|
34
|
-
enabled: boolean;
|
|
35
|
-
};
|
|
36
|
-
rateLimit: number;
|
|
37
|
-
rules: string | undefined;
|
|
38
|
-
stackTrace: {
|
|
39
|
-
enabled: boolean;
|
|
40
|
-
maxDepth: number;
|
|
41
|
-
maxStackTraces: number;
|
|
42
|
-
};
|
|
43
|
-
wafTimeout: number;
|
|
43
|
+
DD_APPSEC_STACK_TRACE_ENABLED: boolean;
|
|
44
|
+
DD_APPSEC_TRACE_RATE_LIMIT: number;
|
|
45
|
+
DD_APPSEC_WAF_TIMEOUT: number;
|
|
46
|
+
DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED: boolean;
|
|
44
47
|
};
|
|
45
48
|
baggageMaxBytes: number;
|
|
46
49
|
baggageMaxItems: number;
|
|
@@ -68,7 +71,6 @@ export interface GeneratedConfig {
|
|
|
68
71
|
DD_AGENTLESS_ENABLED: boolean;
|
|
69
72
|
DD_AGENTLESS_LOG_SUBMISSION_ENABLED: boolean;
|
|
70
73
|
DD_AGENTLESS_LOG_SUBMISSION_URL: string | undefined;
|
|
71
|
-
DD_AI_GUARD_ANALYZE_STREAM_RESPONSES_ENABLED: boolean;
|
|
72
74
|
DD_API_KEY: string | undefined;
|
|
73
75
|
DD_APM_FLUSH_DEADLINE_MILLISECONDS: number;
|
|
74
76
|
DD_APP_KEY: string | undefined;
|
|
@@ -116,6 +118,10 @@ export interface GeneratedConfig {
|
|
|
116
118
|
DD_INTERNAL_PROFILING_LONG_LIVED_THRESHOLD: number;
|
|
117
119
|
DD_INTERNAL_PROFILING_TIMELINE_SAMPLING_ENABLED: boolean;
|
|
118
120
|
DD_LAMBDA_HANDLER: string | undefined;
|
|
121
|
+
DD_LLMOBS_PROMPTS_CACHE_DIR: string | undefined;
|
|
122
|
+
DD_LLMOBS_PROMPTS_CACHE_TTL: number;
|
|
123
|
+
DD_LLMOBS_PROMPTS_FILE_CACHE_ENABLED: boolean;
|
|
124
|
+
DD_LLMOBS_PROMPTS_TIMEOUT: number;
|
|
119
125
|
DD_LOGS_OTEL_ENABLED: boolean;
|
|
120
126
|
DD_METRICS_OTEL_ENABLED: boolean;
|
|
121
127
|
DD_MINI_AGENT_PATH: string | undefined;
|
|
@@ -132,7 +138,7 @@ export interface GeneratedConfig {
|
|
|
132
138
|
DD_PROFILING_EXPERIMENTAL_CPU_ENABLED: boolean;
|
|
133
139
|
DD_PROFILING_EXPERIMENTAL_ENDPOINT_COLLECTION_ENABLED: boolean;
|
|
134
140
|
DD_PROFILING_EXPERIMENTAL_OOM_EXPORT_STRATEGIES: string[];
|
|
135
|
-
DD_PROFILING_EXPERIMENTAL_OOM_HEAP_LIMIT_EXTENSION_SIZE: number;
|
|
141
|
+
DD_PROFILING_EXPERIMENTAL_OOM_HEAP_LIMIT_EXTENSION_SIZE: number | 'auto';
|
|
136
142
|
DD_PROFILING_EXPERIMENTAL_OOM_MAX_HEAP_EXTENSION_COUNT: number;
|
|
137
143
|
DD_PROFILING_EXPERIMENTAL_OOM_MONITORING_ENABLED: boolean;
|
|
138
144
|
DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED: boolean;
|
|
@@ -359,6 +365,7 @@ export interface GeneratedConfig {
|
|
|
359
365
|
DD_TRACE_PLAYWRIGHT_CORE_ENABLED: boolean;
|
|
360
366
|
DD_TRACE_PLAYWRIGHT_ENABLED: boolean;
|
|
361
367
|
DD_TRACE_PLAYWRIGHT_TEST_ENABLED: boolean;
|
|
368
|
+
DD_TRACE_POSTGRES_ENABLED: boolean;
|
|
362
369
|
DD_TRACE_PRISMA_ENABLED: boolean;
|
|
363
370
|
DD_TRACE_PROCESS_ENABLED: boolean;
|
|
364
371
|
DD_TRACE_PROMISE_ENABLED: boolean;
|
|
@@ -387,6 +394,7 @@ export interface GeneratedConfig {
|
|
|
387
394
|
DD_TRACE_SPAN_LEAK_DEBUG: number;
|
|
388
395
|
DD_TRACE_SQLITE3_ENABLED: boolean;
|
|
389
396
|
DD_TRACE_SUFFIXPLUGIN_ENABLED: boolean;
|
|
397
|
+
DD_TRACE_SUPABASE_ENABLED: boolean;
|
|
390
398
|
DD_TRACE_TAGS: Record<string, string> | undefined;
|
|
391
399
|
DD_TRACE_TEDIOUS_ENABLED: boolean;
|
|
392
400
|
DD_TRACE_UNDICI_ENABLED: boolean;
|
|
@@ -415,20 +423,6 @@ export interface GeneratedConfig {
|
|
|
415
423
|
};
|
|
416
424
|
env: string | undefined;
|
|
417
425
|
experimental: {
|
|
418
|
-
aiguard: {
|
|
419
|
-
block: boolean;
|
|
420
|
-
enabled: boolean;
|
|
421
|
-
endpoint: string | undefined;
|
|
422
|
-
maxContentSize: number;
|
|
423
|
-
maxMessagesLength: number;
|
|
424
|
-
redactionEnabled: boolean;
|
|
425
|
-
timeout: number;
|
|
426
|
-
};
|
|
427
|
-
appsec: {
|
|
428
|
-
standalone: {
|
|
429
|
-
enabled: boolean;
|
|
430
|
-
};
|
|
431
|
-
};
|
|
432
426
|
b3: boolean;
|
|
433
427
|
enableGetRumData: boolean;
|
|
434
428
|
exporter: string;
|
|
@@ -452,20 +446,18 @@ export interface GeneratedConfig {
|
|
|
452
446
|
headerTags: string[];
|
|
453
447
|
hostname: string;
|
|
454
448
|
iast: {
|
|
455
|
-
|
|
449
|
+
DD_IAST_DB_ROWS_TO_TAINT: number;
|
|
450
|
+
DD_IAST_DEDUPLICATION_ENABLED: boolean;
|
|
451
|
+
DD_IAST_ENABLED: boolean;
|
|
452
|
+
DD_IAST_MAX_CONCURRENT_REQUESTS: number;
|
|
453
|
+
DD_IAST_MAX_CONTEXT_OPERATIONS: number;
|
|
454
|
+
DD_IAST_REDACTION_ENABLED: boolean;
|
|
455
|
+
DD_IAST_REDACTION_NAME_PATTERN: string;
|
|
456
|
+
DD_IAST_REDACTION_VALUE_PATTERN: string;
|
|
457
|
+
DD_IAST_REQUEST_SAMPLING: number;
|
|
456
458
|
DD_IAST_SECURITY_CONTROLS_CONFIGURATION: string | undefined;
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
maxConcurrentRequests: number;
|
|
460
|
-
maxContextOperations: number;
|
|
461
|
-
redactionEnabled: boolean;
|
|
462
|
-
redactionNamePattern: string;
|
|
463
|
-
redactionValuePattern: string;
|
|
464
|
-
requestSampling: number;
|
|
465
|
-
stackTrace: {
|
|
466
|
-
enabled: boolean;
|
|
467
|
-
};
|
|
468
|
-
telemetryVerbosity: string;
|
|
459
|
+
DD_IAST_STACK_TRACE_ENABLED: boolean;
|
|
460
|
+
DD_IAST_TELEMETRY_VERBOSITY: string;
|
|
469
461
|
};
|
|
470
462
|
inferredProxyServicesEnabled: boolean;
|
|
471
463
|
langchain: {
|
|
@@ -474,19 +466,20 @@ export interface GeneratedConfig {
|
|
|
474
466
|
};
|
|
475
467
|
legacyBaggageEnabled: boolean;
|
|
476
468
|
llmobs: {
|
|
477
|
-
|
|
469
|
+
DD_LLMOBS_AGENTLESS_ENABLED: boolean | undefined;
|
|
478
470
|
DD_LLMOBS_ENABLED: boolean;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
471
|
+
DD_LLMOBS_ML_APP: string | undefined;
|
|
472
|
+
DD_LLMOBS_PROJECT_NAME: string | undefined;
|
|
473
|
+
DD_LLMOBS_SAMPLE_RATE: number;
|
|
482
474
|
};
|
|
483
475
|
logInjection: boolean;
|
|
484
476
|
logLevel: "debug" | "info" | "warn" | "error";
|
|
485
477
|
middlewareTracingEnabled: boolean;
|
|
486
478
|
openai: {
|
|
479
|
+
DD_OPENAI_LOGS_ENABLED: boolean;
|
|
480
|
+
DD_OPENAI_REALTIME_ENABLED: boolean;
|
|
487
481
|
DD_OPENAI_SPAN_CHAR_LIMIT: number;
|
|
488
482
|
};
|
|
489
|
-
openAiLogsEnabled: boolean;
|
|
490
483
|
OTEL_BSP_MAX_EXPORT_BATCH_SIZE: number;
|
|
491
484
|
OTEL_BSP_MAX_QUEUE_SIZE: number;
|
|
492
485
|
OTEL_BSP_SCHEDULE_DELAY: number;
|
|
@@ -494,14 +487,14 @@ export interface GeneratedConfig {
|
|
|
494
487
|
OTEL_EXPORTER_OTLP_HEADERS: Record<string, string> | undefined;
|
|
495
488
|
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: string;
|
|
496
489
|
OTEL_EXPORTER_OTLP_LOGS_HEADERS: Record<string, string> | undefined;
|
|
497
|
-
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL:
|
|
490
|
+
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
498
491
|
OTEL_EXPORTER_OTLP_LOGS_TIMEOUT: number;
|
|
499
492
|
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: string;
|
|
500
493
|
OTEL_EXPORTER_OTLP_METRICS_HEADERS: Record<string, string> | undefined;
|
|
501
|
-
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL:
|
|
494
|
+
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
502
495
|
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA" | "CUMULATIVE" | "LOWMEMORY";
|
|
503
496
|
OTEL_EXPORTER_OTLP_METRICS_TIMEOUT: number;
|
|
504
|
-
OTEL_EXPORTER_OTLP_PROTOCOL:
|
|
497
|
+
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
505
498
|
OTEL_EXPORTER_OTLP_TIMEOUT: number;
|
|
506
499
|
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: string;
|
|
507
500
|
OTEL_EXPORTER_OTLP_TRACES_HEADERS: Record<string, string> | undefined;
|
|
@@ -566,6 +559,8 @@ export interface GeneratedConfig {
|
|
|
566
559
|
DD_CIVISIBILITY_CODE_COVERAGE_REPORT_UPLOAD_ENABLED: boolean;
|
|
567
560
|
DD_CIVISIBILITY_DANGEROUSLY_FORCE_COVERAGE: boolean;
|
|
568
561
|
DD_CIVISIBILITY_DANGEROUSLY_FORCE_TEST_SKIPPING: boolean;
|
|
562
|
+
DD_CIVISIBILITY_DYNAMIC_ATR_BUCKETS: string[] | undefined;
|
|
563
|
+
DD_CIVISIBILITY_DYNAMIC_ATR_ENABLED: boolean;
|
|
569
564
|
DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED: boolean;
|
|
570
565
|
DD_CIVISIBILITY_ENABLED: boolean;
|
|
571
566
|
DD_CIVISIBILITY_FLAKY_RETRY_COUNT: number;
|
|
@@ -665,6 +660,8 @@ export interface GeneratedEnvVarConfig {
|
|
|
665
660
|
DD_CIVISIBILITY_CODE_COVERAGE_REPORT_UPLOAD_ENABLED: boolean;
|
|
666
661
|
DD_CIVISIBILITY_DANGEROUSLY_FORCE_COVERAGE: boolean;
|
|
667
662
|
DD_CIVISIBILITY_DANGEROUSLY_FORCE_TEST_SKIPPING: boolean;
|
|
663
|
+
DD_CIVISIBILITY_DYNAMIC_ATR_BUCKETS: string[] | undefined;
|
|
664
|
+
DD_CIVISIBILITY_DYNAMIC_ATR_ENABLED: boolean;
|
|
668
665
|
DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED: boolean;
|
|
669
666
|
DD_CIVISIBILITY_ENABLED: boolean;
|
|
670
667
|
DD_CIVISIBILITY_FLAKY_RETRY_COUNT: number;
|
|
@@ -768,6 +765,12 @@ export interface GeneratedEnvVarConfig {
|
|
|
768
765
|
DD_LLMOBS_ENABLED: boolean;
|
|
769
766
|
DD_LLMOBS_ML_APP: string | undefined;
|
|
770
767
|
DD_LLMOBS_PROJECT_NAME: string | undefined;
|
|
768
|
+
DD_LLMOBS_PROMPTS_CACHE_DIR: string | undefined;
|
|
769
|
+
DD_LLMOBS_PROMPTS_CACHE_TTL: number;
|
|
770
|
+
DD_LLMOBS_PROMPTS_CACHE_TTL_SECONDS: number;
|
|
771
|
+
DD_LLMOBS_PROMPTS_FILE_CACHE_ENABLED: boolean;
|
|
772
|
+
DD_LLMOBS_PROMPTS_TIMEOUT: number;
|
|
773
|
+
DD_LLMOBS_PROMPTS_TIMEOUT_SECONDS: number;
|
|
771
774
|
DD_LLMOBS_SAMPLE_RATE: number;
|
|
772
775
|
DD_LOG_LEVEL: "debug" | "info" | "warn" | "error";
|
|
773
776
|
DD_LOGS_INJECTION: boolean;
|
|
@@ -775,6 +778,7 @@ export interface GeneratedEnvVarConfig {
|
|
|
775
778
|
DD_METRICS_OTEL_ENABLED: boolean;
|
|
776
779
|
DD_MINI_AGENT_PATH: string | undefined;
|
|
777
780
|
DD_OPENAI_LOGS_ENABLED: boolean;
|
|
781
|
+
DD_OPENAI_REALTIME_ENABLED: boolean;
|
|
778
782
|
DD_OPENAI_SPAN_CHAR_LIMIT: number;
|
|
779
783
|
DD_PIPELINE_EXECUTION_ID: string | undefined;
|
|
780
784
|
DD_PLAYWRIGHT_WORKER: string | undefined;
|
|
@@ -790,7 +794,7 @@ export interface GeneratedEnvVarConfig {
|
|
|
790
794
|
DD_PROFILING_EXPERIMENTAL_CPU_ENABLED: boolean;
|
|
791
795
|
DD_PROFILING_EXPERIMENTAL_ENDPOINT_COLLECTION_ENABLED: boolean;
|
|
792
796
|
DD_PROFILING_EXPERIMENTAL_OOM_EXPORT_STRATEGIES: string[];
|
|
793
|
-
DD_PROFILING_EXPERIMENTAL_OOM_HEAP_LIMIT_EXTENSION_SIZE: number;
|
|
797
|
+
DD_PROFILING_EXPERIMENTAL_OOM_HEAP_LIMIT_EXTENSION_SIZE: number | 'auto';
|
|
794
798
|
DD_PROFILING_EXPERIMENTAL_OOM_MAX_HEAP_EXTENSION_COUNT: number;
|
|
795
799
|
DD_PROFILING_EXPERIMENTAL_OOM_MONITORING_ENABLED: boolean;
|
|
796
800
|
DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED: boolean;
|
|
@@ -1073,6 +1077,7 @@ export interface GeneratedEnvVarConfig {
|
|
|
1073
1077
|
DD_TRACE_PLAYWRIGHT_CORE_ENABLED: boolean;
|
|
1074
1078
|
DD_TRACE_PLAYWRIGHT_ENABLED: boolean;
|
|
1075
1079
|
DD_TRACE_PLAYWRIGHT_TEST_ENABLED: boolean;
|
|
1080
|
+
DD_TRACE_POSTGRES_ENABLED: boolean;
|
|
1076
1081
|
DD_TRACE_PRISMA_ENABLED: boolean;
|
|
1077
1082
|
DD_TRACE_PROCESS_ENABLED: boolean;
|
|
1078
1083
|
DD_TRACE_PROMISE_ENABLED: boolean;
|
|
@@ -1111,6 +1116,7 @@ export interface GeneratedEnvVarConfig {
|
|
|
1111
1116
|
DD_TRACE_STARTUP_LOGS: boolean;
|
|
1112
1117
|
DD_TRACE_STATS_COMPUTATION_ENABLED: boolean;
|
|
1113
1118
|
DD_TRACE_SUFFIXPLUGIN_ENABLED: boolean;
|
|
1119
|
+
DD_TRACE_SUPABASE_ENABLED: boolean;
|
|
1114
1120
|
DD_TRACE_TAGS: Record<string, string> | undefined;
|
|
1115
1121
|
DD_TRACE_TEDIOUS_ENABLED: boolean;
|
|
1116
1122
|
DD_TRACE_TELEMETRY_ENABLED: boolean;
|
|
@@ -1140,14 +1146,14 @@ export interface GeneratedEnvVarConfig {
|
|
|
1140
1146
|
OTEL_EXPORTER_OTLP_HEADERS: Record<string, string> | undefined;
|
|
1141
1147
|
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: string | undefined;
|
|
1142
1148
|
OTEL_EXPORTER_OTLP_LOGS_HEADERS: Record<string, string> | undefined;
|
|
1143
|
-
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL:
|
|
1149
|
+
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
1144
1150
|
OTEL_EXPORTER_OTLP_LOGS_TIMEOUT: number;
|
|
1145
1151
|
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: string | undefined;
|
|
1146
1152
|
OTEL_EXPORTER_OTLP_METRICS_HEADERS: Record<string, string> | undefined;
|
|
1147
|
-
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL:
|
|
1153
|
+
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
1148
1154
|
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA" | "CUMULATIVE" | "LOWMEMORY";
|
|
1149
1155
|
OTEL_EXPORTER_OTLP_METRICS_TIMEOUT: number;
|
|
1150
|
-
OTEL_EXPORTER_OTLP_PROTOCOL:
|
|
1156
|
+
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | "http/json" | "http/protobuf";
|
|
1151
1157
|
OTEL_EXPORTER_OTLP_TIMEOUT: number;
|
|
1152
1158
|
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: string | undefined;
|
|
1153
1159
|
OTEL_EXPORTER_OTLP_TRACES_HEADERS: Record<string, string> | undefined;
|
|
@@ -145,7 +145,6 @@ function getEnvNameFromSource (name, source) {
|
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
147
|
* @param {string} name
|
|
148
|
-
* @returns {boolean}
|
|
149
148
|
*/
|
|
150
149
|
function isSupportedConfiguration (name) {
|
|
151
150
|
return supportedConfigurations[name] !== undefined || aliasToCanonical[name] !== undefined
|
|
@@ -67,7 +67,6 @@ channel('datadog:identity:update').subscribe(refreshRuntimeId)
|
|
|
67
67
|
* Lazily generates the process-wide runtime ID on first access instead of at module load,
|
|
68
68
|
* so modules that merely require this file without constructing a Config never pay for it.
|
|
69
69
|
*
|
|
70
|
-
* @returns {string}
|
|
71
70
|
*/
|
|
72
71
|
function getRuntimeId () {
|
|
73
72
|
runtimeId ??= uuid()
|
|
@@ -103,6 +102,10 @@ const tracerMetrics = telemetryMetrics.manager.namespace('tracers')
|
|
|
103
102
|
/** @type {Config | null} */
|
|
104
103
|
let configInstance = null
|
|
105
104
|
|
|
105
|
+
// Fires whenever remote config applies a new value; profiling and other RC-driven consumers
|
|
106
|
+
// subscribe here instead of proxy.js hardcoding a call into each of them.
|
|
107
|
+
const configUpdateChannel = channel('datadog:config:update')
|
|
108
|
+
|
|
106
109
|
// An entry that is undefined means it is the default value.
|
|
107
110
|
/** @type {Map<ConfigPath, TelemetrySource>} */
|
|
108
111
|
const trackedConfigOrigins = new Map()
|
|
@@ -263,7 +266,7 @@ class Config extends ConfigBase {
|
|
|
263
266
|
|
|
264
267
|
/**
|
|
265
268
|
* @param {import('./helper').TracerEnv} envs
|
|
266
|
-
* @param {'env_var' | 'local_stable_config' | 'fleet_stable_config'} source
|
|
269
|
+
* @param {'env_var' | 'local_stable_config' | 'fleet_stable_config' | 'remote_config'} source
|
|
267
270
|
*/
|
|
268
271
|
#applyEnvs (envs, source) {
|
|
269
272
|
for (const [name, value] of Object.entries(envs)) {
|
|
@@ -277,7 +280,7 @@ class Config extends ConfigBase {
|
|
|
277
280
|
|
|
278
281
|
/**
|
|
279
282
|
* @param {TracerOptions} options
|
|
280
|
-
* @param {'code'
|
|
283
|
+
* @param {'code'} source
|
|
281
284
|
* @param {string} [root]
|
|
282
285
|
*/
|
|
283
286
|
#applyOptions (options, source, root = '') {
|
|
@@ -285,13 +288,8 @@ class Config extends ConfigBase {
|
|
|
285
288
|
const fullName = root ? `${root}.${name}` : name
|
|
286
289
|
let entry = optionsTable[fullName]
|
|
287
290
|
if (!entry) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
log.warn('Unknown option %s with value %o', fullName, value)
|
|
291
|
-
continue
|
|
292
|
-
}
|
|
293
|
-
// @ts-expect-error - The entry is defined in the configurationsTable.
|
|
294
|
-
entry = configurationsTable.DD_TRACE_ENABLED
|
|
291
|
+
log.warn('Unknown option %s with value %o', fullName, value)
|
|
292
|
+
continue
|
|
295
293
|
}
|
|
296
294
|
|
|
297
295
|
if (entry.nestedProperties) {
|
|
@@ -337,24 +335,26 @@ class Config extends ConfigBase {
|
|
|
337
335
|
}
|
|
338
336
|
|
|
339
337
|
/**
|
|
340
|
-
* Set the configuration with remote config settings.
|
|
341
|
-
*
|
|
338
|
+
* Set the configuration with SDK_CONFIGURATION remote config settings.
|
|
339
|
+
* Resolves env-var names via `configurationsTable`, since this payload is keyed by env var name.
|
|
342
340
|
*
|
|
343
|
-
* @param {
|
|
344
|
-
*
|
|
341
|
+
* @param {Partial<Record<import('./helper').SupportedEnvKey, string>>|null} options - Env-var-keyed
|
|
342
|
+
* configs received via the SDK_CONFIGURATION remote config product, or null to reset all remote configuration
|
|
345
343
|
*/
|
|
346
344
|
setRemoteConfig (options) {
|
|
347
|
-
//
|
|
348
|
-
//
|
|
345
|
+
// Replace the complete RC layer so omitted fields fall back to their previous source.
|
|
346
|
+
// TODO: Remove this reset once forward-fixing configurations explicitly unapply removed values.
|
|
349
347
|
undo(this, 'remote_config')
|
|
350
348
|
|
|
351
349
|
// Special case: if options is null, nothing to apply
|
|
352
350
|
// This happens when all remote configs are removed
|
|
353
351
|
if (options !== null) {
|
|
354
|
-
this
|
|
352
|
+
// Resolve aliases and drop configs this tracer version doesn't recognize
|
|
353
|
+
this.#applyEnvs(getEnvironmentVariables(options, true), 'remote_config')
|
|
355
354
|
}
|
|
356
355
|
|
|
357
356
|
this.#applyCalculated()
|
|
357
|
+
configUpdateChannel.publish(this)
|
|
358
358
|
}
|
|
359
359
|
|
|
360
360
|
/**
|
|
@@ -439,7 +439,7 @@ class Config extends ConfigBase {
|
|
|
439
439
|
// Enable resource renaming when appsec is enabled and only
|
|
440
440
|
// if DD_TRACE_RESOURCE_RENAMING_ENABLED is not explicitly set
|
|
441
441
|
if (!trackedConfigOrigins.has('DD_TRACE_RESOURCE_RENAMING_ENABLED')) {
|
|
442
|
-
setAndTrack(this, 'DD_TRACE_RESOURCE_RENAMING_ENABLED', this.appsec.
|
|
442
|
+
setAndTrack(this, 'DD_TRACE_RESOURCE_RENAMING_ENABLED', this.appsec.DD_APPSEC_ENABLED ?? false)
|
|
443
443
|
}
|
|
444
444
|
|
|
445
445
|
if (!trackedConfigOrigins.has('spanComputePeerService') && this.spanAttributeSchema !== 'v0') {
|
|
@@ -475,8 +475,8 @@ class Config extends ConfigBase {
|
|
|
475
475
|
}
|
|
476
476
|
|
|
477
477
|
if (!trackedConfigOrigins.has('apmTracingEnabled') &&
|
|
478
|
-
trackedConfigOrigins.has('
|
|
479
|
-
setAndTrack(this, 'apmTracingEnabled', !this.
|
|
478
|
+
trackedConfigOrigins.has('appsec.DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED')) {
|
|
479
|
+
setAndTrack(this, 'apmTracingEnabled', !this.appsec.DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED)
|
|
480
480
|
}
|
|
481
481
|
|
|
482
482
|
if (this.cloudPayloadTagging?.request || this.cloudPayloadTagging?.response) {
|
|
@@ -530,9 +530,9 @@ class Config extends ConfigBase {
|
|
|
530
530
|
// For LLMObs, we want to auto enable it when other llmobs options are defined.
|
|
531
531
|
if (!this.llmobs.DD_LLMOBS_ENABLED &&
|
|
532
532
|
!trackedConfigOrigins.has('llmobs.DD_LLMOBS_ENABLED') &&
|
|
533
|
-
(trackedConfigOrigins.has('llmobs.
|
|
534
|
-
trackedConfigOrigins.has('llmobs.
|
|
535
|
-
trackedConfigOrigins.has('llmobs.
|
|
533
|
+
(trackedConfigOrigins.has('llmobs.DD_LLMOBS_AGENTLESS_ENABLED') ||
|
|
534
|
+
trackedConfigOrigins.has('llmobs.DD_LLMOBS_ML_APP') ||
|
|
535
|
+
trackedConfigOrigins.has('llmobs.DD_LLMOBS_PROJECT_NAME'))) {
|
|
536
536
|
setAndTrack(this, 'llmobs.DD_LLMOBS_ENABLED', true)
|
|
537
537
|
}
|
|
538
538
|
|
|
@@ -648,7 +648,7 @@ class Config extends ConfigBase {
|
|
|
648
648
|
setAndTrack(this, 'DD_AGENTLESS_LOG_SUBMISSION_ENABLED', true)
|
|
649
649
|
}
|
|
650
650
|
setAndTrack(this, 'testOptimization.DD_CIVISIBILITY_AGENTLESS_ENABLED', true)
|
|
651
|
-
setAndTrack(this, 'llmobs.
|
|
651
|
+
setAndTrack(this, 'llmobs.DD_LLMOBS_AGENTLESS_ENABLED', true)
|
|
652
652
|
setAndTrack(this, 'featureFlags.DD_FEATURE_FLAGS_CONFIGURATION_SOURCE', 'agentless')
|
|
653
653
|
if (this.DD_API_KEY === undefined) {
|
|
654
654
|
setAndTrack(this, 'dynamicInstrumentation.enabled', false)
|
|
@@ -121,6 +121,23 @@ const transformers = {
|
|
|
121
121
|
}
|
|
122
122
|
return configValue
|
|
123
123
|
},
|
|
124
|
+
/**
|
|
125
|
+
* @param {string} value
|
|
126
|
+
* @param {string} optionName
|
|
127
|
+
* @param {string} source
|
|
128
|
+
* @returns {number | 'auto' | undefined}
|
|
129
|
+
*/
|
|
130
|
+
normalizeProfilingHeapLimitExtensionSize (value, optionName, source) {
|
|
131
|
+
if (value.toLowerCase() === 'auto') {
|
|
132
|
+
return 'auto'
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const parsed = parsers.INT(value)
|
|
136
|
+
if (parsed === undefined) {
|
|
137
|
+
warnInvalidValue(value, optionName, source, 'Heap limit extension size must be an integer or "auto"')
|
|
138
|
+
}
|
|
139
|
+
return parsed
|
|
140
|
+
},
|
|
124
141
|
/**
|
|
125
142
|
* Parses DD_PROFILING_DEBUG_UPLOAD_COMPRESSION ('on' | 'off' | 'gzip[-1..9]' | 'zstd[-1..22]')
|
|
126
143
|
* into the codec and level the profiler uploads with. The value's shape is already range-checked
|
|
@@ -199,6 +216,17 @@ const transformers = {
|
|
|
199
216
|
return new URL(value)
|
|
200
217
|
} catch {}
|
|
201
218
|
},
|
|
219
|
+
/**
|
|
220
|
+
* @param {string} value
|
|
221
|
+
* @param {string} optionName
|
|
222
|
+
* @param {string} source
|
|
223
|
+
* @returns {string | undefined}
|
|
224
|
+
*/
|
|
225
|
+
validateHttpUrl (value, optionName, source) {
|
|
226
|
+
const url = transformers.toURL(value)
|
|
227
|
+
if (url?.protocol === 'http:' || url?.protocol === 'https:') return value
|
|
228
|
+
warnInvalidValue(value, optionName, source, 'Invalid HTTP URL')
|
|
229
|
+
},
|
|
202
230
|
validatePropagationStyles (value, optionName) {
|
|
203
231
|
value = transformers.toLowerCase(value)
|
|
204
232
|
for (let index = 0; index < value.length; index++) {
|
|
@@ -261,28 +289,28 @@ const parsers = {
|
|
|
261
289
|
}
|
|
262
290
|
return parsed
|
|
263
291
|
},
|
|
264
|
-
ARRAY (raw) {
|
|
292
|
+
ARRAY (raw, optionName) {
|
|
265
293
|
// TODO: Make the parsing a helper that is reused everywhere.
|
|
266
294
|
const result = []
|
|
267
295
|
if (!raw) {
|
|
268
296
|
return result
|
|
269
297
|
}
|
|
298
|
+
// Dynamic ATR buckets are positional; retain empty slots for downstream validation.
|
|
299
|
+
const preserveEmptyEntries = optionName === 'DD_CIVISIBILITY_DYNAMIC_ATR_BUCKETS'
|
|
270
300
|
let valueStart = 0
|
|
271
301
|
for (let i = 0; i < raw.length; i++) {
|
|
272
302
|
const char = raw[i]
|
|
273
303
|
if (char === ',') {
|
|
274
304
|
const value = raw.slice(valueStart, i).trim()
|
|
275
|
-
|
|
276
|
-
if (value.length > 0) {
|
|
305
|
+
if (value.length > 0 || preserveEmptyEntries) {
|
|
277
306
|
result.push(value)
|
|
278
307
|
}
|
|
279
308
|
valueStart = i + 1
|
|
280
309
|
}
|
|
281
310
|
}
|
|
282
|
-
if (valueStart < raw.length) {
|
|
311
|
+
if (valueStart < raw.length || preserveEmptyEntries) {
|
|
283
312
|
const value = raw.slice(valueStart).trim()
|
|
284
|
-
|
|
285
|
-
if (value.length > 0) {
|
|
313
|
+
if (value.length > 0 || preserveEmptyEntries) {
|
|
286
314
|
result.push(value)
|
|
287
315
|
}
|
|
288
316
|
}
|