dd-trace 5.80.0 → 5.82.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 +79 -88
- package/ext/tags.d.ts +1 -0
- package/ext/tags.js +1 -0
- package/index.d.ts +42 -35
- package/loader-hook.mjs +16 -4
- package/package.json +33 -56
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-esbuild/index.js +44 -26
- package/packages/datadog-esbuild/src/utils.js +14 -2
- package/packages/datadog-instrumentations/index.js +1 -0
- package/packages/datadog-instrumentations/src/aerospike.js +3 -2
- package/packages/datadog-instrumentations/src/ai.js +2 -2
- 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 +14 -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 +6 -2
- 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 +2 -2
- 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 +12 -13
- 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/find-my-way.js +6 -5
- 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 +120 -0
- package/packages/datadog-instrumentations/src/graphql.js +21 -1
- 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 +5 -1
- package/packages/datadog-instrumentations/src/helpers/instrument.js +11 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +12 -5
- package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +27 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +152 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +106 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +6 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +237 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/loader.js +9 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs +11 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +139 -0
- 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/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +2 -2
- package/packages/datadog-instrumentations/src/kafkajs.js +3 -3
- package/packages/datadog-instrumentations/src/knex.js +1 -1
- package/packages/datadog-instrumentations/src/langchain.js +3 -109
- 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 +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 +1 -1
- package/packages/datadog-instrumentations/src/mysql2.js +2 -2
- package/packages/datadog-instrumentations/src/net.js +1 -1
- package/packages/datadog-instrumentations/src/next.js +1 -1
- package/packages/datadog-instrumentations/src/nyc.js +1 -1
- 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 +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +1 -1
- package/packages/datadog-instrumentations/src/playwright.js +46 -17
- 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/router.js +1 -1
- package/packages/datadog-instrumentations/src/selenium.js +4 -2
- 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 +4 -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 +38 -19
- 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/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 +19 -5
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +4 -0
- 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-child_process/src/scrub-cmd-params.js +1 -1
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +23 -2
- package/packages/datadog-plugin-cypress/src/plugin.js +2 -2
- package/packages/datadog-plugin-cypress/src/support.js +73 -31
- package/packages/datadog-plugin-express/src/index.js +1 -1
- 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 +17 -0
- package/packages/datadog-plugin-google-genai/src/tracing.js +41 -0
- package/packages/datadog-plugin-graphql/src/resolve.js +1 -1
- package/packages/datadog-plugin-graphql/src/tools/transforms.js +5 -4
- 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/util.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-langchain/src/index.js +1 -1
- package/packages/datadog-plugin-langchain/src/tracing.js +7 -3
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +6 -2
- package/packages/datadog-plugin-next/src/index.js +11 -3
- 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-rhea/src/index.js +1 -1
- 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/src/aiguard/sdk.js +21 -13
- package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
- 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/overhead-controller.js +1 -1
- 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-esm.mjs +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +11 -16
- 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 +4 -4
- 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 +1 -1
- 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 -7
- 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 +8 -2
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +8 -6
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +4 -2
- package/packages/dd-trace/src/config/remote_config.js +34 -0
- package/packages/dd-trace/src/config.js +109 -34
- package/packages/dd-trace/src/config_defaults.js +16 -3
- package/packages/dd-trace/src/constants.js +5 -0
- package/packages/dd-trace/src/crashtracking/crashtracker.js +10 -1
- package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
- package/packages/dd-trace/src/datastreams/encoding.js +23 -6
- package/packages/dd-trace/src/datastreams/index.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +41 -2
- package/packages/dd-trace/src/datastreams/processor.js +3 -3
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +1 -1
- package/packages/dd-trace/src/datastreams/writer.js +2 -2
- package/packages/dd-trace/src/debugger/config.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +15 -5
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/config.js +3 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +37 -17
- package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +2 -0
- package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +24 -18
- package/packages/dd-trace/src/debugger/devtools_client/send.js +21 -11
- package/packages/dd-trace/src/debugger/devtools_client/session.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +103 -15
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/constants.js +25 -0
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +56 -25
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +64 -23
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +3 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +404 -0
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/state.js +8 -3
- package/packages/dd-trace/src/debugger/devtools_client/status.js +3 -3
- package/packages/dd-trace/src/debugger/index.js +2 -2
- package/packages/dd-trace/src/dogstatsd.js +3 -2
- package/packages/dd-trace/src/encode/0.4.js +1 -1
- 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 +13 -2
- package/packages/dd-trace/src/exporter.js +2 -2
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +1 -1
- package/packages/dd-trace/src/exporters/common/request.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 +1 -1
- package/packages/dd-trace/src/guardrails/index.js +6 -3
- package/packages/dd-trace/src/histogram.js +1 -1
- package/packages/dd-trace/src/id.js +60 -0
- package/packages/dd-trace/src/index.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +4 -4
- package/packages/dd-trace/src/lambda/index.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/patch.js +4 -4
- package/packages/dd-trace/src/lambda/runtime/ritm.js +2 -2
- package/packages/dd-trace/src/llmobs/constants/tags.js +8 -1
- package/packages/dd-trace/src/llmobs/index.js +8 -9
- 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/index.js +104 -0
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +486 -0
- 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/langchain/index.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +16 -0
- package/packages/dd-trace/src/llmobs/plugins/{openai.js → openai/index.js} +63 -6
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +126 -0
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +20 -22
- package/packages/dd-trace/src/llmobs/span_processor.js +15 -14
- package/packages/dd-trace/src/llmobs/tagger.js +4 -0
- package/packages/dd-trace/src/llmobs/telemetry.js +3 -4
- package/packages/dd-trace/src/llmobs/writers/base.js +2 -2
- package/packages/dd-trace/src/llmobs/writers/spans.js +1 -2
- package/packages/dd-trace/src/log/index.js +1 -1
- package/packages/dd-trace/src/noop/proxy.js +2 -2
- 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 +5 -5
- 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/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +3 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +4 -4
- package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +5 -3
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +17 -16
- package/packages/dd-trace/src/opentelemetry/metrics/constants.js +34 -0
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +81 -0
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +225 -0
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +171 -0
- package/packages/dd-trace/src/opentelemetry/metrics/meter_provider.js +54 -0
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_http_metric_exporter.js +62 -0
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +251 -0
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +557 -0
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +10 -18
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +47 -32
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span.js +3 -3
- package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
- package/packages/dd-trace/src/opentelemetry/tracer_provider.js +1 -1
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +24 -8
- package/packages/dd-trace/src/opentracing/span.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +5 -5
- package/packages/dd-trace/src/payload-tagging/index.js +8 -4
- package/packages/dd-trace/src/plugin_manager.js +5 -3
- 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 +6 -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 +1 -1
- 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 +27 -27
- package/packages/dd-trace/src/plugins/util/url.js +119 -1
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +1 -1
- package/packages/dd-trace/src/plugins/util/web.js +18 -46
- package/packages/dd-trace/src/priority_sampler.js +15 -16
- package/packages/dd-trace/src/process-tags/index.js +83 -0
- package/packages/dd-trace/src/profiling/config.js +33 -22
- package/packages/dd-trace/src/profiling/exporter_cli.js +4 -4
- package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
- 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 +4 -5
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/events.js +11 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/proxy.js +17 -18
- package/packages/dd-trace/src/rate_limiter.js +1 -1
- 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 +50 -27
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +1 -1
- package/packages/dd-trace/src/serverless.js +16 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +4 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/web.js +4 -0
- package/packages/dd-trace/src/span_format.js +10 -5
- package/packages/dd-trace/src/span_processor.js +8 -3
- package/packages/dd-trace/src/span_stats.js +21 -8
- package/packages/dd-trace/src/spanleak.js +1 -1
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/startup-log.js +3 -3
- package/packages/dd-trace/src/supported-configurations.json +16 -0
- package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
- package/packages/dd-trace/src/telemetry/endpoints.js +8 -8
- package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
- package/packages/dd-trace/src/telemetry/telemetry.js +22 -8
- package/packages/dd-trace/src/tracer.js +3 -3
- package/packages/dd-trace/src/tracer_metadata.js +19 -15
- package/vendor/dist/@datadog/sketches-js/LICENSE +39 -0
- package/vendor/dist/@datadog/sketches-js/index.js +1 -0
- package/vendor/dist/@datadog/source-map/LICENSE +28 -0
- package/vendor/dist/@datadog/source-map/index.js +1 -0
- package/vendor/dist/@isaacs/ttlcache/LICENSE +55 -0
- package/vendor/dist/@isaacs/ttlcache/index.js +1 -0
- package/vendor/dist/@opentelemetry/core/LICENSE +201 -0
- package/vendor/dist/@opentelemetry/core/index.js +1 -0
- package/vendor/dist/@opentelemetry/resources/LICENSE +201 -0
- package/vendor/dist/@opentelemetry/resources/index.js +1 -0
- package/vendor/dist/astring/LICENSE +19 -0
- package/vendor/dist/astring/index.js +1 -0
- package/vendor/dist/crypto-randomuuid/index.js +1 -0
- package/vendor/dist/escape-string-regexp/LICENSE +9 -0
- package/vendor/dist/escape-string-regexp/index.js +1 -0
- package/vendor/dist/esquery/LICENSE +24 -0
- package/vendor/dist/esquery/index.js +1 -0
- package/vendor/dist/ignore/LICENSE +21 -0
- package/vendor/dist/ignore/index.js +1 -0
- package/vendor/dist/istanbul-lib-coverage/LICENSE +24 -0
- package/vendor/dist/istanbul-lib-coverage/index.js +1 -0
- package/vendor/dist/jest-docblock/LICENSE +21 -0
- package/vendor/dist/jest-docblock/index.js +1 -0
- package/vendor/dist/jsonpath-plus/LICENSE +22 -0
- package/vendor/dist/jsonpath-plus/index.js +1 -0
- package/vendor/dist/limiter/LICENSE +19 -0
- package/vendor/dist/limiter/index.js +1 -0
- package/vendor/dist/lodash.sortby/LICENSE +47 -0
- package/vendor/dist/lodash.sortby/index.js +1 -0
- package/vendor/dist/lru-cache/LICENSE +15 -0
- package/vendor/dist/lru-cache/index.js +1 -0
- package/vendor/dist/meriyah/LICENSE +7 -0
- package/vendor/dist/meriyah/index.js +1 -0
- package/vendor/dist/module-details-from-path/LICENSE +21 -0
- package/vendor/dist/module-details-from-path/index.js +1 -0
- package/vendor/dist/mutexify/promise/LICENSE +21 -0
- package/vendor/dist/mutexify/promise/index.js +1 -0
- package/vendor/dist/opentracing/LICENSE +201 -0
- package/vendor/dist/opentracing/binary_carrier.d.ts +11 -0
- package/vendor/dist/opentracing/constants.d.ts +61 -0
- package/vendor/dist/opentracing/examples/demo/demo.d.ts +2 -0
- package/vendor/dist/opentracing/ext/tags.d.ts +90 -0
- package/vendor/dist/opentracing/functions.d.ts +20 -0
- package/vendor/dist/opentracing/global_tracer.d.ts +14 -0
- package/vendor/dist/opentracing/index.d.ts +12 -0
- package/vendor/dist/opentracing/index.js +1 -0
- package/vendor/dist/opentracing/mock_tracer/index.d.ts +5 -0
- package/vendor/dist/opentracing/mock_tracer/mock_context.d.ts +13 -0
- package/vendor/dist/opentracing/mock_tracer/mock_report.d.ts +16 -0
- package/vendor/dist/opentracing/mock_tracer/mock_span.d.ts +50 -0
- package/vendor/dist/opentracing/mock_tracer/mock_tracer.d.ts +26 -0
- package/vendor/dist/opentracing/noop.d.ts +8 -0
- package/vendor/dist/opentracing/reference.d.ts +33 -0
- package/vendor/dist/opentracing/span.d.ts +147 -0
- package/vendor/dist/opentracing/span_context.d.ts +26 -0
- package/vendor/dist/opentracing/test/api_compatibility.d.ts +16 -0
- package/vendor/dist/opentracing/test/mocktracer_implemenation.d.ts +3 -0
- package/vendor/dist/opentracing/test/noop_implementation.d.ts +4 -0
- package/vendor/dist/opentracing/test/opentracing_api.d.ts +3 -0
- package/vendor/dist/opentracing/test/unittest.d.ts +2 -0
- package/vendor/dist/opentracing/tracer.d.ts +127 -0
- package/vendor/dist/path-to-regexp/LICENSE +21 -0
- package/vendor/dist/path-to-regexp/index.js +1 -0
- package/vendor/dist/pprof-format/LICENSE +8 -0
- package/vendor/dist/pprof-format/index.js +1 -0
- package/vendor/dist/protobufjs/LICENSE +39 -0
- package/vendor/dist/protobufjs/index.js +1 -0
- package/vendor/dist/protobufjs/minimal/LICENSE +39 -0
- package/vendor/dist/protobufjs/minimal/index.js +1 -0
- package/vendor/dist/retry/LICENSE +21 -0
- package/vendor/dist/retry/index.js +1 -0
- package/vendor/dist/rfdc/LICENSE +15 -0
- package/vendor/dist/rfdc/index.js +1 -0
- package/vendor/dist/semifies/LICENSE +201 -0
- package/vendor/dist/semifies/index.js +1 -0
- package/vendor/dist/shell-quote/LICENSE +24 -0
- package/vendor/dist/shell-quote/index.js +1 -0
- package/vendor/dist/source-map/LICENSE +28 -0
- package/vendor/dist/source-map/index.js +1 -0
- package/vendor/dist/source-map/lib/util/LICENSE +28 -0
- package/vendor/dist/source-map/lib/util/index.js +1 -0
- package/vendor/dist/source-map/mappings.wasm +0 -0
- package/vendor/dist/tlhunter-sorted-set/LICENSE +21 -0
- package/vendor/dist/tlhunter-sorted-set/index.js +1 -0
- package/vendor/dist/ttl-set/LICENSE +21 -0
- package/vendor/dist/ttl-set/index.js +1 -0
- package/packages/dd-trace/src/remote_config/manager.js +0 -368
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
/* eslint-disable no-console */
|
|
4
4
|
|
|
5
|
+
const { execSync } = require('child_process')
|
|
6
|
+
const fs = require('fs')
|
|
7
|
+
const RAW_BUILTINS = require('module').builtinModules
|
|
8
|
+
const path = require('path')
|
|
9
|
+
const { pathToFileURL, fileURLToPath } = require('url')
|
|
10
|
+
|
|
5
11
|
const instrumentations = require('../datadog-instrumentations/src/helpers/instrumentations.js')
|
|
6
|
-
|
|
12
|
+
|
|
7
13
|
const extractPackageAndModulePath = require(
|
|
8
14
|
'../datadog-instrumentations/src/helpers/extract-package-and-module-path.js'
|
|
9
15
|
)
|
|
10
|
-
|
|
11
|
-
const { pathToFileURL, fileURLToPath } = require('url')
|
|
16
|
+
const hooks = require('../datadog-instrumentations/src/helpers/hooks.js')
|
|
12
17
|
const { processModule, isESMFile } = require('./src/utils.js')
|
|
13
18
|
|
|
14
19
|
const ESM_INTERCEPTED_SUFFIX = '._dd_esbuild_intercepted'
|
|
@@ -36,11 +41,7 @@ for (const instrumentation of Object.values(instrumentations)) {
|
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
const RAW_BUILTINS = require('module').builtinModules
|
|
40
44
|
const CHANNEL = 'dd-trace:bundler:load'
|
|
41
|
-
const path = require('path')
|
|
42
|
-
const fs = require('fs')
|
|
43
|
-
const { execSync } = require('child_process')
|
|
44
45
|
|
|
45
46
|
const builtins = new Set()
|
|
46
47
|
|
|
@@ -245,28 +246,45 @@ ${build.initialOptions.banner.js}`
|
|
|
245
246
|
}
|
|
246
247
|
}
|
|
247
248
|
|
|
248
|
-
|
|
249
|
+
try {
|
|
250
|
+
const packageJson = JSON.parse(fs.readFileSync(pathToPackageJson).toString())
|
|
249
251
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
252
|
+
const isESM = isESMFile(fullPathToModule, pathToPackageJson, packageJson)
|
|
253
|
+
if (isESM && !interceptedESMModules.has(fullPathToModule)) {
|
|
254
|
+
fullPathToModule += ESM_INTERCEPTED_SUFFIX
|
|
255
|
+
}
|
|
254
256
|
|
|
255
|
-
|
|
257
|
+
if (DEBUG) console.log(`RESOLVE: ${args.path}@${packageJson.version}`)
|
|
256
258
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
259
|
+
// https://esbuild.github.io/plugins/#on-resolve-arguments
|
|
260
|
+
return {
|
|
261
|
+
path: fullPathToModule,
|
|
262
|
+
pluginData: {
|
|
263
|
+
version: packageJson.version,
|
|
264
|
+
pkg: extracted.pkg,
|
|
265
|
+
path: extracted.path,
|
|
266
|
+
full: fullPathToModule,
|
|
267
|
+
raw: args.path,
|
|
268
|
+
pkgOfInterest: true,
|
|
269
|
+
kind: args.kind,
|
|
270
|
+
internal,
|
|
271
|
+
isESM
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
} catch (e) {
|
|
275
|
+
// Skip vendored dependencies which never have a `package.json`. This
|
|
276
|
+
// will use the default resolve logic of ESBuild which is what we want
|
|
277
|
+
// since those files should be treated as regular files and not modules
|
|
278
|
+
// even though they are in a `node_modules` folder.
|
|
279
|
+
if (e.code === 'ENOENT') {
|
|
280
|
+
if (DEBUG) {
|
|
281
|
+
console.log([
|
|
282
|
+
'Skipping `package.json` lookup.',
|
|
283
|
+
'This usually means the package was vendored but could indicate an issue otherwise.'
|
|
284
|
+
].join(' '))
|
|
285
|
+
}
|
|
286
|
+
} else {
|
|
287
|
+
throw e
|
|
270
288
|
}
|
|
271
289
|
}
|
|
272
290
|
}
|
|
@@ -7,8 +7,20 @@ const path = require('node:path')
|
|
|
7
7
|
const { NODE_MAJOR, NODE_MINOR } = require('../../../version.js')
|
|
8
8
|
|
|
9
9
|
const getExportsImporting = (url) => import(url).then(Object.keys)
|
|
10
|
+
let getExportsModulePromise
|
|
11
|
+
|
|
12
|
+
const loadGetExportsModule = () => {
|
|
13
|
+
if (!getExportsModulePromise) {
|
|
14
|
+
getExportsModulePromise = import('import-in-the-middle/lib/get-exports.mjs')
|
|
15
|
+
}
|
|
16
|
+
return getExportsModulePromise
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
const getExports = NODE_MAJOR >= 20 || (NODE_MAJOR === 18 && NODE_MINOR >= 19)
|
|
11
|
-
?
|
|
20
|
+
? async (srcUrl, context, getSource) => {
|
|
21
|
+
const mod = await loadGetExportsModule()
|
|
22
|
+
return mod.getExports(srcUrl, context, getSource)
|
|
23
|
+
}
|
|
12
24
|
: getExportsImporting
|
|
13
25
|
|
|
14
26
|
function isStarExportLine (line) {
|
|
@@ -168,7 +180,7 @@ async function processModule ({ path, internal, context, excludeDefault }) {
|
|
|
168
180
|
*
|
|
169
181
|
* @param {string} fullPathToModule File to analize
|
|
170
182
|
* @param {string} [modulePackageJsonPath] Path of the package.json
|
|
171
|
-
* @param {
|
|
183
|
+
* @param {object} [packageJson] The content of the module package.json
|
|
172
184
|
* @returns {boolean}
|
|
173
185
|
*/
|
|
174
186
|
function isESMFile (fullPathToModule, modulePackageJsonPath, packageJson = {}) {
|
|
@@ -1,11 +1,12 @@
|
|
|
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
|
} = require('./helpers/instrument')
|
|
6
|
-
const shimmer = require('../../datadog-shimmer')
|
|
7
9
|
|
|
8
|
-
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
9
10
|
const ch = tracingChannel('apm:aerospike:command')
|
|
10
11
|
|
|
11
12
|
function wrapCreateCommand (createCommand) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const {
|
|
3
|
+
const { channel, tracingChannel } = require('dc-polyfill')
|
|
4
4
|
const shimmer = require('../../datadog-shimmer')
|
|
5
|
+
const { addHook } = require('./helpers/instrument')
|
|
5
6
|
|
|
6
|
-
const { channel, tracingChannel } = require('dc-polyfill')
|
|
7
7
|
const toolCreationChannel = channel('dd-trace:vercel-ai:tool')
|
|
8
8
|
|
|
9
9
|
const TRACED_FUNCTIONS = {
|
|
@@ -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: 'amqp10', file: 'lib/sender_link.js', versions: ['>=3'] }, SenderLink => {
|
|
10
10
|
const startCh = channel('apm:amqp10:send:start')
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const {
|
|
4
|
-
channel,
|
|
5
|
-
addHook
|
|
6
|
-
} = require('./helpers/instrument')
|
|
7
3
|
const kebabCase = require('../../datadog-core/src/utils/src/kebabcase')
|
|
8
4
|
const shimmer = require('../../datadog-shimmer')
|
|
9
5
|
|
|
10
6
|
const { NODE_MAJOR, NODE_MINOR } = require('../../../version')
|
|
7
|
+
const {
|
|
8
|
+
channel,
|
|
9
|
+
addHook
|
|
10
|
+
} = require('./helpers/instrument')
|
|
11
11
|
const MIN_VERSION = ((NODE_MAJOR > 22) || (NODE_MAJOR === 22 && NODE_MINOR >= 2)) ? '>=0.5.3' : '>=0.5.0'
|
|
12
12
|
|
|
13
13
|
const commandStartCh = channel('apm:amqplib:command:start')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook } = require('./helpers/instrument')
|
|
4
|
-
const shimmer = require('../../datadog-shimmer')
|
|
5
3
|
const { channel, tracingChannel } = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
5
|
+
const { addHook } = require('./helpers/instrument')
|
|
6
6
|
|
|
7
7
|
const anthropicTracingChannel = tracingChannel('apm:anthropic:request')
|
|
8
8
|
const onStreamedChunkCh = channel('apm:anthropic:request:chunk')
|
|
@@ -112,4 +112,16 @@ for (const extension of extensions) {
|
|
|
112
112
|
|
|
113
113
|
return exports
|
|
114
114
|
})
|
|
115
|
+
|
|
116
|
+
addHook({
|
|
117
|
+
name: '@anthropic-ai/sdk',
|
|
118
|
+
file: `resources/beta/messages/messages.${extension}`,
|
|
119
|
+
versions: ['>=0.33.0']
|
|
120
|
+
}, exports => {
|
|
121
|
+
const Messages = exports.Messages
|
|
122
|
+
|
|
123
|
+
shimmer.wrap(Messages.prototype, 'create', wrapCreate)
|
|
124
|
+
|
|
125
|
+
return exports
|
|
126
|
+
})
|
|
115
127
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook } = require('./helpers/instrument')
|
|
4
|
-
const shimmer = require('../../datadog-shimmer')
|
|
5
3
|
const dc = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
5
|
+
const { addHook } = require('./helpers/instrument')
|
|
6
6
|
|
|
7
7
|
const requestChannel = dc.tracingChannel('datadog:apollo-server-core:request')
|
|
8
8
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const dc = require('dc-polyfill')
|
|
4
4
|
|
|
5
|
-
const { addHook } = require('./helpers/instrument')
|
|
6
5
|
const shimmer = require('../../datadog-shimmer')
|
|
6
|
+
const { addHook } = require('./helpers/instrument')
|
|
7
7
|
|
|
8
8
|
const graphqlMiddlewareChannel = dc.tracingChannel('datadog:apollo:middleware')
|
|
9
9
|
const apolloHttpServerChannel = dc.tracingChannel('datadog:apollo:httpserver')
|
|
@@ -1,11 +1,12 @@
|
|
|
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
|
-
const tracingChannel = require('dc-polyfill').tracingChannel
|
|
9
10
|
|
|
10
11
|
const CHANNELS = {
|
|
11
12
|
'gateway.request': tracingChannel('apm:apollo:gateway:request'),
|
|
@@ -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:avsc:serialize-start')
|
|
8
8
|
const deserializeChannel = dc.channel('apm:avsc:deserialize-end')
|
|
9
9
|
|
|
@@ -1,7 +1,9 @@
|
|
|
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
|
+
|
|
6
|
+
const patchedClientConfigProtocols = new WeakSet()
|
|
5
7
|
|
|
6
8
|
function wrapRequest (send) {
|
|
7
9
|
return function wrappedRequest (cb) {
|
|
@@ -67,12 +69,14 @@ function wrapSmithySend (send) {
|
|
|
67
69
|
|
|
68
70
|
if (typeof command.deserialize === 'function') {
|
|
69
71
|
shimmer.wrap(command, 'deserialize', deserialize => wrapDeserialize(deserialize, channelSuffix))
|
|
70
|
-
} else if (this.config?.protocol?.deserializeResponse) {
|
|
72
|
+
} else if (this.config?.protocol?.deserializeResponse && !patchedClientConfigProtocols.has(this.config.protocol)) {
|
|
71
73
|
shimmer.wrap(
|
|
72
74
|
this.config.protocol,
|
|
73
75
|
'deserializeResponse',
|
|
74
76
|
deserializeResponse => wrapDeserialize(deserializeResponse, channelSuffix, 2)
|
|
75
77
|
)
|
|
78
|
+
|
|
79
|
+
patchedClientConfigProtocols.add(this.config.protocol)
|
|
76
80
|
}
|
|
77
81
|
|
|
78
82
|
const ctx = {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
5
|
const {
|
|
4
6
|
addHook
|
|
5
7
|
} = require('./helpers/instrument')
|
|
6
|
-
const shimmer = require('../../datadog-shimmer')
|
|
7
|
-
const dc = require('dc-polyfill')
|
|
8
8
|
|
|
9
9
|
const producerCh = dc.tracingChannel('apm:azure-event-hubs:send')
|
|
10
10
|
|
|
@@ -13,6 +13,7 @@ addHook({
|
|
|
13
13
|
versions: ['>=6.0.0']
|
|
14
14
|
}, obj => {
|
|
15
15
|
const EventHubProducerClient = obj.EventHubProducerClient
|
|
16
|
+
|
|
16
17
|
shimmer.wrap(EventHubProducerClient.prototype, 'createBatch',
|
|
17
18
|
createBatch => async function () {
|
|
18
19
|
const batch = await createBatch.apply(this, arguments)
|
|
@@ -20,7 +21,7 @@ addHook({
|
|
|
20
21
|
tryAdd => function (eventData) {
|
|
21
22
|
const config = this._context.config
|
|
22
23
|
const functionName = tryAdd.name
|
|
23
|
-
return producerCh.
|
|
24
|
+
return producerCh.traceSync(
|
|
24
25
|
tryAdd,
|
|
25
26
|
{ functionName, eventData, batch: this, config },
|
|
26
27
|
this, ...arguments)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
5
|
const {
|
|
4
6
|
addHook
|
|
5
7
|
} = require('./helpers/instrument')
|
|
6
|
-
const shimmer = require('../../datadog-shimmer')
|
|
7
|
-
const dc = require('dc-polyfill')
|
|
8
8
|
|
|
9
9
|
const azureFunctionsChannel = dc.tracingChannel('datadog:azure:functions:invoke')
|
|
10
10
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
5
|
const {
|
|
4
6
|
addHook
|
|
5
7
|
} = require('./helpers/instrument')
|
|
6
8
|
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
|
-
const dc = require('dc-polyfill')
|
|
9
|
-
|
|
10
9
|
const producerCh = dc.tracingChannel('apm:azure-service-bus:send')
|
|
11
10
|
const isItDefault = new WeakSet()
|
|
12
11
|
|
|
@@ -38,7 +37,7 @@ addHook({ name: '@azure/service-bus', versions: ['>=7.9.2'] }, (obj) => {
|
|
|
38
37
|
shimmer.wrap(batch, 'tryAddMessage', tryAddMessage => function (msg) {
|
|
39
38
|
const functionName = tryAddMessage.name
|
|
40
39
|
const config = this._context.config
|
|
41
|
-
return producerCh.
|
|
40
|
+
return producerCh.traceSync(
|
|
42
41
|
tryAddMessage, { config, functionName, batch, msg }, this, ...arguments)
|
|
43
42
|
})
|
|
44
43
|
return batch
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
3
4
|
const { addHook } = require('./helpers/instrument')
|
|
4
5
|
const { wrapThen } = require('./helpers/promise')
|
|
5
|
-
const shimmer = require('../../datadog-shimmer')
|
|
6
6
|
|
|
7
7
|
function createGetNewLibraryCopyWrap (originalLib) {
|
|
8
8
|
return function wrapGetNewLibraryCopy (getNewLibraryCopy) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// AUTO-GENERATED by dd-compile
|
|
2
|
+
// Orchestrion rewriter handles the actual instrumentation via JSON config.
|
|
3
|
+
// This file registers the module hooks for the rewriter to process.
|
|
4
|
+
|
|
5
|
+
'use strict'
|
|
6
|
+
|
|
7
|
+
const { addHook, getHooks } = require('./helpers/instrument')
|
|
8
|
+
|
|
9
|
+
for (const hook of getHooks('bullmq')) {
|
|
10
|
+
addHook(hook, exports => exports)
|
|
11
|
+
}
|
|
@@ -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: 'bunyan', versions: ['>=1'] }, Logger => {
|
|
10
10
|
const logCh = channel('apm:bunyan:log')
|
|
@@ -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:cassandra-driver:query:start')
|
|
10
10
|
const finishCh = channel('apm:cassandra-driver:query:finish')
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
const { errorMonitor } = require('events')
|
|
4
4
|
const util = require('util')
|
|
5
5
|
|
|
6
|
+
const dc = require('dc-polyfill')
|
|
7
|
+
const shimmer = require('../../datadog-shimmer')
|
|
6
8
|
const {
|
|
7
9
|
addHook
|
|
8
10
|
} = require('./helpers/instrument')
|
|
9
|
-
const shimmer = require('../../datadog-shimmer')
|
|
10
|
-
const dc = require('dc-polyfill')
|
|
11
11
|
|
|
12
12
|
const childProcessChannel = dc.tracingChannel('datadog:child_process:execution')
|
|
13
13
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
|
|
5
|
+
const log = require('../../dd-trace/src/log')
|
|
3
6
|
const {
|
|
4
7
|
addHook,
|
|
5
8
|
channel
|
|
6
9
|
} = require('./helpers/instrument')
|
|
7
|
-
const shimmer = require('../../datadog-shimmer')
|
|
8
|
-
|
|
9
|
-
const log = require('../../dd-trace/src/log')
|
|
10
10
|
|
|
11
11
|
// Create channels for Confluent Kafka JavaScript
|
|
12
12
|
const channels = {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { errorMonitor } = require('events')
|
|
4
|
+
const shimmer = require('../../datadog-shimmer')
|
|
4
5
|
const {
|
|
5
6
|
channel,
|
|
6
7
|
addHook
|
|
7
8
|
} = require('./helpers/instrument')
|
|
8
|
-
const shimmer = require('../../datadog-shimmer')
|
|
9
9
|
|
|
10
10
|
function findCallbackIndex (args, lowerbound = 2) {
|
|
11
11
|
for (let i = args.length - 1; i >= lowerbound; i--) {
|
|
@@ -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 cryptoHashCh = channel('datadog:crypto:hashing:start')
|
|
10
10
|
const cryptoCipherCh = channel('datadog:crypto:cipher:start')
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const { createCoverageMap } = require('istanbul-lib-coverage')
|
|
3
2
|
|
|
4
|
-
const {
|
|
3
|
+
const { createCoverageMap } = require('../../../vendor/dist/istanbul-lib-coverage')
|
|
5
4
|
const shimmer = require('../../datadog-shimmer')
|
|
6
5
|
const log = require('../../dd-trace/src/log')
|
|
7
6
|
const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
|
|
7
|
+
const {
|
|
8
|
+
getCoveredFilenamesFromCoverage,
|
|
9
|
+
resetCoverage,
|
|
10
|
+
mergeCoverage,
|
|
11
|
+
fromCoverageMapToCoverage,
|
|
12
|
+
getTestSuitePath,
|
|
13
|
+
CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
|
|
14
|
+
getIsFaultyEarlyFlakeDetection
|
|
15
|
+
} = require('../../dd-trace/src/plugins/util/test')
|
|
16
|
+
const satisfies = require('../../../vendor/dist/semifies')
|
|
17
|
+
const { addHook, channel } = require('./helpers/instrument')
|
|
8
18
|
|
|
9
19
|
const testStartCh = channel('ci:cucumber:test:start')
|
|
10
20
|
const testRetryCh = channel('ci:cucumber:test:retry')
|
|
@@ -34,17 +44,6 @@ const itrSkippedSuitesCh = channel('ci:cucumber:itr:skipped-suites')
|
|
|
34
44
|
|
|
35
45
|
const getCodeCoverageCh = channel('ci:nyc:get-coverage')
|
|
36
46
|
|
|
37
|
-
const {
|
|
38
|
-
getCoveredFilenamesFromCoverage,
|
|
39
|
-
resetCoverage,
|
|
40
|
-
mergeCoverage,
|
|
41
|
-
fromCoverageMapToCoverage,
|
|
42
|
-
getTestSuitePath,
|
|
43
|
-
CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
|
|
44
|
-
getIsFaultyEarlyFlakeDetection
|
|
45
|
-
} = require('../../dd-trace/src/plugins/util/test')
|
|
46
|
-
const satisfies = require('semifies')
|
|
47
|
-
|
|
48
47
|
const isMarkedAsUnskippable = (pickle) => {
|
|
49
48
|
return pickle.tags.some(tag => tag.name === '@datadog:unskippable')
|
|
50
49
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook } = require('./helpers/instrument')
|
|
4
3
|
const { DD_MAJOR } = require('../../../version')
|
|
4
|
+
const { addHook } = require('./helpers/instrument')
|
|
5
5
|
|
|
6
6
|
// No handler because this is only useful for testing.
|
|
7
7
|
// Cypress plugin does not patch any library.
|
|
@@ -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: '@elastic/transport', file: 'lib/Transport.js', versions: ['>=8'] }, (exports) => {
|
|
10
10
|
shimmer.wrap(exports.default.prototype, 'request', createWrapRequest('elasticsearch'))
|
|
@@ -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 sanitizeMethodFinished = channel('datadog:express-mongo-sanitize:sanitize:finish')
|
|
10
10
|
const sanitizeMiddlewareFinished = channel('datadog:express-mongo-sanitize:filter:finish')
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { createWrapRouterMethod } = require('./router')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { createWrapRouterMethod } = require('./router')
|
|
5
5
|
const { addHook, channel, tracingChannel } = require('./helpers/instrument')
|
|
6
6
|
const {
|
|
7
7
|
setRouterMountPath,
|
|
@@ -9,13 +9,13 @@ function wrapOn (on) {
|
|
|
9
9
|
return function onWithTrace (method, path, opts) {
|
|
10
10
|
const index = typeof opts === 'function' ? 2 : 3
|
|
11
11
|
const handler = arguments[index]
|
|
12
|
-
const wrapper = shimmer.wrapFunction(handler, handler => function (req) {
|
|
13
|
-
routeChannel.publish({ req, route: path })
|
|
14
|
-
|
|
15
|
-
return handler.apply(this, arguments)
|
|
16
|
-
})
|
|
17
12
|
|
|
18
13
|
if (typeof handler === 'function') {
|
|
14
|
+
const wrapper = shimmer.wrapFunction(handler, handler => function (req) {
|
|
15
|
+
routeChannel.publish({ req, route: path })
|
|
16
|
+
|
|
17
|
+
return handler.apply(this, arguments)
|
|
18
|
+
})
|
|
19
19
|
arguments[index] = wrapper
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -24,6 +24,7 @@ function wrapOn (on) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
addHook({ name: 'find-my-way', versions: ['>=1'] }, Router => {
|
|
27
|
+
// No need to wrap the off method as it would not contain the handler function.
|
|
27
28
|
shimmer.wrap(Router.prototype, 'on', wrapOn)
|
|
28
29
|
|
|
29
30
|
return Router
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { errorMonitor } = require('events')
|
|
4
|
-
const { channel, addHook } = require('./helpers/instrument')
|
|
5
4
|
const shimmer = require('../../datadog-shimmer')
|
|
5
|
+
const { channel, addHook } = require('./helpers/instrument')
|
|
6
6
|
|
|
7
7
|
const startChannel = channel('apm:fs:operation:start')
|
|
8
8
|
const finishChannel = channel('apm:fs:operation:finish')
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { addHook, AsyncResource } = require('./helpers/instrument')
|
|
4
3
|
const shimmer = require('../../datadog-shimmer')
|
|
4
|
+
const { addHook, AsyncResource } = require('./helpers/instrument')
|
|
5
5
|
|
|
6
6
|
function createWrapAcquire () {
|
|
7
7
|
return function wrapAcquire (acquire) {
|