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
|
@@ -57,14 +57,16 @@
|
|
|
57
57
|
{
|
|
58
58
|
"implementation": "A",
|
|
59
59
|
"type": "boolean",
|
|
60
|
+
"namespace": "aiguard",
|
|
60
61
|
"default": "false",
|
|
61
|
-
"description": "
|
|
62
|
+
"description": "Analyze streamed OpenAI and Vercel AI responses with AI Guard After Model evaluation."
|
|
62
63
|
}
|
|
63
64
|
],
|
|
64
65
|
"DD_AI_GUARD_BLOCK": [
|
|
65
66
|
{
|
|
66
67
|
"implementation": "C",
|
|
67
68
|
"type": "boolean",
|
|
69
|
+
"namespace": "aiguard",
|
|
68
70
|
"configurationNames": [
|
|
69
71
|
"experimental.aiguard.block"
|
|
70
72
|
],
|
|
@@ -75,6 +77,7 @@
|
|
|
75
77
|
{
|
|
76
78
|
"implementation": "A",
|
|
77
79
|
"type": "boolean",
|
|
80
|
+
"namespace": "aiguard",
|
|
78
81
|
"configurationNames": [
|
|
79
82
|
"experimental.aiguard.enabled"
|
|
80
83
|
],
|
|
@@ -85,6 +88,7 @@
|
|
|
85
88
|
{
|
|
86
89
|
"implementation": "A",
|
|
87
90
|
"type": "string",
|
|
91
|
+
"namespace": "aiguard",
|
|
88
92
|
"configurationNames": [
|
|
89
93
|
"experimental.aiguard.endpoint"
|
|
90
94
|
],
|
|
@@ -95,6 +99,7 @@
|
|
|
95
99
|
{
|
|
96
100
|
"implementation": "A",
|
|
97
101
|
"type": "int",
|
|
102
|
+
"namespace": "aiguard",
|
|
98
103
|
"configurationNames": [
|
|
99
104
|
"experimental.aiguard.maxContentSize"
|
|
100
105
|
],
|
|
@@ -105,6 +110,7 @@
|
|
|
105
110
|
{
|
|
106
111
|
"implementation": "A",
|
|
107
112
|
"type": "int",
|
|
113
|
+
"namespace": "aiguard",
|
|
108
114
|
"configurationNames": [
|
|
109
115
|
"experimental.aiguard.maxMessagesLength"
|
|
110
116
|
],
|
|
@@ -115,6 +121,7 @@
|
|
|
115
121
|
{
|
|
116
122
|
"implementation": "A",
|
|
117
123
|
"type": "boolean",
|
|
124
|
+
"namespace": "aiguard",
|
|
118
125
|
"configurationNames": [
|
|
119
126
|
"experimental.aiguard.redactionEnabled"
|
|
120
127
|
],
|
|
@@ -125,6 +132,7 @@
|
|
|
125
132
|
{
|
|
126
133
|
"implementation": "A",
|
|
127
134
|
"type": "int",
|
|
135
|
+
"namespace": "aiguard",
|
|
128
136
|
"configurationNames": [
|
|
129
137
|
"experimental.aiguard.timeout"
|
|
130
138
|
],
|
|
@@ -247,6 +255,7 @@
|
|
|
247
255
|
{
|
|
248
256
|
"implementation": "E",
|
|
249
257
|
"type": "string",
|
|
258
|
+
"namespace": "appsec",
|
|
250
259
|
"configurationNames": [
|
|
251
260
|
"appsec.eventTracking.mode",
|
|
252
261
|
"experimental.appsec.eventTracking.mode"
|
|
@@ -261,6 +270,7 @@
|
|
|
261
270
|
{
|
|
262
271
|
"implementation": "A",
|
|
263
272
|
"type": "boolean",
|
|
273
|
+
"namespace": "appsec",
|
|
264
274
|
"configurationNames": [
|
|
265
275
|
"appsec.extendedHeadersCollection.enabled",
|
|
266
276
|
"experimental.appsec.extendedHeadersCollection.enabled"
|
|
@@ -273,6 +283,7 @@
|
|
|
273
283
|
{
|
|
274
284
|
"implementation": "C",
|
|
275
285
|
"type": "boolean",
|
|
286
|
+
"namespace": "appsec",
|
|
276
287
|
"configurationNames": [
|
|
277
288
|
"appsec.enabled",
|
|
278
289
|
"appsec",
|
|
@@ -286,6 +297,7 @@
|
|
|
286
297
|
{
|
|
287
298
|
"implementation": "A",
|
|
288
299
|
"type": "string",
|
|
300
|
+
"namespace": "appsec",
|
|
289
301
|
"configurationNames": [
|
|
290
302
|
"appsec.blockedTemplateGraphql",
|
|
291
303
|
"experimental.appsec.blockedTemplateGraphql"
|
|
@@ -298,6 +310,7 @@
|
|
|
298
310
|
{
|
|
299
311
|
"implementation": "A",
|
|
300
312
|
"type": "boolean",
|
|
313
|
+
"namespace": "appsec",
|
|
301
314
|
"configurationNames": [
|
|
302
315
|
"appsec.extendedHeadersCollection.redaction",
|
|
303
316
|
"experimental.appsec.extendedHeadersCollection.redaction"
|
|
@@ -310,6 +323,7 @@
|
|
|
310
323
|
{
|
|
311
324
|
"implementation": "B",
|
|
312
325
|
"type": "string",
|
|
326
|
+
"namespace": "appsec",
|
|
313
327
|
"configurationNames": [
|
|
314
328
|
"appsec.blockedTemplateHtml",
|
|
315
329
|
"experimental.appsec.blockedTemplateHtml"
|
|
@@ -322,6 +336,7 @@
|
|
|
322
336
|
{
|
|
323
337
|
"implementation": "B",
|
|
324
338
|
"type": "string",
|
|
339
|
+
"namespace": "appsec",
|
|
325
340
|
"configurationNames": [
|
|
326
341
|
"appsec.blockedTemplateJson",
|
|
327
342
|
"experimental.appsec.blockedTemplateJson"
|
|
@@ -334,6 +349,7 @@
|
|
|
334
349
|
{
|
|
335
350
|
"implementation": "A",
|
|
336
351
|
"type": "int",
|
|
352
|
+
"namespace": "appsec",
|
|
337
353
|
"configurationNames": [
|
|
338
354
|
"appsec.extendedHeadersCollection.maxHeaders",
|
|
339
355
|
"experimental.appsec.extendedHeadersCollection.maxHeaders"
|
|
@@ -346,6 +362,7 @@
|
|
|
346
362
|
{
|
|
347
363
|
"implementation": "A",
|
|
348
364
|
"type": "int",
|
|
365
|
+
"namespace": "appsec",
|
|
349
366
|
"configurationNames": [
|
|
350
367
|
"appsec.stackTrace.maxStackTraces",
|
|
351
368
|
"experimental.appsec.stackTrace.maxStackTraces"
|
|
@@ -360,6 +377,7 @@
|
|
|
360
377
|
{
|
|
361
378
|
"implementation": "A",
|
|
362
379
|
"type": "int",
|
|
380
|
+
"namespace": "appsec",
|
|
363
381
|
"configurationNames": [
|
|
364
382
|
"appsec.stackTrace.maxDepth",
|
|
365
383
|
"experimental.appsec.stackTrace.maxDepth"
|
|
@@ -374,6 +392,7 @@
|
|
|
374
392
|
{
|
|
375
393
|
"implementation": "B",
|
|
376
394
|
"type": "string",
|
|
395
|
+
"namespace": "appsec",
|
|
377
396
|
"configurationNames": [
|
|
378
397
|
"appsec.obfuscatorKeyRegex",
|
|
379
398
|
"experimental.appsec.obfuscatorKeyRegex"
|
|
@@ -385,6 +404,7 @@
|
|
|
385
404
|
{
|
|
386
405
|
"implementation": "G",
|
|
387
406
|
"type": "string",
|
|
407
|
+
"namespace": "appsec",
|
|
388
408
|
"configurationNames": [
|
|
389
409
|
"appsec.obfuscatorValueRegex",
|
|
390
410
|
"experimental.appsec.obfuscatorValueRegex"
|
|
@@ -396,6 +416,7 @@
|
|
|
396
416
|
{
|
|
397
417
|
"implementation": "A",
|
|
398
418
|
"type": "boolean",
|
|
419
|
+
"namespace": "appsec",
|
|
399
420
|
"configurationNames": [
|
|
400
421
|
"appsec.rasp.bodyCollection",
|
|
401
422
|
"experimental.appsec.rasp.bodyCollection"
|
|
@@ -408,6 +429,7 @@
|
|
|
408
429
|
{
|
|
409
430
|
"implementation": "A",
|
|
410
431
|
"type": "boolean",
|
|
432
|
+
"namespace": "appsec",
|
|
411
433
|
"configurationNames": [
|
|
412
434
|
"appsec.rasp.enabled",
|
|
413
435
|
"experimental.appsec.rasp.enabled"
|
|
@@ -419,6 +441,7 @@
|
|
|
419
441
|
{
|
|
420
442
|
"implementation": "B",
|
|
421
443
|
"type": "string",
|
|
444
|
+
"namespace": "appsec",
|
|
422
445
|
"configurationNames": [
|
|
423
446
|
"appsec.rules",
|
|
424
447
|
"experimental.appsec.rules"
|
|
@@ -438,6 +461,7 @@
|
|
|
438
461
|
{
|
|
439
462
|
"implementation": "A",
|
|
440
463
|
"type": "boolean",
|
|
464
|
+
"namespace": "appsec",
|
|
441
465
|
"configurationNames": [
|
|
442
466
|
"appsec.stackTrace.enabled",
|
|
443
467
|
"experimental.appsec.stackTrace.enabled"
|
|
@@ -449,6 +473,7 @@
|
|
|
449
473
|
{
|
|
450
474
|
"implementation": "A",
|
|
451
475
|
"type": "int",
|
|
476
|
+
"namespace": "appsec",
|
|
452
477
|
"configurationNames": [
|
|
453
478
|
"appsec.rateLimit",
|
|
454
479
|
"experimental.appsec.rateLimit"
|
|
@@ -460,6 +485,7 @@
|
|
|
460
485
|
{
|
|
461
486
|
"implementation": "E",
|
|
462
487
|
"type": "int",
|
|
488
|
+
"namespace": "appsec",
|
|
463
489
|
"configurationNames": [
|
|
464
490
|
"appsec.wafTimeout",
|
|
465
491
|
"experimental.appsec.wafTimeout"
|
|
@@ -531,6 +557,22 @@
|
|
|
531
557
|
"namespace": "testOptimization"
|
|
532
558
|
}
|
|
533
559
|
],
|
|
560
|
+
"DD_CIVISIBILITY_DYNAMIC_ATR_BUCKETS": [
|
|
561
|
+
{
|
|
562
|
+
"implementation": "A",
|
|
563
|
+
"type": "array",
|
|
564
|
+
"default": null,
|
|
565
|
+
"namespace": "testOptimization"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"DD_CIVISIBILITY_DYNAMIC_ATR_ENABLED": [
|
|
569
|
+
{
|
|
570
|
+
"implementation": "A",
|
|
571
|
+
"type": "boolean",
|
|
572
|
+
"default": "false",
|
|
573
|
+
"namespace": "testOptimization"
|
|
574
|
+
}
|
|
575
|
+
],
|
|
534
576
|
"DD_CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED": [
|
|
535
577
|
{
|
|
536
578
|
"implementation": "B",
|
|
@@ -837,6 +879,7 @@
|
|
|
837
879
|
{
|
|
838
880
|
"implementation": "B",
|
|
839
881
|
"type": "boolean",
|
|
882
|
+
"namespace": "appsec",
|
|
840
883
|
"default": "false",
|
|
841
884
|
"configurationNames": [
|
|
842
885
|
"experimental.appsec.standalone.enabled"
|
|
@@ -1123,6 +1166,7 @@
|
|
|
1123
1166
|
{
|
|
1124
1167
|
"implementation": "A",
|
|
1125
1168
|
"type": "int",
|
|
1169
|
+
"namespace": "iast",
|
|
1126
1170
|
"configurationNames": [
|
|
1127
1171
|
"iast.dbRowsToTaint",
|
|
1128
1172
|
"experimental.iast.dbRowsToTaint"
|
|
@@ -1134,6 +1178,7 @@
|
|
|
1134
1178
|
{
|
|
1135
1179
|
"implementation": "A",
|
|
1136
1180
|
"type": "boolean",
|
|
1181
|
+
"namespace": "iast",
|
|
1137
1182
|
"configurationNames": [
|
|
1138
1183
|
"iast.deduplicationEnabled",
|
|
1139
1184
|
"experimental.iast.deduplicationEnabled"
|
|
@@ -1145,6 +1190,7 @@
|
|
|
1145
1190
|
{
|
|
1146
1191
|
"implementation": "B",
|
|
1147
1192
|
"type": "boolean",
|
|
1193
|
+
"namespace": "iast",
|
|
1148
1194
|
"configurationNames": [
|
|
1149
1195
|
"iast.enabled",
|
|
1150
1196
|
"iast",
|
|
@@ -1158,6 +1204,7 @@
|
|
|
1158
1204
|
{
|
|
1159
1205
|
"implementation": "A",
|
|
1160
1206
|
"type": "int",
|
|
1207
|
+
"namespace": "iast",
|
|
1161
1208
|
"configurationNames": [
|
|
1162
1209
|
"iast.maxConcurrentRequests",
|
|
1163
1210
|
"experimental.iast.maxConcurrentRequests"
|
|
@@ -1169,6 +1216,7 @@
|
|
|
1169
1216
|
{
|
|
1170
1217
|
"implementation": "A",
|
|
1171
1218
|
"type": "int",
|
|
1219
|
+
"namespace": "iast",
|
|
1172
1220
|
"configurationNames": [
|
|
1173
1221
|
"iast.maxContextOperations",
|
|
1174
1222
|
"experimental.iast.maxContextOperations"
|
|
@@ -1180,6 +1228,7 @@
|
|
|
1180
1228
|
{
|
|
1181
1229
|
"implementation": "A",
|
|
1182
1230
|
"type": "boolean",
|
|
1231
|
+
"namespace": "iast",
|
|
1183
1232
|
"configurationNames": [
|
|
1184
1233
|
"iast.redactionEnabled",
|
|
1185
1234
|
"experimental.iast.redactionEnabled"
|
|
@@ -1191,6 +1240,7 @@
|
|
|
1191
1240
|
{
|
|
1192
1241
|
"implementation": "A",
|
|
1193
1242
|
"type": "string",
|
|
1243
|
+
"namespace": "iast",
|
|
1194
1244
|
"configurationNames": [
|
|
1195
1245
|
"iast.redactionNamePattern",
|
|
1196
1246
|
"experimental.iast.redactionNamePattern"
|
|
@@ -1202,6 +1252,7 @@
|
|
|
1202
1252
|
{
|
|
1203
1253
|
"implementation": "A",
|
|
1204
1254
|
"type": "string",
|
|
1255
|
+
"namespace": "iast",
|
|
1205
1256
|
"configurationNames": [
|
|
1206
1257
|
"iast.redactionValuePattern",
|
|
1207
1258
|
"experimental.iast.redactionValuePattern"
|
|
@@ -1213,6 +1264,7 @@
|
|
|
1213
1264
|
{
|
|
1214
1265
|
"implementation": "A",
|
|
1215
1266
|
"type": "int",
|
|
1267
|
+
"namespace": "iast",
|
|
1216
1268
|
"configurationNames": [
|
|
1217
1269
|
"iast.requestSampling",
|
|
1218
1270
|
"experimental.iast.requestSampling"
|
|
@@ -1234,6 +1286,7 @@
|
|
|
1234
1286
|
{
|
|
1235
1287
|
"implementation": "B",
|
|
1236
1288
|
"type": "boolean",
|
|
1289
|
+
"namespace": "iast",
|
|
1237
1290
|
"configurationNames": [
|
|
1238
1291
|
"iast.stackTrace.enabled",
|
|
1239
1292
|
"experimental.iast.stackTrace.enabled"
|
|
@@ -1245,6 +1298,7 @@
|
|
|
1245
1298
|
{
|
|
1246
1299
|
"implementation": "B",
|
|
1247
1300
|
"type": "string",
|
|
1301
|
+
"namespace": "iast",
|
|
1248
1302
|
"configurationNames": [
|
|
1249
1303
|
"iast.telemetryVerbosity",
|
|
1250
1304
|
"experimental.iast.telemetryVerbosity"
|
|
@@ -1349,7 +1403,8 @@
|
|
|
1349
1403
|
"configurationNames": [
|
|
1350
1404
|
"llmobs.agentlessEnabled"
|
|
1351
1405
|
],
|
|
1352
|
-
"default": null
|
|
1406
|
+
"default": null,
|
|
1407
|
+
"namespace": "llmobs"
|
|
1353
1408
|
}
|
|
1354
1409
|
],
|
|
1355
1410
|
"DD_LLMOBS_ENABLED": [
|
|
@@ -1367,7 +1422,8 @@
|
|
|
1367
1422
|
"configurationNames": [
|
|
1368
1423
|
"llmobs.mlApp"
|
|
1369
1424
|
],
|
|
1370
|
-
"default": null
|
|
1425
|
+
"default": null,
|
|
1426
|
+
"namespace": "llmobs"
|
|
1371
1427
|
}
|
|
1372
1428
|
],
|
|
1373
1429
|
"DD_LLMOBS_PROJECT_NAME": [
|
|
@@ -1377,9 +1433,45 @@
|
|
|
1377
1433
|
"configurationNames": [
|
|
1378
1434
|
"llmobs.projectName"
|
|
1379
1435
|
],
|
|
1436
|
+
"default": null,
|
|
1437
|
+
"namespace": "llmobs"
|
|
1438
|
+
}
|
|
1439
|
+
],
|
|
1440
|
+
"DD_LLMOBS_PROMPTS_CACHE_DIR": [
|
|
1441
|
+
{
|
|
1442
|
+
"implementation": "A",
|
|
1443
|
+
"type": "string",
|
|
1380
1444
|
"default": null
|
|
1381
1445
|
}
|
|
1382
1446
|
],
|
|
1447
|
+
"DD_LLMOBS_PROMPTS_CACHE_TTL": [
|
|
1448
|
+
{
|
|
1449
|
+
"implementation": "B",
|
|
1450
|
+
"type": "decimal",
|
|
1451
|
+
"default": "60",
|
|
1452
|
+
"aliases": [
|
|
1453
|
+
"DD_LLMOBS_PROMPTS_CACHE_TTL_SECONDS"
|
|
1454
|
+
]
|
|
1455
|
+
}
|
|
1456
|
+
],
|
|
1457
|
+
"DD_LLMOBS_PROMPTS_FILE_CACHE_ENABLED": [
|
|
1458
|
+
{
|
|
1459
|
+
"implementation": "A",
|
|
1460
|
+
"type": "boolean",
|
|
1461
|
+
"default": "false"
|
|
1462
|
+
}
|
|
1463
|
+
],
|
|
1464
|
+
"DD_LLMOBS_PROMPTS_TIMEOUT": [
|
|
1465
|
+
{
|
|
1466
|
+
"implementation": "B",
|
|
1467
|
+
"type": "decimal",
|
|
1468
|
+
"default": "5.0",
|
|
1469
|
+
"allowed": "\\d+(\\.\\d+)?",
|
|
1470
|
+
"aliases": [
|
|
1471
|
+
"DD_LLMOBS_PROMPTS_TIMEOUT_SECONDS"
|
|
1472
|
+
]
|
|
1473
|
+
}
|
|
1474
|
+
],
|
|
1383
1475
|
"DD_LLMOBS_SAMPLE_RATE": [
|
|
1384
1476
|
{
|
|
1385
1477
|
"implementation": "A",
|
|
@@ -1387,7 +1479,8 @@
|
|
|
1387
1479
|
"configurationNames": [
|
|
1388
1480
|
"llmobs.sampleRate"
|
|
1389
1481
|
],
|
|
1390
|
-
"default": "1.0"
|
|
1482
|
+
"default": "1.0",
|
|
1483
|
+
"namespace": "llmobs"
|
|
1391
1484
|
}
|
|
1392
1485
|
],
|
|
1393
1486
|
"DD_LOGS_INJECTION": [
|
|
@@ -1454,12 +1547,21 @@
|
|
|
1454
1547
|
{
|
|
1455
1548
|
"implementation": "A",
|
|
1456
1549
|
"type": "boolean",
|
|
1550
|
+
"namespace": "openai",
|
|
1457
1551
|
"default": "false",
|
|
1458
1552
|
"configurationNames": [
|
|
1459
1553
|
"openAiLogsEnabled"
|
|
1460
1554
|
]
|
|
1461
1555
|
}
|
|
1462
1556
|
],
|
|
1557
|
+
"DD_OPENAI_REALTIME_ENABLED": [
|
|
1558
|
+
{
|
|
1559
|
+
"implementation": "A",
|
|
1560
|
+
"type": "boolean",
|
|
1561
|
+
"default": "true",
|
|
1562
|
+
"namespace": "openai"
|
|
1563
|
+
}
|
|
1564
|
+
],
|
|
1463
1565
|
"DD_OPENAI_SPAN_CHAR_LIMIT": [
|
|
1464
1566
|
{
|
|
1465
1567
|
"implementation": "A",
|
|
@@ -1484,9 +1586,9 @@
|
|
|
1484
1586
|
],
|
|
1485
1587
|
"DD_PROFILING_ALLOCATION_ENABLED": [
|
|
1486
1588
|
{
|
|
1487
|
-
"implementation": "
|
|
1589
|
+
"implementation": "B",
|
|
1488
1590
|
"type": "boolean",
|
|
1489
|
-
"default": "
|
|
1591
|
+
"default": "true"
|
|
1490
1592
|
}
|
|
1491
1593
|
],
|
|
1492
1594
|
"DD_PROFILING_ASYNC_CONTEXT_FRAME_ENABLED": [
|
|
@@ -1601,9 +1703,10 @@
|
|
|
1601
1703
|
],
|
|
1602
1704
|
"DD_PROFILING_EXPERIMENTAL_OOM_HEAP_LIMIT_EXTENSION_SIZE": [
|
|
1603
1705
|
{
|
|
1604
|
-
"implementation": "
|
|
1605
|
-
"type": "
|
|
1606
|
-
"
|
|
1706
|
+
"implementation": "B",
|
|
1707
|
+
"type": "string",
|
|
1708
|
+
"transform": "normalizeProfilingHeapLimitExtensionSize",
|
|
1709
|
+
"default": "auto"
|
|
1607
1710
|
}
|
|
1608
1711
|
],
|
|
1609
1712
|
"DD_PROFILING_EXPERIMENTAL_OOM_MAX_HEAP_EXTENSION_COUNT": [
|
|
@@ -1843,6 +1946,7 @@
|
|
|
1843
1946
|
"implementation": "C",
|
|
1844
1947
|
"type": "string",
|
|
1845
1948
|
"default": "datadoghq.com",
|
|
1949
|
+
"transform": "toLowerCase",
|
|
1846
1950
|
"configurationNames": [
|
|
1847
1951
|
"site"
|
|
1848
1952
|
]
|
|
@@ -3701,6 +3805,13 @@
|
|
|
3701
3805
|
"default": "true"
|
|
3702
3806
|
}
|
|
3703
3807
|
],
|
|
3808
|
+
"DD_TRACE_POSTGRES_ENABLED": [
|
|
3809
|
+
{
|
|
3810
|
+
"implementation": "A",
|
|
3811
|
+
"type": "boolean",
|
|
3812
|
+
"default": "true"
|
|
3813
|
+
}
|
|
3814
|
+
],
|
|
3704
3815
|
"DD_TRACE_PRISMA_ENABLED": [
|
|
3705
3816
|
{
|
|
3706
3817
|
"implementation": "A",
|
|
@@ -4018,6 +4129,13 @@
|
|
|
4018
4129
|
"default": "true"
|
|
4019
4130
|
}
|
|
4020
4131
|
],
|
|
4132
|
+
"DD_TRACE_SUPABASE_ENABLED": [
|
|
4133
|
+
{
|
|
4134
|
+
"implementation": "A",
|
|
4135
|
+
"type": "boolean",
|
|
4136
|
+
"default": "true"
|
|
4137
|
+
}
|
|
4138
|
+
],
|
|
4021
4139
|
"DD_TRACE_TAGS": [
|
|
4022
4140
|
{
|
|
4023
4141
|
"implementation": "B",
|
|
@@ -4196,6 +4314,7 @@
|
|
|
4196
4314
|
{
|
|
4197
4315
|
"implementation": "A",
|
|
4198
4316
|
"type": "string",
|
|
4317
|
+
"transform": "validateHttpUrl",
|
|
4199
4318
|
"default": null
|
|
4200
4319
|
}
|
|
4201
4320
|
],
|
|
@@ -4211,6 +4330,7 @@
|
|
|
4211
4330
|
{
|
|
4212
4331
|
"implementation": "A",
|
|
4213
4332
|
"type": "string",
|
|
4333
|
+
"transform": "validateHttpUrl",
|
|
4214
4334
|
"default": null
|
|
4215
4335
|
}
|
|
4216
4336
|
],
|
|
@@ -4231,6 +4351,7 @@
|
|
|
4231
4351
|
"type": "string",
|
|
4232
4352
|
"default": "http/json",
|
|
4233
4353
|
"allowed": "http/json",
|
|
4354
|
+
"transform": "toLowerCase",
|
|
4234
4355
|
"aliases": [
|
|
4235
4356
|
"OTEL_EXPORTER_OTLP_PROTOCOL"
|
|
4236
4357
|
]
|
|
@@ -4250,6 +4371,7 @@
|
|
|
4250
4371
|
{
|
|
4251
4372
|
"implementation": "A",
|
|
4252
4373
|
"type": "string",
|
|
4374
|
+
"transform": "validateHttpUrl",
|
|
4253
4375
|
"default": null
|
|
4254
4376
|
}
|
|
4255
4377
|
],
|
|
@@ -4269,6 +4391,8 @@
|
|
|
4269
4391
|
"implementation": "D",
|
|
4270
4392
|
"type": "string",
|
|
4271
4393
|
"default": "http/protobuf",
|
|
4394
|
+
"allowed": "grpc|http/json|http/protobuf",
|
|
4395
|
+
"transform": "toLowerCase",
|
|
4272
4396
|
"aliases": [
|
|
4273
4397
|
"OTEL_EXPORTER_OTLP_PROTOCOL"
|
|
4274
4398
|
]
|
|
@@ -4289,6 +4413,7 @@
|
|
|
4289
4413
|
{
|
|
4290
4414
|
"implementation": "A",
|
|
4291
4415
|
"type": "string",
|
|
4416
|
+
"transform": "validateHttpUrl",
|
|
4292
4417
|
"default": null
|
|
4293
4418
|
}
|
|
4294
4419
|
],
|
|
@@ -4308,6 +4433,8 @@
|
|
|
4308
4433
|
"implementation": "B",
|
|
4309
4434
|
"type": "string",
|
|
4310
4435
|
"default": "http/protobuf",
|
|
4436
|
+
"allowed": "grpc|http/json|http/protobuf",
|
|
4437
|
+
"transform": "toLowerCase",
|
|
4311
4438
|
"aliases": [
|
|
4312
4439
|
"OTEL_EXPORTER_OTLP_PROTOCOL"
|
|
4313
4440
|
]
|
|
@@ -4337,7 +4464,9 @@
|
|
|
4337
4464
|
{
|
|
4338
4465
|
"implementation": "A",
|
|
4339
4466
|
"type": "string",
|
|
4340
|
-
"default": "http/protobuf"
|
|
4467
|
+
"default": "http/protobuf",
|
|
4468
|
+
"allowed": "grpc|http/json|http/protobuf",
|
|
4469
|
+
"transform": "toLowerCase"
|
|
4341
4470
|
}
|
|
4342
4471
|
],
|
|
4343
4472
|
"OTEL_EXPORTER_OTLP_TIMEOUT": [
|
|
@@ -86,7 +86,6 @@ function encodePathwayContext (dataStreamsContext) {
|
|
|
86
86
|
* @param {Buffer} dataStreamsContext.hash
|
|
87
87
|
* @param {number} dataStreamsContext.pathwayStartNs
|
|
88
88
|
* @param {number} dataStreamsContext.edgeStartNs
|
|
89
|
-
* @returns {string}
|
|
90
89
|
*/
|
|
91
90
|
function encodePathwayContextBase64 (dataStreamsContext) {
|
|
92
91
|
const encodedPathway = encodePathwayContext(dataStreamsContext)
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
+
DEFAULT_QUEUE_MAX_BYTES: 10 * 1024 * 1024,
|
|
5
|
+
DIAGNOSTICS_QUEUE_MAX_BYTES: 1024 * 1024,
|
|
6
|
+
MAX_MESSAGE_LENGTH: 8 * 1024,
|
|
7
|
+
|
|
4
8
|
DEBUGGER_INPUT_DIRECT: '/api/v2/debugger',
|
|
5
9
|
DEBUGGER_DIAGNOSTICS_V1: '/debugger/v1/diagnostics',
|
|
6
10
|
DEBUGGER_INPUT_V1: '/debugger/v1/input',
|
|
7
11
|
DEBUGGER_INPUT_V2: '/debugger/v2/input',
|
|
12
|
+
|
|
13
|
+
// Guardrail counters are aggregated in shared memory and only converted into telemetry metrics at this interval, so
|
|
14
|
+
// the interval bounds the delay before a guardrail hit becomes visible, not the cost of recording it. Tests wait on
|
|
15
|
+
// it, so it is shared rather than duplicated.
|
|
16
|
+
GUARDRAIL_METRICS_FLUSH_INTERVAL_MS: 10_000,
|
|
17
|
+
|
|
8
18
|
INSPECT_SEGMENT_GLOBAL_PROPERTY: 'debuggerInspectSegment',
|
|
9
19
|
}
|
|
@@ -57,6 +57,7 @@ module.exports = {
|
|
|
57
57
|
addBreakpoint: lock(addBreakpoint),
|
|
58
58
|
removeBreakpoint: lock(removeBreakpoint),
|
|
59
59
|
modifyBreakpoint: lock(modifyBreakpoint),
|
|
60
|
+
refreshBreakpoints: lock(refreshBreakpoints),
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
async function addBreakpoint (probe) {
|
|
@@ -241,23 +242,77 @@ async function modifyBreakpoint (probe) {
|
|
|
241
242
|
await addBreakpoint(probe)
|
|
242
243
|
}
|
|
243
244
|
|
|
245
|
+
/**
|
|
246
|
+
* Rebuild the breakpoint conditions at the locations of the given probes from the current state of the probes
|
|
247
|
+
* attached to them.
|
|
248
|
+
*
|
|
249
|
+
* A breakpoint condition bakes in whether each probe produces snapshots, which decides if a hit counts against the
|
|
250
|
+
* global snapshot rate limit and how a skipped hit is classified. That changes when the pause handler permanently
|
|
251
|
+
* disables capture for a probe after a fatal capture error, so the conditions have to be recompiled.
|
|
252
|
+
*
|
|
253
|
+
* Probes sharing a location share a breakpoint, so each location is only refreshed once. A probe that has been removed
|
|
254
|
+
* in the meantime is ignored: its location no longer needs the update.
|
|
255
|
+
*
|
|
256
|
+
* The locations are independent, so one that fails does not stop the others from being refreshed. Any failure is
|
|
257
|
+
* thrown once every location has been attempted.
|
|
258
|
+
*
|
|
259
|
+
* @param {{ id: string }[]} probes - Probes attached to the breakpoints to refresh.
|
|
260
|
+
* @returns {Promise<void>}
|
|
261
|
+
*/
|
|
262
|
+
async function refreshBreakpoints (probes) {
|
|
263
|
+
if (!sessionStarted) return
|
|
264
|
+
|
|
265
|
+
// Breakpoints set next to each other can snap to the same logical location and be hit at the same time, so the
|
|
266
|
+
// probes can be spread over more than one breakpoint.
|
|
267
|
+
const locationKeys = new Set()
|
|
268
|
+
for (const { id } of probes) {
|
|
269
|
+
const locationKey = probeToLocation.get(id)
|
|
270
|
+
if (locationKey !== undefined) locationKeys.add(locationKey)
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** @type {Error[] | undefined} */
|
|
274
|
+
let errors
|
|
275
|
+
for (const locationKey of locationKeys) {
|
|
276
|
+
try {
|
|
277
|
+
// eslint-disable-next-line no-await-in-loop
|
|
278
|
+
await updateBreakpointInternal(locationToBreakpoint.get(locationKey))
|
|
279
|
+
} catch (err) {
|
|
280
|
+
// Keep going: the remaining locations would otherwise hold on to the condition this refresh exists to replace
|
|
281
|
+
errors ??= []
|
|
282
|
+
errors.push(err)
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (errors !== undefined) {
|
|
287
|
+
throw errors.length === 1 ? errors[0] : new AggregateError(errors, 'Error refreshing breakpoints')
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Replace the breakpoint at a location with one whose condition matches the probes currently attached to it.
|
|
293
|
+
*
|
|
294
|
+
* @param {{ id: string, location: object, locationKey: string }} breakpoint - The breakpoint to replace.
|
|
295
|
+
* @param {object} [probe] - A probe to attach to the breakpoint first, when one is being added.
|
|
296
|
+
* @returns {Promise<void>}
|
|
297
|
+
*/
|
|
244
298
|
async function updateBreakpointInternal (breakpoint, probe) {
|
|
245
299
|
const probesAtLocation = breakpointToProbes.get(breakpoint.id)
|
|
246
300
|
|
|
247
|
-
// If a probe is provided, add it to the breakpoint. If not, it's because we're removing a probe
|
|
248
|
-
// breakpoint condition must be rebuilt to match the
|
|
301
|
+
// If a probe is provided, add it to the breakpoint. If not, it's because we're removing a probe or the probes at the
|
|
302
|
+
// location changed. In all cases the breakpoint condition must be rebuilt to match the probes at the location.
|
|
303
|
+
let context // identifies the update in the error messages below
|
|
249
304
|
if (probe) {
|
|
250
305
|
probesAtLocation.set(probe.id, probe)
|
|
251
306
|
probeToLocation.set(probe.id, breakpoint.locationKey)
|
|
307
|
+
context = `while adding probe ${probe.id} (version: ${probe.version})`
|
|
308
|
+
} else {
|
|
309
|
+
context = `at ${breakpoint.locationKey}`
|
|
252
310
|
}
|
|
253
311
|
|
|
254
312
|
try {
|
|
255
313
|
await session.post('Debugger.removeBreakpoint', { breakpointId: breakpoint.id })
|
|
256
314
|
} catch (err) {
|
|
257
|
-
|
|
258
|
-
? `Error replacing breakpoint while adding probe ${probe.id} (version: ${probe.version})`
|
|
259
|
-
: `Error replacing breakpoint after removing probe from ${breakpoint.locationKey}`
|
|
260
|
-
throw new Error(message, { cause: err })
|
|
315
|
+
throw new Error(`Error replacing breakpoint ${context}`, { cause: err })
|
|
261
316
|
}
|
|
262
317
|
breakpointToProbes.delete(breakpoint.id)
|
|
263
318
|
let result
|
|
@@ -267,10 +322,7 @@ async function updateBreakpointInternal (breakpoint, probe) {
|
|
|
267
322
|
condition: compileBreakpointCondition([...probesAtLocation.values()]),
|
|
268
323
|
}))
|
|
269
324
|
} catch (err) {
|
|
270
|
-
|
|
271
|
-
? `Error setting breakpoint while adding probe ${probe.id} (version: ${probe.version})`
|
|
272
|
-
: `Error setting breakpoint after removing probe from ${breakpoint.locationKey}`
|
|
273
|
-
throw new Error(message, { cause: err })
|
|
325
|
+
throw new Error(`Error setting breakpoint ${context}`, { cause: err })
|
|
274
326
|
}
|
|
275
327
|
breakpoint.id = result.breakpointId
|
|
276
328
|
breakpointToProbes.set(result.breakpointId, probesAtLocation)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const { workerData: { config: parentConfig, parentThreadId, configPort } } = require('node:worker_threads')
|
|
4
4
|
const processTags = require('../../process-tags')
|
|
5
|
+
const { DEFAULT_QUEUE_MAX_BYTES } = require('../constants')
|
|
5
6
|
const log = require('./log')
|
|
6
7
|
|
|
7
8
|
processTags.initialize()
|
|
@@ -10,6 +11,7 @@ const config = module.exports = {
|
|
|
10
11
|
...parentConfig,
|
|
11
12
|
parentThreadId,
|
|
12
13
|
maxTotalPayloadSize: 5 * 1024 * 1024, // 5MB
|
|
14
|
+
queueMaxBytes: DEFAULT_QUEUE_MAX_BYTES,
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
updateConfig(parentConfig)
|