dd-trace 5.81.0 → 5.83.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/LICENSE-3rdparty.csv +78 -79
- package/ci/init.js +6 -6
- package/index.d.ts +159 -3
- package/loader-hook.mjs +8 -3
- package/package.json +64 -66
- package/packages/datadog-core/src/storage.js +7 -7
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-esbuild/index.js +14 -7
- package/packages/datadog-esbuild/src/utils.js +14 -2
- package/packages/datadog-instrumentations/src/aerospike.js +3 -2
- package/packages/datadog-instrumentations/src/ai.js +9 -5
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +4 -4
- package/packages/datadog-instrumentations/src/anthropic.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server-core.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
- package/packages/datadog-instrumentations/src/apollo.js +3 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +1 -1
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +4 -3
- package/packages/datadog-instrumentations/src/azure-functions.js +2 -2
- package/packages/datadog-instrumentations/src/azure-service-bus.js +3 -4
- package/packages/datadog-instrumentations/src/bluebird.js +1 -1
- package/packages/datadog-instrumentations/src/bullmq.js +11 -0
- package/packages/datadog-instrumentations/src/bunyan.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
- package/packages/datadog-instrumentations/src/child_process.js +3 -3
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +3 -3
- package/packages/datadog-instrumentations/src/couchbase.js +1 -1
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +13 -14
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +1 -1
- package/packages/datadog-instrumentations/src/elasticsearch.js +1 -1
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +1 -1
- package/packages/datadog-instrumentations/src/fs.js +1 -1
- package/packages/datadog-instrumentations/src/generic-pool.js +1 -1
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +137 -15
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -3
- package/packages/datadog-instrumentations/src/google-genai.js +3 -3
- package/packages/datadog-instrumentations/src/graphql.js +2 -2
- package/packages/datadog-instrumentations/src/grpc/client.js +1 -1
- package/packages/datadog-instrumentations/src/grpc/server.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hook.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hooks.js +4 -1
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/instrumentations.js +4 -3
- package/packages/datadog-instrumentations/src/helpers/register.js +9 -11
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +106 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -1
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +9 -0
- package/packages/datadog-instrumentations/src/hono.js +55 -10
- package/packages/datadog-instrumentations/src/http/client.js +2 -2
- package/packages/datadog-instrumentations/src/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +37 -16
- package/packages/datadog-instrumentations/src/kafkajs.js +3 -3
- package/packages/datadog-instrumentations/src/knex.js +1 -1
- package/packages/datadog-instrumentations/src/koa.js +2 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +93 -0
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/lodash.js +1 -2
- package/packages/datadog-instrumentations/src/mariadb.js +1 -2
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mocha/main.js +2 -2
- package/packages/datadog-instrumentations/src/mocha/worker.js +1 -1
- package/packages/datadog-instrumentations/src/mocha.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb.js +1 -1
- package/packages/datadog-instrumentations/src/mongoose.js +1 -1
- package/packages/datadog-instrumentations/src/mquery.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +2 -2
- package/packages/datadog-instrumentations/src/mysql2.js +3 -3
- package/packages/datadog-instrumentations/src/net.js +14 -6
- package/packages/datadog-instrumentations/src/next.js +1 -1
- package/packages/datadog-instrumentations/src/nyc.js +2 -2
- package/packages/datadog-instrumentations/src/openai.js +2 -2
- package/packages/datadog-instrumentations/src/opensearch.js +1 -1
- package/packages/datadog-instrumentations/src/oracledb.js +1 -1
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +5 -5
- package/packages/datadog-instrumentations/src/pg.js +7 -5
- package/packages/datadog-instrumentations/src/pino.js +1 -1
- package/packages/datadog-instrumentations/src/playwright.js +4 -4
- package/packages/datadog-instrumentations/src/prisma.js +52 -37
- package/packages/datadog-instrumentations/src/process.js +1 -1
- package/packages/datadog-instrumentations/src/promise-js.js +1 -1
- package/packages/datadog-instrumentations/src/promise.js +1 -1
- package/packages/datadog-instrumentations/src/protobufjs.js +1 -1
- package/packages/datadog-instrumentations/src/q.js +1 -1
- package/packages/datadog-instrumentations/src/redis.js +1 -1
- package/packages/datadog-instrumentations/src/rhea.js +1 -1
- package/packages/datadog-instrumentations/src/selenium.js +3 -3
- package/packages/datadog-instrumentations/src/sequelize.js +1 -2
- package/packages/datadog-instrumentations/src/sharedb.js +1 -1
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +15 -4
- package/packages/datadog-instrumentations/src/url.js +1 -1
- package/packages/datadog-instrumentations/src/vitest.js +1 -1
- package/packages/datadog-instrumentations/src/vm.js +1 -1
- package/packages/datadog-instrumentations/src/when.js +1 -1
- package/packages/datadog-instrumentations/src/winston.js +1 -1
- package/packages/datadog-instrumentations/src/ws.js +3 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/base.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/util.js +3 -3
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +21 -7
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +6 -2
- package/packages/datadog-plugin-bullmq/src/consumer.js +60 -0
- package/packages/datadog-plugin-bullmq/src/index.js +18 -0
- package/packages/datadog-plugin-bullmq/src/producer.js +178 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-cucumber/src/index.js +2 -2
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +2 -2
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-dd-trace-api/src/index.js +2 -2
- package/packages/datadog-plugin-express/src/code_origin.js +21 -15
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/code_origin.js +17 -4
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +13 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +171 -12
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +160 -13
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +217 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +1 -1
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-http/src/client.js +2 -1
- package/packages/datadog-plugin-http/src/index.js +25 -5
- package/packages/datadog-plugin-http2/src/client.js +2 -2
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-jest/src/index.js +2 -2
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-langchain/src/index.js +1 -1
- package/packages/datadog-plugin-mocha/src/index.js +2 -2
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +8 -4
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/stream-helpers.js +30 -10
- package/packages/datadog-plugin-openai/src/tracing.js +2 -2
- package/packages/datadog-plugin-playwright/src/index.js +3 -3
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-undici/src/index.js +305 -2
- package/packages/datadog-plugin-vitest/src/index.js +5 -5
- package/packages/datadog-plugin-ws/src/close.js +56 -3
- package/packages/datadog-plugin-ws/src/index.js +4 -0
- package/packages/datadog-plugin-ws/src/producer.js +39 -4
- package/packages/datadog-plugin-ws/src/receiver.js +39 -3
- package/packages/datadog-plugin-ws/src/server.js +13 -1
- package/packages/datadog-plugin-ws/src/util.js +107 -0
- package/packages/datadog-shimmer/src/shimmer.js +2 -2
- package/packages/dd-trace/index.js +19 -0
- package/packages/dd-trace/src/aiguard/sdk.js +3 -3
- package/packages/dd-trace/src/appsec/graphql.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/code-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/command-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ldap-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +3 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/untrusted-deserialization-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +3 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-randomness-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/index.js +5 -5
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +1 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.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 +11 -15
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +1 -1
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +3 -3
- package/packages/dd-trace/src/appsec/index.js +8 -8
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/index.js +3 -5
- package/packages/dd-trace/src/appsec/rasp/lfi.js +1 -1
- package/packages/dd-trace/src/appsec/rc-products.js +10 -0
- package/packages/dd-trace/src/appsec/recommended.json +230 -3
- package/packages/dd-trace/src/appsec/remote_config.js +177 -0
- package/packages/dd-trace/src/appsec/reporter.js +3 -3
- package/packages/dd-trace/src/appsec/rule_manager.js +37 -20
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/track_event.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +2 -2
- package/packages/dd-trace/src/appsec/user_tracking.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +17 -3
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +11 -0
- package/packages/dd-trace/src/azure_metadata.js +15 -4
- package/packages/dd-trace/src/baggage.js +36 -11
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -1
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +6 -0
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +3 -3
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +5 -5
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +2 -2
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +4 -4
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +4 -4
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +2 -2
- package/packages/dd-trace/src/{config_defaults.js → config/defaults.js} +5 -4
- package/packages/dd-trace/src/{config-helper.js → config/helper.js} +88 -15
- package/packages/dd-trace/src/{config.js → config/index.js} +115 -67
- package/packages/dd-trace/src/config/remote_config.js +202 -0
- package/packages/dd-trace/src/{config_stable.js → config/stable.js} +20 -32
- package/packages/dd-trace/src/{supported-configurations.json → config/supported-configurations.json} +5 -0
- package/packages/dd-trace/src/constants.js +5 -0
- package/packages/dd-trace/src/crashtracking/crashtracker.js +11 -2
- package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
- package/packages/dd-trace/src/datastreams/index.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +7 -7
- package/packages/dd-trace/src/datastreams/processor.js +3 -3
- package/packages/dd-trace/src/datastreams/writer.js +3 -3
- package/packages/dd-trace/src/debugger/config.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/config.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +7 -2
- package/packages/dd-trace/src/debugger/devtools_client/send.js +6 -6
- package/packages/dd-trace/src/debugger/devtools_client/session.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +5 -5
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/constants.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/state.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/status.js +2 -2
- package/packages/dd-trace/src/debugger/index.js +84 -16
- package/packages/dd-trace/src/dogstatsd.js +5 -4
- package/packages/dd-trace/src/encode/0.4.js +3 -3
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +2 -2
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
- package/packages/dd-trace/src/encode/span-stats.js +6 -1
- package/packages/dd-trace/src/exporter.js +2 -2
- package/packages/dd-trace/src/exporters/agent/index.js +2 -4
- package/packages/dd-trace/src/exporters/agent/writer.js +9 -14
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +2 -2
- package/packages/dd-trace/src/exporters/common/docker.js +2 -2
- package/packages/dd-trace/src/exporters/common/request.js +3 -3
- package/packages/dd-trace/src/exporters/common/util.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
- package/packages/dd-trace/src/external-logger/src/index.js +1 -2
- package/packages/dd-trace/src/flare/index.js +2 -2
- package/packages/dd-trace/src/guardrails/index.js +6 -3
- package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
- package/packages/dd-trace/src/id.js +1 -1
- package/packages/dd-trace/src/index.js +4 -4
- package/packages/dd-trace/src/lambda/handler.js +5 -5
- package/packages/dd-trace/src/lambda/index.js +2 -2
- package/packages/dd-trace/src/lambda/runtime/patch.js +6 -6
- package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
- package/packages/dd-trace/src/llmobs/constants/tags.js +14 -1
- package/packages/dd-trace/src/llmobs/index.js +10 -11
- package/packages/dd-trace/src/llmobs/noop.js +2 -0
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +38 -7
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +30 -9
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/embedding.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/llm.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +16 -0
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +19 -5
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +22 -10
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +46 -26
- package/packages/dd-trace/src/llmobs/span_processor.js +26 -20
- package/packages/dd-trace/src/llmobs/tagger.js +175 -1
- package/packages/dd-trace/src/llmobs/telemetry.js +3 -4
- package/packages/dd-trace/src/llmobs/writers/base.js +117 -38
- package/packages/dd-trace/src/llmobs/writers/spans.js +5 -5
- package/packages/dd-trace/src/log/index.js +5 -5
- package/packages/dd-trace/src/noop/proxy.js +5 -5
- package/packages/dd-trace/src/noop/span.js +1 -1
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +14 -14
- package/packages/dd-trace/src/openfeature/remote_config.js +31 -0
- package/packages/dd-trace/src/openfeature/writers/base.js +12 -13
- package/packages/dd-trace/src/openfeature/writers/exposures.js +9 -9
- package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +1 -1
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +4 -4
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +9 -8
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +4 -4
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +36 -11
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +2 -2
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +11 -10
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +51 -9
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +68 -28
- package/packages/dd-trace/src/opentracing/span.js +7 -7
- package/packages/dd-trace/src/opentracing/tracer.js +5 -5
- package/packages/dd-trace/src/payload-tagging/index.js +6 -2
- package/packages/dd-trace/src/plugin_manager.js +8 -6
- package/packages/dd-trace/src/plugins/apollo.js +1 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +27 -27
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +5 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +1 -1
- package/packages/dd-trace/src/plugins/outbound.js +1 -1
- package/packages/dd-trace/src/plugins/tracing.js +1 -1
- package/packages/dd-trace/src/plugins/util/ci.js +5 -8
- package/packages/dd-trace/src/plugins/util/git-cache.js +3 -3
- package/packages/dd-trace/src/plugins/util/git.js +8 -8
- package/packages/dd-trace/src/plugins/util/stacktrace.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +25 -25
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +41 -43
- package/packages/dd-trace/src/plugins/util/web.js +8 -5
- package/packages/dd-trace/src/priority_sampler.js +15 -16
- package/packages/dd-trace/src/process-tags/index.js +31 -29
- package/packages/dd-trace/src/profiler.js +4 -39
- package/packages/dd-trace/src/profiling/config.js +104 -50
- package/packages/dd-trace/src/profiling/exporter_cli.js +8 -8
- package/packages/dd-trace/src/profiling/exporters/agent.js +6 -6
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +9 -2
- package/packages/dd-trace/src/profiling/index.js +1 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +61 -7
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/events.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/proxy.js +43 -20
- package/packages/dd-trace/src/remote_config/capabilities.js +3 -0
- package/packages/dd-trace/src/remote_config/index.js +541 -137
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +58 -31
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
- package/packages/dd-trace/src/serverless.js +17 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/span_format.js +1 -1
- package/packages/dd-trace/src/span_processor.js +4 -4
- package/packages/dd-trace/src/span_stats.js +6 -4
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/startup-log.js +7 -16
- package/packages/dd-trace/src/telemetry/dependencies.js +3 -3
- package/packages/dd-trace/src/telemetry/endpoints.js +75 -13
- package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
- package/packages/dd-trace/src/telemetry/send-data.js +103 -4
- package/packages/dd-trace/src/telemetry/telemetry.js +238 -114
- package/packages/dd-trace/src/tracer.js +3 -3
- package/packages/dd-trace/src/tracer_metadata.js +19 -15
- package/packages/dd-trace/src/remote_config/manager.js +0 -368
- /package/packages/dd-trace/src/{git_properties.js → config/git_properties.js} +0 -0
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
const { errorMonitor } = require('node:events')
|
|
4
4
|
|
|
5
|
-
const { channel, addHook } = require('./helpers/instrument')
|
|
6
5
|
const shimmer = require('../../datadog-shimmer')
|
|
7
6
|
const satisfies = require('../../../vendor/dist/semifies')
|
|
7
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
8
8
|
|
|
9
9
|
function wrapConnection (Connection, version) {
|
|
10
10
|
const startCh = channel('apm:mysql2:query:start')
|
|
@@ -141,11 +141,11 @@ function wrapConnection (Connection, version) {
|
|
|
141
141
|
finishCh.runStores(ctx, onResult, this, ...arguments)
|
|
142
142
|
})
|
|
143
143
|
} else {
|
|
144
|
-
this.
|
|
144
|
+
this.once(errorMonitor, error => {
|
|
145
145
|
ctx.error = error
|
|
146
146
|
errorCh.publish(ctx)
|
|
147
147
|
})
|
|
148
|
-
this.
|
|
148
|
+
this.once('end', () => finishCh.publish(ctx))
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
this.execute = execute
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const { errorMonitor } = require('events')
|
|
4
4
|
|
|
5
|
-
const { channel, addHook } = require('./helpers/instrument')
|
|
6
5
|
const shimmer = require('../../datadog-shimmer')
|
|
6
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
7
7
|
|
|
8
8
|
const startICPCh = channel('apm:net:ipc:start')
|
|
9
9
|
const finishICPCh = channel('apm:net:ipc:finish')
|
|
@@ -101,7 +101,7 @@ function getOptions (args) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
function setupListeners (socket, protocol, ctx, finishCh, errorCh) {
|
|
104
|
-
const events = [
|
|
104
|
+
const events = [errorMonitor, 'close', 'timeout']
|
|
105
105
|
|
|
106
106
|
const wrapListener = function (error) {
|
|
107
107
|
if (error) {
|
|
@@ -109,27 +109,35 @@ function setupListeners (socket, protocol, ctx, finishCh, errorCh) {
|
|
|
109
109
|
errorCh.publish(ctx)
|
|
110
110
|
}
|
|
111
111
|
finishCh.runStores(ctx, () => {})
|
|
112
|
+
cleanupOtherListeners()
|
|
112
113
|
}
|
|
113
114
|
|
|
114
|
-
const localListener = function () {
|
|
115
|
+
const localListener = function (error) {
|
|
115
116
|
ctx.socket = socket
|
|
116
117
|
connectionCh.publish(ctx)
|
|
118
|
+
if (error) {
|
|
119
|
+
ctx.error = error
|
|
120
|
+
errorCh.publish(ctx)
|
|
121
|
+
}
|
|
122
|
+
finishCh.runStores(ctx, () => {})
|
|
123
|
+
cleanupOtherListeners()
|
|
117
124
|
}
|
|
118
125
|
|
|
119
|
-
const
|
|
126
|
+
const cleanupOtherListeners = function () {
|
|
120
127
|
socket.removeListener('connect', localListener)
|
|
121
128
|
events.forEach(event => {
|
|
122
129
|
socket.removeListener(event, wrapListener)
|
|
123
|
-
socket.removeListener(event, cleanupListener)
|
|
124
130
|
})
|
|
125
131
|
}
|
|
126
132
|
|
|
133
|
+
// TODO: Identify why the connect listener should remove the other listeners.
|
|
127
134
|
if (protocol === 'tcp') {
|
|
128
135
|
socket.once('connect', localListener)
|
|
136
|
+
} else {
|
|
137
|
+
events.push('connect')
|
|
129
138
|
}
|
|
130
139
|
|
|
131
140
|
events.forEach(event => {
|
|
132
141
|
socket.once(event, wrapListener)
|
|
133
|
-
socket.once(event, cleanupListener)
|
|
134
142
|
})
|
|
135
143
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { channel, addHook } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
5
5
|
|
|
6
6
|
const startChannel = channel('apm:next:request:start')
|
|
7
7
|
const finishChannel = channel('apm:next:request:finish')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook, channel } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
5
|
-
const { getEnvironmentVariable } = require('../../dd-trace/src/config
|
|
4
|
+
const { getEnvironmentVariable } = require('../../dd-trace/src/config/helper')
|
|
5
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
6
6
|
|
|
7
7
|
const codeCoverageWrapCh = channel('ci:nyc:wrap')
|
|
8
8
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
4
4
|
const shimmer = require('../../datadog-shimmer')
|
|
5
|
+
const { addHook } = require('./helpers/instrument')
|
|
5
6
|
|
|
6
|
-
const dc = require('dc-polyfill')
|
|
7
7
|
const ch = dc.tracingChannel('apm:openai:request')
|
|
8
8
|
const onStreamedChunkCh = dc.channel('apm:openai:request:chunk')
|
|
9
9
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { addHook } = require('./helpers/instrument')
|
|
5
5
|
const { createWrapRequest, createWrapGetConnection } = require('./elasticsearch')
|
|
6
6
|
|
|
7
7
|
addHook({ name: '@opensearch-project/opensearch', file: 'lib/Transport.js', versions: ['>=1'] }, Transport => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
const connectionAttributes = new WeakMap()
|
|
10
10
|
const poolAttributes = new WeakMap()
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
5
4
|
const tracer = require('../../dd-trace')
|
|
6
|
-
const {
|
|
5
|
+
const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
|
|
6
|
+
const { addHook } = require('./helpers/instrument')
|
|
7
7
|
|
|
8
|
-
const otelSdkEnabled =
|
|
9
|
-
|
|
10
|
-
? !
|
|
8
|
+
const otelSdkEnabled = getValueFromEnvSources('DD_TRACE_OTEL_ENABLED') ||
|
|
9
|
+
getValueFromEnvSources('OTEL_SDK_DISABLED')
|
|
10
|
+
? !getValueFromEnvSources('OTEL_SDK_DISABLED')
|
|
11
11
|
: undefined
|
|
12
12
|
|
|
13
13
|
if (otelSdkEnabled) {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { errorMonitor } = require('node:events')
|
|
4
|
+
|
|
5
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
6
|
const {
|
|
4
7
|
channel,
|
|
5
8
|
addHook
|
|
6
9
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
10
|
|
|
9
11
|
const startCh = channel('apm:pg:query:start')
|
|
10
12
|
const finishCh = channel('apm:pg:query:finish')
|
|
@@ -13,8 +15,6 @@ const errorCh = channel('apm:pg:query:error')
|
|
|
13
15
|
const startPoolQueryCh = channel('datadog:pg:pool:query:start')
|
|
14
16
|
const finishPoolQueryCh = channel('datadog:pg:pool:query:finish')
|
|
15
17
|
|
|
16
|
-
const { errorMonitor } = require('node:events')
|
|
17
|
-
|
|
18
18
|
addHook({ name: 'pg', versions: ['>=8.0.3'], file: 'lib/native/client.js' }, Client => {
|
|
19
19
|
shimmer.wrap(Client.prototype, 'query', query => wrapQuery(query))
|
|
20
20
|
return Client
|
|
@@ -112,8 +112,10 @@ function wrapQuery (query) {
|
|
|
112
112
|
arguments[0] = pgQuery
|
|
113
113
|
|
|
114
114
|
const retval = query.apply(this, arguments)
|
|
115
|
-
|
|
116
|
-
const
|
|
115
|
+
|
|
116
|
+
const deperecated = Object.hasOwn(this, '_activeQuery')
|
|
117
|
+
const queryQueue = deperecated ? this._queryQueue : this.queryQueue
|
|
118
|
+
const activeQuery = deperecated ? this._activeQuery : this.activeQuery
|
|
117
119
|
|
|
118
120
|
const newQuery = queryQueue.at(-1) || activeQuery
|
|
119
121
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
function wrapPino (symbol, wrapper, pino) {
|
|
10
10
|
return function pinoWithTrace () {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
const satisfies = require('../../../vendor/dist/semifies')
|
|
4
4
|
|
|
5
|
-
const { addHook, channel } = require('./helpers/instrument')
|
|
6
5
|
const shimmer = require('../../datadog-shimmer')
|
|
7
6
|
const {
|
|
8
7
|
parseAnnotations,
|
|
@@ -12,9 +11,10 @@ const {
|
|
|
12
11
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
13
12
|
const log = require('../../dd-trace/src/log')
|
|
14
13
|
const {
|
|
15
|
-
|
|
16
|
-
} = require('../../dd-trace/src/config
|
|
14
|
+
getValueFromEnvSources
|
|
15
|
+
} = require('../../dd-trace/src/config/helper')
|
|
17
16
|
const { DD_MAJOR } = require('../../../version')
|
|
17
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
18
18
|
|
|
19
19
|
const testStartCh = channel('ci:playwright:test:start')
|
|
20
20
|
const testFinishCh = channel('ci:playwright:test:finish')
|
|
@@ -41,7 +41,7 @@ const testSuiteToTestStatuses = new Map()
|
|
|
41
41
|
const testSuiteToErrors = new Map()
|
|
42
42
|
const testsToTestStatuses = new Map()
|
|
43
43
|
|
|
44
|
-
const RUM_FLUSH_WAIT_TIME = Number(
|
|
44
|
+
const RUM_FLUSH_WAIT_TIME = Number(getValueFromEnvSources('DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS')) || 1000
|
|
45
45
|
|
|
46
46
|
let applyRepeatEachIndex = null
|
|
47
47
|
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
channel,
|
|
5
|
-
addHook
|
|
6
|
-
} = require('./helpers/instrument')
|
|
3
|
+
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
7
4
|
|
|
5
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
8
6
|
const prismaEngineStart = channel('apm:prisma:engine:start')
|
|
9
|
-
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
10
7
|
const clientCH = tracingChannel('apm:prisma:client')
|
|
11
8
|
|
|
12
9
|
const allowedClientSpanOperations = new Set([
|
|
@@ -15,14 +12,20 @@ const allowedClientSpanOperations = new Set([
|
|
|
15
12
|
'transaction'
|
|
16
13
|
])
|
|
17
14
|
|
|
18
|
-
class
|
|
15
|
+
class DatadogTracingHelper {
|
|
19
16
|
dbConfig = null
|
|
17
|
+
|
|
18
|
+
constructor (dbConfig = null) {
|
|
19
|
+
this.dbConfig = dbConfig
|
|
20
|
+
}
|
|
21
|
+
|
|
20
22
|
isEnabled () {
|
|
21
23
|
return true
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
// needs a sampled tracecontext to generate engine spans
|
|
25
27
|
getTraceParent (context) {
|
|
28
|
+
// TODO: Fix the id
|
|
26
29
|
return '00-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbbbbb-01' // valid sampled traceparent
|
|
27
30
|
}
|
|
28
31
|
|
|
@@ -34,7 +37,9 @@ class TracingHelper {
|
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
|
|
37
|
-
getActiveContext () {
|
|
40
|
+
getActiveContext () {
|
|
41
|
+
// TODO: Fix context
|
|
42
|
+
}
|
|
38
43
|
|
|
39
44
|
runInChildSpan (options, callback) {
|
|
40
45
|
if (typeof options === 'string') {
|
|
@@ -63,42 +68,52 @@ class TracingHelper {
|
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
const prismaHook = (runtime, versions, name, isIitm) => {
|
|
72
|
+
const originalGetPrismaClient = runtime.getPrismaClient
|
|
73
|
+
|
|
74
|
+
if (!originalGetPrismaClient) return runtime
|
|
75
|
+
const datadogTracingHelper = new DatadogTracingHelper()
|
|
76
|
+
|
|
77
|
+
const wrappedGetPrismaClient = function (config) {
|
|
78
|
+
const datasources = config.inlineDatasources?.db.url?.value
|
|
79
|
+
if (datasources) {
|
|
80
|
+
const dbConfig = parseDBString(datasources)
|
|
81
|
+
datadogTracingHelper.setDbString(dbConfig)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const PrismaClient = originalGetPrismaClient.call(this, config)
|
|
85
|
+
return class WrappedPrismaClientClass extends PrismaClient {
|
|
86
|
+
constructor (clientConfig) {
|
|
87
|
+
super(clientConfig)
|
|
88
|
+
this._tracingHelper = datadogTracingHelper
|
|
89
|
+
this._engine.tracingHelper = datadogTracingHelper
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
|
-
return originalRequest.apply(this, arguments)
|
|
82
92
|
}
|
|
83
93
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
* to enable OpenTelemetry.
|
|
88
|
-
*/
|
|
89
|
-
// https://github.com/prisma/prisma/blob/478293bbfce91e41ceff02f2a0b03bb8acbca03e/packages/instrumentation/src/PrismaInstrumentation.ts#L42
|
|
90
|
-
const versions = version.split('.')
|
|
91
|
-
if (versions[0] === '6' && versions[1] < 4) {
|
|
92
|
-
global.PRISMA_INSTRUMENTATION = {
|
|
93
|
-
helper: tracingHelper
|
|
94
|
-
}
|
|
95
|
-
} else {
|
|
96
|
-
global[`V${versions[0]}_PRISMA_INSTRUMENTATION`] = {
|
|
97
|
-
helper: tracingHelper
|
|
98
|
-
}
|
|
94
|
+
if (isIitm) {
|
|
95
|
+
runtime.getPrismaClient = wrappedGetPrismaClient
|
|
96
|
+
return runtime
|
|
99
97
|
}
|
|
100
98
|
|
|
101
|
-
return
|
|
99
|
+
return new Proxy(runtime, {
|
|
100
|
+
get (target, prop) {
|
|
101
|
+
if (prop === 'getPrismaClient') {
|
|
102
|
+
return wrappedGetPrismaClient
|
|
103
|
+
}
|
|
104
|
+
return target[prop]
|
|
105
|
+
}
|
|
106
|
+
})
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const prismaConfigs = [
|
|
110
|
+
{ name: '@prisma/client', versions: ['>=6.1.0 <7.0.0'], filePattern: 'runtime/library.*' },
|
|
111
|
+
{ name: './runtime/library.js', versions: ['>=6.1.0 <7.0.0'], file: 'runtime/library.js' },
|
|
112
|
+
{ name: '@prisma/client', versions: ['>=7.0.0'], filePattern: 'runtime/client.*' }
|
|
113
|
+
]
|
|
114
|
+
|
|
115
|
+
prismaConfigs.forEach(config => {
|
|
116
|
+
addHook(config, prismaHook)
|
|
102
117
|
})
|
|
103
118
|
|
|
104
119
|
function parseDBString (dbString) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const shimmer = require('../../datadog-shimmer')
|
|
4
3
|
const { channel } = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
5
5
|
|
|
6
6
|
const startSetUncaughtExceptionCaptureCallback = channel('datadog:process:setUncaughtExceptionCaptureCallback:start')
|
|
7
7
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
3
4
|
const shimmer = require('../../datadog-shimmer')
|
|
4
5
|
const { addHook } = require('./helpers/instrument')
|
|
5
6
|
|
|
6
|
-
const dc = require('dc-polyfill')
|
|
7
7
|
const serializeChannel = dc.channel('apm:protobufjs:serialize-start')
|
|
8
8
|
const deserializeChannel = dc.channel('apm:protobufjs:deserialize-end')
|
|
9
9
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
const startCh = channel('apm:redis:command:start')
|
|
10
10
|
const finishCh = channel('apm:redis:command:finish')
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
const circularBufferConstructor = Symbol('circularBufferConstructor')
|
|
10
10
|
const inFlightDeliveries = Symbol('inFlightDeliveries')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook, channel } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
5
|
-
const {
|
|
4
|
+
const { getValueFromEnvSources } = require('../../dd-trace/src/config/helper')
|
|
5
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
6
6
|
|
|
7
7
|
const ciSeleniumDriverGetStartCh = channel('ci:selenium:driver:get')
|
|
8
8
|
|
|
@@ -17,7 +17,7 @@ if (window.DD_RUM && window.DD_RUM.stopSession) {
|
|
|
17
17
|
const IS_RUM_ACTIVE_SCRIPT = 'return !!window.DD_RUM'
|
|
18
18
|
|
|
19
19
|
const DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS =
|
|
20
|
-
Number(
|
|
20
|
+
Number(getValueFromEnvSources('DD_CIVISIBILITY_RUM_FLUSH_WAIT_MILLIS')) || 500
|
|
21
21
|
const DD_CIVISIBILITY_TEST_EXECUTION_ID_COOKIE_NAME = 'datadog-ci-visibility-test-execution-id'
|
|
22
22
|
|
|
23
23
|
// TODO: can we increase the supported version range?
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
8
|
|
|
8
|
-
const shimmer = require('../../datadog-shimmer')
|
|
9
|
-
|
|
10
9
|
addHook({ name: 'sequelize', versions: ['>=4'], file: ['lib/sequelize.js'] }, Sequelize => {
|
|
11
10
|
const startCh = channel('datadog:sequelize:query:start')
|
|
12
11
|
const finishCh = channel('datadog:sequelize:query:finish')
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @description The enum values in this map are not exposed from ShareDB, so the keys are hard-coded here.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const {
|
|
4
5
|
channel,
|
|
5
6
|
addHook
|
|
6
7
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
8
|
|
|
9
9
|
addHook({ name: 'tedious', versions: ['>=1.0.0'] }, tedious => {
|
|
10
10
|
const startCh = channel('apm:tedious:request:start')
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
4
|
+
|
|
5
|
+
const shimmer = require('../../datadog-shimmer')
|
|
6
|
+
const satisfies = require('../../../vendor/dist/semifies')
|
|
3
7
|
const {
|
|
4
8
|
addHook
|
|
5
9
|
} = require('./helpers/instrument')
|
|
6
|
-
const
|
|
10
|
+
const { createWrapFetch } = require('./helpers/fetch')
|
|
7
11
|
|
|
8
|
-
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
9
12
|
const ch = tracingChannel('apm:undici:fetch')
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
// Undici 5.0.x has a bug where fetch doesn't preserve AggregateError in the error cause chain
|
|
15
|
+
// Use native DC only for versions where error handling works correctly
|
|
16
|
+
const NATIVE_DC_VERSION = '>=4.7.0 <5.0.0 || >=5.1.0'
|
|
12
17
|
|
|
13
18
|
addHook({
|
|
14
19
|
name: 'undici',
|
|
15
20
|
versions: ['^4.4.1', '5', '>=6.0.0']
|
|
16
|
-
}, undici => {
|
|
21
|
+
}, (undici, version) => {
|
|
22
|
+
// For versions with working native DC, let the plugin subscribe directly
|
|
23
|
+
if (satisfies(version, NATIVE_DC_VERSION)) {
|
|
24
|
+
return undici
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// For older versions or those with buggy error handling, wrap fetch
|
|
17
28
|
return shimmer.wrap(undici, 'fetch', createWrapFetch(undici.Request, ch))
|
|
18
29
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook, channel } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
5
5
|
const names = ['url', 'node:url']
|
|
6
6
|
|
|
7
7
|
const parseFinishedChannel = channel('datadog:url:parse:finish')
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook, channel } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
5
4
|
const log = require('../../dd-trace/src/log')
|
|
6
5
|
const {
|
|
7
6
|
VITEST_WORKER_TRACE_PAYLOAD_CODE,
|
|
8
7
|
VITEST_WORKER_LOGS_PAYLOAD_CODE
|
|
9
8
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
9
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
10
10
|
|
|
11
11
|
// test hooks
|
|
12
12
|
const testStartCh = channel('ci:vitest:test:start')
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { channel, addHook } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
5
5
|
const names = ['vm', 'node:vm']
|
|
6
6
|
|
|
7
7
|
const runScriptStartChannel = channel('datadog:vm:run-script:start')
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
4
|
+
|
|
5
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
6
|
const {
|
|
4
7
|
addHook,
|
|
5
8
|
channel
|
|
6
9
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
10
|
|
|
9
|
-
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
10
11
|
const serverCh = tracingChannel('ws:server:connect')
|
|
11
12
|
const producerCh = tracingChannel('ws:send')
|
|
12
13
|
const receiverCh = tracingChannel('ws:receive')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const CompositePlugin = require('../../dd-trace/src/plugins/composite')
|
|
3
4
|
const ProducerPlugin = require('./producer')
|
|
4
5
|
const ConsumerPlugin = require('./consumer')
|
|
5
|
-
const CompositePlugin = require('../../dd-trace/src/plugins/composite')
|
|
6
6
|
|
|
7
7
|
class Amqp10Plugin extends CompositePlugin {
|
|
8
8
|
static id = 'amqp10'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const CompositePlugin = require('../../dd-trace/src/plugins/composite')
|
|
3
4
|
const ProducerPlugin = require('./producer')
|
|
4
5
|
const ConsumerPlugin = require('./consumer')
|
|
5
6
|
const ClientPlugin = require('./client')
|
|
6
|
-
const CompositePlugin = require('../../dd-trace/src/plugins/composite')
|
|
7
7
|
|
|
8
8
|
// TODO: Consider splitting channels for publish/receive in the instrumentation.
|
|
9
9
|
class AmqplibPlugin extends CompositePlugin {
|