dd-trace 6.0.0-pre-10da8f2 → 6.0.0-pre-b4d004d
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 +25 -18
- package/README.md +5 -17
- package/ci/cypress/after-run.js +2 -0
- package/ci/cypress/after-spec.js +2 -0
- package/ci/cypress/plugin.js +10 -0
- package/ci/cypress/polyfills.js +25 -0
- package/ci/cypress/support.js +2 -0
- package/ci/init.js +57 -47
- package/ext/exporters.d.ts +3 -1
- package/ext/exporters.js +3 -1
- package/index.d.ts +709 -52
- package/init.js +0 -2
- package/initialize.mjs +14 -7
- package/loader-hook.mjs +52 -1
- package/package.json +121 -75
- package/packages/datadog-code-origin/index.js +39 -13
- package/packages/datadog-core/src/storage.js +17 -15
- package/packages/datadog-core/src/utils/src/kebabcase.js +4 -6
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-core/src/utils/src/pick.js +2 -2
- package/packages/datadog-core/src/utils/src/set.js +13 -11
- package/packages/datadog-core/src/utils/src/uniq.js +1 -1
- package/packages/datadog-esbuild/index.js +254 -60
- package/packages/datadog-esbuild/src/utils.js +198 -0
- package/packages/datadog-instrumentations/src/ai.js +151 -0
- package/packages/datadog-instrumentations/src/amqp10.js +19 -17
- package/packages/datadog-instrumentations/src/amqplib.js +57 -37
- package/packages/datadog-instrumentations/src/anthropic.js +115 -0
- package/packages/datadog-instrumentations/src/apollo-server.js +56 -3
- package/packages/datadog-instrumentations/src/apollo.js +9 -12
- package/packages/datadog-instrumentations/src/avsc.js +2 -0
- package/packages/datadog-instrumentations/src/aws-sdk.js +89 -62
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +37 -0
- package/packages/datadog-instrumentations/src/azure-functions.js +10 -2
- package/packages/datadog-instrumentations/src/azure-service-bus.js +65 -0
- package/packages/datadog-instrumentations/src/cassandra-driver.js +51 -68
- package/packages/datadog-instrumentations/src/child_process.js +25 -46
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +420 -0
- package/packages/datadog-instrumentations/src/connect.js +6 -2
- package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
- package/packages/datadog-instrumentations/src/couchbase.js +104 -69
- package/packages/datadog-instrumentations/src/cucumber.js +264 -154
- package/packages/datadog-instrumentations/src/cypress.js +4 -1
- package/packages/datadog-instrumentations/src/dd-trace-api.js +7 -0
- package/packages/datadog-instrumentations/src/dns.js +20 -18
- package/packages/datadog-instrumentations/src/elasticsearch.js +22 -26
- package/packages/datadog-instrumentations/src/express.js +105 -21
- package/packages/datadog-instrumentations/src/fastify.js +159 -38
- package/packages/datadog-instrumentations/src/fetch.js +1 -1
- package/packages/datadog-instrumentations/src/fs.js +44 -52
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +35 -43
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +102 -0
- package/packages/datadog-instrumentations/src/graphql.js +110 -132
- package/packages/datadog-instrumentations/src/grpc/client.js +11 -23
- package/packages/datadog-instrumentations/src/grpc/server.js +7 -20
- package/packages/datadog-instrumentations/src/hapi.js +10 -11
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +20 -5
- package/packages/datadog-instrumentations/src/{check_require_cache.js → helpers/check-require-cache.js} +4 -4
- package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +42 -0
- package/packages/datadog-instrumentations/src/helpers/fetch.js +4 -5
- package/packages/datadog-instrumentations/src/helpers/hook.js +29 -17
- package/packages/datadog-instrumentations/src/helpers/hooks.js +16 -4
- package/packages/datadog-instrumentations/src/helpers/instrument.js +16 -46
- package/packages/datadog-instrumentations/src/helpers/register.js +98 -35
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +238 -0
- package/packages/datadog-instrumentations/src/hono.js +105 -0
- package/packages/datadog-instrumentations/src/http/client.js +16 -21
- package/packages/datadog-instrumentations/src/http2/client.js +1 -0
- package/packages/datadog-instrumentations/src/http2/server.js +14 -21
- package/packages/datadog-instrumentations/src/ioredis.js +20 -14
- package/packages/datadog-instrumentations/src/iovalkey.js +47 -0
- package/packages/datadog-instrumentations/src/jest.js +878 -519
- package/packages/datadog-instrumentations/src/kafkajs.js +65 -44
- package/packages/datadog-instrumentations/src/knex.js +17 -19
- package/packages/datadog-instrumentations/src/koa.js +2 -3
- package/packages/datadog-instrumentations/src/langchain.js +79 -43
- package/packages/datadog-instrumentations/src/ldapjs.js +3 -4
- package/packages/datadog-instrumentations/src/limitd-client.js +2 -1
- package/packages/datadog-instrumentations/src/mariadb.js +70 -65
- package/packages/datadog-instrumentations/src/memcached.js +17 -24
- package/packages/datadog-instrumentations/src/microgateway-core.js +16 -15
- package/packages/datadog-instrumentations/src/mocha/common.js +2 -0
- package/packages/datadog-instrumentations/src/mocha/main.js +212 -138
- package/packages/datadog-instrumentations/src/mocha/utils.js +209 -120
- package/packages/datadog-instrumentations/src/mocha/worker.js +16 -9
- package/packages/datadog-instrumentations/src/mocha.js +5 -1
- package/packages/datadog-instrumentations/src/moleculer/client.js +11 -13
- package/packages/datadog-instrumentations/src/moleculer/server.js +12 -13
- package/packages/datadog-instrumentations/src/mongodb-core.js +35 -32
- package/packages/datadog-instrumentations/src/mongodb.js +9 -13
- package/packages/datadog-instrumentations/src/mongoose.js +27 -30
- package/packages/datadog-instrumentations/src/mysql.js +30 -37
- package/packages/datadog-instrumentations/src/mysql2.js +61 -53
- package/packages/datadog-instrumentations/src/net.js +28 -30
- package/packages/datadog-instrumentations/src/next.js +30 -40
- package/packages/datadog-instrumentations/src/nyc.js +6 -2
- package/packages/datadog-instrumentations/src/openai.js +52 -121
- package/packages/datadog-instrumentations/src/oracledb.js +51 -17
- package/packages/datadog-instrumentations/src/orchestrion-config/index.js +86 -0
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -3
- package/packages/datadog-instrumentations/src/pg.js +61 -61
- package/packages/datadog-instrumentations/src/pino.js +18 -6
- package/packages/datadog-instrumentations/src/playwright.js +837 -168
- package/packages/datadog-instrumentations/src/prisma.js +114 -0
- package/packages/datadog-instrumentations/src/protobufjs.js +5 -4
- package/packages/datadog-instrumentations/src/redis.js +35 -46
- package/packages/datadog-instrumentations/src/restify.js +9 -13
- package/packages/datadog-instrumentations/src/rhea.js +42 -54
- package/packages/datadog-instrumentations/src/router.js +96 -45
- package/packages/datadog-instrumentations/src/selenium.js +2 -0
- package/packages/datadog-instrumentations/src/sequelize.js +5 -15
- package/packages/datadog-instrumentations/src/sharedb.js +10 -16
- package/packages/datadog-instrumentations/src/tedious.js +20 -23
- package/packages/datadog-instrumentations/src/url.js +9 -17
- package/packages/datadog-instrumentations/src/vitest.js +557 -195
- package/packages/datadog-instrumentations/src/ws.js +136 -0
- package/packages/datadog-plugin-aerospike/src/index.js +11 -11
- package/packages/datadog-plugin-ai/src/index.js +17 -0
- package/packages/datadog-plugin-ai/src/tracing.js +33 -0
- package/packages/datadog-plugin-ai/src/utils.js +28 -0
- package/packages/datadog-plugin-amqp10/src/consumer.js +9 -5
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqp10/src/producer.js +10 -6
- package/packages/datadog-plugin-amqplib/src/client.js +9 -5
- package/packages/datadog-plugin-amqplib/src/consumer.js +8 -4
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/producer.js +8 -4
- package/packages/datadog-plugin-amqplib/src/util.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +17 -0
- package/packages/datadog-plugin-anthropic/src/tracing.js +30 -0
- package/packages/datadog-plugin-apollo/src/gateway/execute.js +2 -4
- package/packages/datadog-plugin-apollo/src/gateway/fetch.js +2 -4
- package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/plan.js +2 -4
- package/packages/datadog-plugin-apollo/src/gateway/postprocessing.js +2 -4
- package/packages/datadog-plugin-apollo/src/gateway/request.js +7 -10
- package/packages/datadog-plugin-apollo/src/gateway/validate.js +4 -7
- package/packages/datadog-plugin-apollo/src/index.js +1 -1
- package/packages/datadog-plugin-avsc/src/index.js +4 -2
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +14 -12
- package/packages/datadog-plugin-aws-sdk/src/base.js +152 -54
- package/packages/datadog-plugin-aws-sdk/src/index.js +1 -3
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +10 -42
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +208 -36
- package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +4 -6
- package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +40 -51
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +33 -31
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +5 -7
- package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +4 -6
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +6 -8
- package/packages/datadog-plugin-aws-sdk/src/services/sfn.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -6
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +34 -32
- package/packages/datadog-plugin-aws-sdk/src/services/states.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/stepfunctions.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/util.js +68 -9
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +15 -0
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +82 -0
- package/packages/datadog-plugin-azure-functions/src/index.js +110 -33
- package/packages/datadog-plugin-azure-service-bus/src/index.js +15 -0
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +84 -0
- package/packages/datadog-plugin-bunyan/src/index.js +1 -3
- package/packages/datadog-plugin-cassandra-driver/src/index.js +10 -6
- package/packages/datadog-plugin-child_process/src/index.js +36 -16
- package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +24 -24
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/batch-consumer.js +9 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/consumer.js +9 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +25 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/producer.js +9 -0
- package/packages/datadog-plugin-connect/src/index.js +1 -3
- package/packages/datadog-plugin-couchbase/src/index.js +39 -19
- package/packages/datadog-plugin-cucumber/src/index.js +144 -86
- package/packages/datadog-plugin-cypress/src/after-run.js +2 -0
- package/packages/datadog-plugin-cypress/src/after-spec.js +2 -0
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +237 -83
- package/packages/datadog-plugin-cypress/src/index.js +3 -3
- package/packages/datadog-plugin-cypress/src/plugin.js +23 -1
- package/packages/datadog-plugin-cypress/src/support.js +65 -17
- package/packages/datadog-plugin-dd-trace-api/src/index.js +3 -4
- package/packages/datadog-plugin-dns/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/lookup.js +12 -7
- package/packages/datadog-plugin-dns/src/lookup_service.js +8 -4
- package/packages/datadog-plugin-dns/src/resolve.js +7 -4
- package/packages/datadog-plugin-dns/src/reverse.js +8 -4
- package/packages/datadog-plugin-elasticsearch/src/index.js +14 -6
- package/packages/datadog-plugin-express/src/code_origin.js +41 -0
- package/packages/datadog-plugin-express/src/index.js +10 -12
- package/packages/datadog-plugin-express/src/tracing.js +17 -0
- package/packages/datadog-plugin-fastify/src/code_origin.js +2 -5
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/tracing.js +18 -3
- package/packages/datadog-plugin-fetch/src/index.js +2 -2
- package/packages/datadog-plugin-find-my-way/src/index.js +1 -3
- package/packages/datadog-plugin-fs/src/index.js +11 -4
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +10 -6
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +14 -9
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +8 -4
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +17 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +49 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +21 -0
- package/packages/datadog-plugin-graphql/src/execute.js +18 -11
- package/packages/datadog-plugin-graphql/src/index.js +14 -9
- package/packages/datadog-plugin-graphql/src/parse.js +13 -10
- package/packages/datadog-plugin-graphql/src/resolve.js +67 -26
- package/packages/datadog-plugin-graphql/src/tools/index.js +0 -1
- package/packages/datadog-plugin-graphql/src/tools/signature.js +0 -1
- package/packages/datadog-plugin-graphql/src/tools/transforms.js +0 -1
- package/packages/datadog-plugin-graphql/src/utils.js +2 -0
- package/packages/datadog-plugin-graphql/src/validate.js +13 -7
- package/packages/datadog-plugin-grpc/src/client.js +6 -6
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-grpc/src/server.js +3 -3
- package/packages/datadog-plugin-grpc/src/util.js +7 -3
- package/packages/datadog-plugin-hapi/src/index.js +1 -3
- package/packages/datadog-plugin-hono/src/index.js +26 -0
- package/packages/datadog-plugin-http/src/client.js +34 -20
- package/packages/datadog-plugin-http/src/index.js +1 -1
- package/packages/datadog-plugin-http/src/server.js +5 -8
- package/packages/datadog-plugin-http2/src/client.js +39 -34
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/server.js +23 -11
- package/packages/datadog-plugin-ioredis/src/index.js +1 -3
- package/packages/datadog-plugin-iovalkey/src/index.js +16 -0
- package/packages/datadog-plugin-jest/src/index.js +156 -77
- package/packages/datadog-plugin-jest/src/util.js +20 -10
- package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +9 -4
- package/packages/datadog-plugin-kafkajs/src/consumer.js +23 -28
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/producer.js +22 -10
- package/packages/datadog-plugin-kafkajs/src/utils.js +27 -0
- package/packages/datadog-plugin-koa/src/index.js +1 -3
- package/packages/datadog-plugin-langchain/src/handlers/default.js +0 -18
- package/packages/datadog-plugin-langchain/src/handlers/embedding.js +0 -45
- package/packages/datadog-plugin-langchain/src/handlers/language_models.js +18 -0
- package/packages/datadog-plugin-langchain/src/index.js +18 -13
- package/packages/datadog-plugin-langchain/src/tracing.js +97 -34
- package/packages/datadog-plugin-mariadb/src/index.js +5 -11
- package/packages/datadog-plugin-memcached/src/index.js +7 -3
- package/packages/datadog-plugin-microgateway-core/src/index.js +4 -4
- package/packages/datadog-plugin-mocha/src/index.js +151 -114
- package/packages/datadog-plugin-moleculer/src/client.js +17 -11
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/server.js +11 -7
- package/packages/datadog-plugin-mongodb-core/src/index.js +71 -13
- package/packages/datadog-plugin-mongoose/src/index.js +20 -0
- package/packages/datadog-plugin-mysql/src/index.js +24 -11
- package/packages/datadog-plugin-mysql2/src/index.js +17 -1
- package/packages/datadog-plugin-net/src/index.js +1 -1
- package/packages/datadog-plugin-net/src/ipc.js +8 -6
- package/packages/datadog-plugin-net/src/tcp.js +18 -12
- package/packages/datadog-plugin-next/src/index.js +10 -10
- package/packages/datadog-plugin-nyc/src/index.js +3 -3
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/services.js +6 -10
- package/packages/datadog-plugin-openai/src/stream-helpers.js +139 -0
- package/packages/datadog-plugin-openai/src/tracing.js +205 -485
- package/packages/datadog-plugin-opensearch/src/index.js +1 -3
- package/packages/datadog-plugin-oracledb/src/connection-parser.js +37 -0
- package/packages/datadog-plugin-oracledb/src/index.js +22 -19
- package/packages/datadog-plugin-pg/src/index.js +12 -5
- package/packages/datadog-plugin-pino/src/index.js +1 -3
- package/packages/datadog-plugin-playwright/src/index.js +257 -32
- package/packages/datadog-plugin-prisma/src/client.js +60 -0
- package/packages/datadog-plugin-prisma/src/engine.js +81 -0
- package/packages/datadog-plugin-prisma/src/index.js +22 -0
- package/packages/datadog-plugin-protobufjs/src/index.js +4 -6
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +10 -9
- package/packages/datadog-plugin-redis/src/index.js +21 -12
- package/packages/datadog-plugin-restify/src/index.js +1 -3
- package/packages/datadog-plugin-rhea/src/consumer.js +9 -7
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/producer.js +7 -4
- package/packages/datadog-plugin-router/src/index.js +3 -4
- package/packages/datadog-plugin-selenium/src/index.js +4 -9
- package/packages/datadog-plugin-sharedb/src/index.js +14 -6
- package/packages/datadog-plugin-tedious/src/index.js +19 -13
- package/packages/datadog-plugin-undici/src/index.js +2 -4
- package/packages/datadog-plugin-vitest/src/index.js +197 -88
- package/packages/datadog-plugin-web/src/index.js +1 -3
- package/packages/datadog-plugin-winston/src/index.js +1 -3
- package/packages/datadog-plugin-ws/src/close.js +69 -0
- package/packages/datadog-plugin-ws/src/index.js +26 -0
- package/packages/datadog-plugin-ws/src/producer.js +65 -0
- package/packages/datadog-plugin-ws/src/receiver.js +75 -0
- package/packages/datadog-plugin-ws/src/server.js +81 -0
- package/packages/datadog-shimmer/src/shimmer.js +213 -231
- package/packages/dd-trace/src/aiguard/client.js +25 -0
- package/packages/dd-trace/src/aiguard/noop.js +9 -0
- package/packages/dd-trace/src/aiguard/sdk.js +195 -0
- package/packages/dd-trace/src/aiguard/tags.js +14 -0
- package/packages/dd-trace/src/appsec/api_security_sampler.js +29 -17
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +59 -35
- package/packages/dd-trace/src/appsec/channels.js +30 -21
- package/packages/dd-trace/src/appsec/graphql.js +31 -20
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +9 -18
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +0 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hsts-header-missing-analyzer.js +9 -14
- package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +6 -4
- package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +15 -17
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +43 -15
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +16 -12
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +25 -18
- package/packages/dd-trace/src/appsec/iast/analyzers/sql-injection-analyzer.js +26 -11
- package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +9 -0
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +18 -21
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +5 -4
- package/packages/dd-trace/src/appsec/iast/analyzers/xcontenttype-header-missing-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +2 -3
- package/packages/dd-trace/src/appsec/iast/iast-context.js +5 -1
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +8 -4
- package/packages/dd-trace/src/appsec/iast/index.js +28 -8
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +102 -7
- package/packages/dd-trace/src/appsec/iast/path-line.js +28 -11
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +17 -25
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +7 -7
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +4 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +0 -3
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +51 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +6 -29
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +88 -31
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugins/kafka.js +3 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +26 -15
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-telemetry.js +3 -32
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +116 -65
- package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +0 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +7 -7
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +10 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/command-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/ldap-sensitive-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +7 -7
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +23 -28
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +5 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +6 -7
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +8 -13
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +2 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +12 -15
- package/packages/dd-trace/src/appsec/index.js +63 -21
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +15 -11
- package/packages/dd-trace/src/appsec/rasp/index.js +44 -22
- package/packages/dd-trace/src/appsec/rasp/lfi.js +26 -11
- package/packages/dd-trace/src/appsec/rasp/sql_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +30 -15
- package/packages/dd-trace/src/appsec/recommended.json +601 -74
- package/packages/dd-trace/src/appsec/reporter.js +393 -73
- package/packages/dd-trace/src/appsec/rule_manager.js +64 -172
- package/packages/dd-trace/src/appsec/sdk/index.js +23 -1
- package/packages/dd-trace/src/appsec/sdk/noop.js +10 -0
- package/packages/dd-trace/src/appsec/sdk/set_user.js +4 -3
- package/packages/dd-trace/src/appsec/sdk/track_event.js +135 -11
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +3 -6
- package/packages/dd-trace/src/appsec/stack_trace.js +35 -18
- package/packages/dd-trace/src/appsec/telemetry/common.js +8 -4
- package/packages/dd-trace/src/appsec/telemetry/index.js +97 -9
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +75 -7
- package/packages/dd-trace/src/appsec/telemetry/user.js +9 -1
- package/packages/dd-trace/src/appsec/telemetry/waf.js +68 -17
- package/packages/dd-trace/src/appsec/user_tracking.js +5 -9
- package/packages/dd-trace/src/appsec/waf/diagnostics.js +15 -0
- package/packages/dd-trace/src/appsec/waf/index.js +67 -7
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +60 -22
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +26 -7
- package/packages/dd-trace/src/azure_metadata.js +13 -12
- package/packages/dd-trace/src/baggage.js +36 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +14 -12
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +5 -5
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +6 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +3 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +7 -6
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +26 -20
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +15 -12
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +30 -10
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +41 -9
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +7 -5
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +8 -7
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +19 -12
- package/packages/dd-trace/src/ci-visibility/telemetry.js +8 -1
- package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +3 -3
- package/packages/dd-trace/src/ci-visibility/{quarantined-tests/get-quarantined-tests.js → test-management/get-test-management-tests.js} +23 -9
- package/packages/dd-trace/src/config-helper.js +99 -0
- package/packages/dd-trace/src/config.js +926 -823
- package/packages/dd-trace/src/config_defaults.js +207 -0
- package/packages/dd-trace/src/config_stable.js +105 -0
- package/packages/dd-trace/src/constants.js +2 -1
- package/packages/dd-trace/src/crashtracking/crashtracker.js +14 -15
- package/packages/dd-trace/src/datastreams/checkpointer.js +25 -2
- package/packages/dd-trace/src/datastreams/context.js +3 -1
- package/packages/dd-trace/src/datastreams/encoding.js +11 -9
- package/packages/dd-trace/src/datastreams/fnv.js +6 -4
- package/packages/dd-trace/src/datastreams/index.js +23 -1
- package/packages/dd-trace/src/datastreams/pathway.js +16 -14
- package/packages/dd-trace/src/datastreams/processor.js +20 -22
- package/packages/dd-trace/src/datastreams/schemas/schema.js +2 -0
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +50 -45
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +8 -10
- package/packages/dd-trace/src/datastreams/size.js +1 -1
- package/packages/dd-trace/src/datastreams/writer.js +8 -5
- package/packages/dd-trace/src/debugger/config.js +16 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +197 -23
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +294 -0
- package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -7
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +159 -79
- package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +2 -0
- package/packages/dd-trace/src/debugger/devtools_client/log.js +30 -0
- package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +27 -50
- package/packages/dd-trace/src/debugger/devtools_client/send.js +23 -14
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +16 -12
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +19 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +80 -76
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +4 -4
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +3 -11
- package/packages/dd-trace/src/debugger/devtools_client/state.js +38 -7
- package/packages/dd-trace/src/debugger/devtools_client/status.js +6 -2
- package/packages/dd-trace/src/debugger/index.js +52 -11
- package/packages/dd-trace/src/dogstatsd.js +197 -51
- package/packages/dd-trace/src/encode/0.4.js +122 -20
- package/packages/dd-trace/src/encode/0.5.js +11 -7
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +17 -10
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
- package/packages/dd-trace/src/encode/tags-processors.js +3 -1
- package/packages/dd-trace/src/exporter.js +9 -6
- package/packages/dd-trace/src/exporters/agent/index.js +16 -9
- package/packages/dd-trace/src/exporters/agent/writer.js +8 -9
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +7 -4
- package/packages/dd-trace/src/exporters/common/docker.js +29 -16
- package/packages/dd-trace/src/exporters/common/form-data.js +6 -4
- package/packages/dd-trace/src/exporters/common/request.js +9 -8
- package/packages/dd-trace/src/exporters/common/util.js +6 -2
- package/packages/dd-trace/src/exporters/log/index.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/index.js +5 -2
- package/packages/dd-trace/src/exporters/span-stats/writer.js +8 -7
- package/packages/dd-trace/src/external-logger/src/index.js +7 -5
- package/packages/dd-trace/src/flare/file.js +1 -5
- package/packages/dd-trace/src/format.js +83 -85
- package/packages/dd-trace/src/git_metadata_tagger.js +2 -0
- package/packages/dd-trace/src/git_properties.js +93 -6
- package/packages/dd-trace/src/guardrails/index.js +14 -5
- package/packages/dd-trace/src/guardrails/log.js +2 -2
- package/packages/dd-trace/src/guardrails/telemetry.js +37 -23
- package/packages/dd-trace/src/guardrails/util.js +0 -2
- package/packages/dd-trace/src/heap_snapshots.js +58 -0
- package/packages/dd-trace/src/histogram.js +12 -23
- package/packages/dd-trace/src/id.js +15 -9
- package/packages/dd-trace/src/iitm.js +10 -22
- package/packages/dd-trace/src/index.js +4 -3
- package/packages/dd-trace/src/lambda/handler.js +7 -6
- package/packages/dd-trace/src/lambda/index.js +2 -1
- package/packages/dd-trace/src/lambda/runtime/patch.js +12 -9
- package/packages/dd-trace/src/lambda/runtime/ritm.js +17 -21
- package/packages/dd-trace/src/llmobs/constants/tags.js +5 -0
- package/packages/dd-trace/src/llmobs/constants/writers.js +9 -5
- package/packages/dd-trace/src/llmobs/index.js +67 -18
- package/packages/dd-trace/src/llmobs/noop.js +17 -19
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +365 -0
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +197 -0
- package/packages/dd-trace/src/llmobs/plugins/anthropic.js +279 -0
- package/packages/dd-trace/src/llmobs/plugins/base.js +16 -14
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +51 -18
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +2 -6
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +17 -13
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/tool.js +15 -0
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +36 -0
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +99 -16
- package/packages/dd-trace/src/llmobs/plugins/openai.js +250 -16
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +195 -0
- package/packages/dd-trace/src/llmobs/sdk.js +201 -122
- package/packages/dd-trace/src/llmobs/span_processor.js +137 -32
- package/packages/dd-trace/src/llmobs/tagger.js +212 -104
- package/packages/dd-trace/src/llmobs/telemetry.js +175 -0
- package/packages/dd-trace/src/llmobs/util.js +9 -9
- package/packages/dd-trace/src/llmobs/writers/base.js +97 -39
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +9 -6
- package/packages/dd-trace/src/llmobs/writers/spans.js +69 -0
- package/packages/dd-trace/src/llmobs/writers/util.js +60 -0
- package/packages/dd-trace/src/log/index.js +44 -29
- package/packages/dd-trace/src/log/log.js +30 -6
- package/packages/dd-trace/src/log/utils.js +16 -0
- package/packages/dd-trace/src/log/writer.js +23 -7
- package/packages/dd-trace/src/msgpack/chunk.js +3 -3
- package/packages/dd-trace/src/msgpack/encoder.js +31 -31
- package/packages/dd-trace/src/noop/dogstatsd.js +13 -5
- package/packages/dd-trace/src/noop/proxy.js +12 -0
- package/packages/dd-trace/src/noop/span.js +5 -6
- package/packages/dd-trace/src/noop/tracer.js +1 -2
- package/packages/dd-trace/src/openfeature/constants/constants.js +51 -0
- package/packages/dd-trace/src/openfeature/flagging_provider.js +45 -0
- package/packages/dd-trace/src/openfeature/index.js +77 -0
- package/packages/dd-trace/src/openfeature/noop.js +101 -0
- package/packages/dd-trace/src/openfeature/writers/base.js +181 -0
- package/packages/dd-trace/src/openfeature/writers/exposures.js +173 -0
- package/packages/dd-trace/src/openfeature/writers/util.js +43 -0
- package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -0
- package/packages/dd-trace/src/opentelemetry/logs/batch_log_processor.js +100 -0
- package/packages/dd-trace/src/opentelemetry/logs/index.js +87 -0
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +77 -0
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +126 -0
- package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +53 -0
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +252 -0
- package/packages/dd-trace/src/opentelemetry/otlp/common.proto +116 -0
- package/packages/dd-trace/src/opentelemetry/otlp/logs.proto +226 -0
- package/packages/dd-trace/src/opentelemetry/otlp/logs_service.proto +78 -0
- package/packages/dd-trace/src/opentelemetry/otlp/metrics.proto +720 -0
- package/packages/dd-trace/src/opentelemetry/otlp/metrics_service.proto +78 -0
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +177 -0
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +163 -0
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +66 -0
- package/packages/dd-trace/src/opentelemetry/otlp/resource.proto +45 -0
- package/packages/dd-trace/src/opentelemetry/span.js +21 -9
- package/packages/dd-trace/src/opentelemetry/span_processor.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +8 -7
- package/packages/dd-trace/src/opentracing/propagation/log.js +10 -13
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +98 -56
- package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
- package/packages/dd-trace/src/opentracing/propagation/tracestate.js +8 -4
- package/packages/dd-trace/src/opentracing/span.js +49 -25
- package/packages/dd-trace/src/opentracing/span_context.js +4 -0
- package/packages/dd-trace/src/opentracing/tracer.js +10 -7
- package/packages/dd-trace/src/payload-tagging/config/index.js +35 -21
- package/packages/dd-trace/src/payload-tagging/index.js +30 -17
- package/packages/dd-trace/src/payload-tagging/tagging.js +27 -16
- package/packages/dd-trace/src/pkg.js +4 -2
- package/packages/dd-trace/src/plugin_manager.js +42 -16
- package/packages/dd-trace/src/plugins/apollo.js +5 -3
- package/packages/dd-trace/src/plugins/cache.js +3 -3
- package/packages/dd-trace/src/plugins/ci_plugin.js +227 -27
- package/packages/dd-trace/src/plugins/client.js +3 -3
- package/packages/dd-trace/src/plugins/composite.js +3 -0
- package/packages/dd-trace/src/plugins/consumer.js +5 -5
- package/packages/dd-trace/src/plugins/database.js +9 -7
- package/packages/dd-trace/src/plugins/inbound.js +5 -1
- package/packages/dd-trace/src/plugins/index.js +17 -2
- package/packages/dd-trace/src/plugins/log_plugin.js +9 -15
- package/packages/dd-trace/src/plugins/outbound.js +27 -11
- package/packages/dd-trace/src/plugins/plugin.js +71 -2
- package/packages/dd-trace/src/plugins/producer.js +5 -5
- package/packages/dd-trace/src/plugins/server.js +3 -3
- package/packages/dd-trace/src/plugins/storage.js +3 -3
- package/packages/dd-trace/src/plugins/structured_log_plugin.js +9 -0
- package/packages/dd-trace/src/plugins/tracing.js +31 -9
- package/packages/dd-trace/src/plugins/util/ci.js +128 -44
- package/packages/dd-trace/src/plugins/util/env.js +2 -0
- package/packages/dd-trace/src/plugins/util/git-cache.js +129 -0
- package/packages/dd-trace/src/plugins/util/git.js +302 -47
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +21 -22
- package/packages/dd-trace/src/plugins/util/ip_extractor.js +59 -14
- package/packages/dd-trace/src/plugins/util/llm.js +29 -10
- package/packages/dd-trace/src/plugins/util/serverless.js +3 -2
- package/packages/dd-trace/src/plugins/util/stacktrace.js +195 -45
- package/packages/dd-trace/src/plugins/util/tags.js +25 -2
- package/packages/dd-trace/src/plugins/util/test.js +502 -66
- package/packages/dd-trace/src/plugins/util/url.js +3 -1
- package/packages/dd-trace/src/plugins/util/urlfilter.js +13 -17
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +16 -4
- package/packages/dd-trace/src/plugins/util/web.js +49 -21
- package/packages/dd-trace/src/priority_sampler.js +178 -40
- package/packages/dd-trace/src/profiler.js +5 -4
- package/packages/dd-trace/src/profiling/config.js +169 -78
- package/packages/dd-trace/src/profiling/exporter_cli.js +19 -21
- package/packages/dd-trace/src/profiling/exporters/agent.js +2 -6
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +10 -23
- package/packages/dd-trace/src/profiling/exporters/file.js +2 -1
- package/packages/dd-trace/src/profiling/index.js +2 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +49 -0
- package/packages/dd-trace/src/profiling/profiler.js +169 -87
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns.js +4 -6
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookup.js +4 -4
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookupservice.js +4 -4
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_resolve.js +5 -5
- package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_reverse.js +4 -4
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +31 -27
- package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +5 -9
- package/packages/dd-trace/src/profiling/profilers/event_plugins/net.js +5 -9
- package/packages/dd-trace/src/profiling/profilers/events.js +113 -83
- package/packages/dd-trace/src/profiling/profilers/poisson.js +105 -0
- package/packages/dd-trace/src/profiling/profilers/shared.js +6 -1
- package/packages/dd-trace/src/profiling/profilers/space.js +39 -26
- package/packages/dd-trace/src/profiling/profilers/wall.js +217 -124
- package/packages/dd-trace/src/profiling/ssi-heuristics.js +21 -131
- package/packages/dd-trace/src/profiling/tagger.js +21 -13
- package/packages/dd-trace/src/profiling/webspan-utils.js +3 -1
- package/packages/dd-trace/src/proxy.js +116 -53
- package/packages/dd-trace/src/random_sampler.js +40 -0
- package/packages/dd-trace/src/rate_limiter.js +29 -4
- package/packages/dd-trace/src/remote_config/capabilities.js +13 -1
- package/packages/dd-trace/src/remote_config/index.js +17 -7
- package/packages/dd-trace/src/remote_config/manager.js +34 -16
- package/packages/dd-trace/src/remote_config/scheduler.js +2 -1
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +8 -8
- package/packages/dd-trace/src/runtime_metrics/index.js +1 -1
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +195 -240
- package/packages/dd-trace/src/sampler.js +48 -2
- package/packages/dd-trace/src/sampling_rule.js +135 -4
- package/packages/dd-trace/src/scope.js +1 -1
- package/packages/dd-trace/src/serverless.js +10 -51
- package/packages/dd-trace/src/service-naming/index.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/definition.js +4 -9
- package/packages/dd-trace/src/service-naming/schemas/util.js +3 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/index.js +4 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +18 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +14 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +4 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +30 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/index.js +4 -1
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +18 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +12 -1
- package/packages/dd-trace/src/service-naming/schemas/v1/web.js +2 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +30 -0
- package/packages/dd-trace/src/span_processor.js +16 -9
- package/packages/dd-trace/src/span_sampler.js +23 -1
- package/packages/dd-trace/src/span_stats.js +5 -4
- package/packages/dd-trace/src/standalone/index.js +70 -0
- package/packages/dd-trace/src/standalone/product.js +35 -0
- package/packages/dd-trace/src/standalone/tracesource.js +36 -0
- package/packages/dd-trace/src/standalone/tracesource_priority_sampler.js +59 -0
- package/packages/dd-trace/src/startup-log.js +45 -51
- package/packages/dd-trace/src/supported-configurations.json +495 -0
- package/packages/dd-trace/src/tagger.js +38 -33
- package/packages/dd-trace/src/telemetry/dependencies.js +64 -59
- package/packages/dd-trace/src/telemetry/endpoints.js +150 -0
- package/packages/dd-trace/src/telemetry/index.js +16 -13
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +13 -12
- package/packages/dd-trace/src/telemetry/metrics.js +10 -13
- package/packages/dd-trace/src/telemetry/send-data.js +15 -8
- package/packages/dd-trace/src/telemetry/telemetry.js +54 -46
- package/packages/dd-trace/src/tracer.js +18 -10
- package/packages/dd-trace/src/tracer_metadata.js +25 -0
- package/packages/dd-trace/src/util.js +19 -14
- package/register.js +5 -3
- package/scripts/preinstall.js +3 -1
- package/version.js +8 -5
- package/packages/datadog-core/src/utils/src/get.js +0 -11
- package/packages/datadog-core/src/utils/src/has.js +0 -14
- package/packages/datadog-instrumentations/src/paperplane.js +0 -77
- package/packages/datadog-instrumentations/src/utils/src/extract-package-and-module-path.js +0 -36
- package/packages/datadog-plugin-langchain/src/handlers/chain.js +0 -50
- package/packages/datadog-plugin-langchain/src/handlers/language_models/chat_model.js +0 -99
- package/packages/datadog-plugin-langchain/src/handlers/language_models/index.js +0 -48
- package/packages/datadog-plugin-langchain/src/handlers/language_models/llm.js +0 -57
- package/packages/datadog-plugin-paperplane/src/index.js +0 -25
- package/packages/datadog-plugin-paperplane/src/logger.js +0 -11
- package/packages/datadog-plugin-paperplane/src/server.js +0 -24
- package/packages/dd-trace/src/appsec/iast/analyzers/header-injection-analyzer.js +0 -122
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/header-sensitive-analyzer.js +0 -20
- package/packages/dd-trace/src/appsec/standalone.js +0 -130
- package/packages/dd-trace/src/llmobs/writers/spans/agentProxy.js +0 -23
- package/packages/dd-trace/src/llmobs/writers/spans/agentless.js +0 -17
- package/packages/dd-trace/src/llmobs/writers/spans/base.js +0 -52
- package/packages/dd-trace/src/payload-tagging/jsonpath-plus.js +0 -2094
- package/packages/dd-trace/src/profiling/ssi-telemetry-mock-profiler.js +0 -28
package/LICENSE-3rdparty.csv
CHANGED
|
@@ -2,24 +2,29 @@ Component,Origin,License,Copyright
|
|
|
2
2
|
require,@datadog/libdatadog,Apache license 2.0,Copyright 2024 Datadog Inc.
|
|
3
3
|
require,@datadog/native-appsec,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
4
4
|
require,@datadog/native-metrics,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
5
|
-
require,@datadog/native-iast-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
6
5
|
require,@datadog/native-iast-taint-tracking,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
6
|
+
require,@datadog/openfeature-node-server,Apache license 2.0,Copyright 2024 Datadog Inc.
|
|
7
7
|
require,@datadog/pprof,Apache license 2.0,Copyright 2019 Google Inc.
|
|
8
8
|
require,@datadog/sketches-js,Apache license 2.0,Copyright 2020 Datadog Inc.
|
|
9
|
+
require,@datadog/wasm-js-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
|
|
9
10
|
require,@opentelemetry/api,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
11
|
+
require,@opentelemetry/api-logs,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
10
12
|
require,@opentelemetry/core,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
11
|
-
require,@
|
|
13
|
+
require,@opentelemetry/resources,Apache license 2.0,Copyright OpenTelemetry Authors
|
|
14
|
+
require,@isaacs/ttlcache,Blue Oak,Copyright Isaac Z. Schlueter and Contributors
|
|
12
15
|
require,crypto-randomuuid,MIT,Copyright 2021 Node.js Foundation and contributors
|
|
13
16
|
require,dc-polyfill,MIT,Copyright 2023 Datadog Inc.
|
|
17
|
+
require,escape-string-regexp,MIT,Copyright Sindre Sorhus
|
|
14
18
|
require,ignore,MIT,Copyright 2013 Kael Zhang and contributors
|
|
15
19
|
require,import-in-the-middle,Apache license 2.0,Copyright 2021 Datadog Inc.
|
|
16
20
|
require,istanbul-lib-coverage,BSD-3-Clause,Copyright 2012-2015 Yahoo! Inc.
|
|
17
21
|
require,jest-docblock,MIT,Copyright Meta Platforms, Inc. and affiliates.
|
|
18
|
-
require,
|
|
22
|
+
require,jsonpath-plus,MIT,Copyright (c) 2011-2019 Stefan Goessner, Subbu Allamaraju, Mike Brevoort, Robert Krahn, Brett Zamir, Richard Schneider
|
|
19
23
|
require,limiter,MIT,Copyright 2011 John Hurliman
|
|
20
24
|
require,lodash.sortby,MIT,Copyright JS Foundation and other contributors
|
|
21
25
|
require,lru-cache,ISC,Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
|
|
22
26
|
require,module-details-from-path,MIT,Copyright 2016 Thomas Watson Steen
|
|
27
|
+
require,mutexify,MIT,Copyright (c) 2014 Mathias Buus
|
|
23
28
|
require,opentracing,MIT,Copyright 2016 Resonance Labs Inc
|
|
24
29
|
require,path-to-regexp,MIT,Copyright 2014 Blake Embrey
|
|
25
30
|
require,pprof-format,MIT,Copyright 2022 Stephen Belanger
|
|
@@ -31,50 +36,52 @@ require,semifies,Apache license 2.0,Copyright Authors
|
|
|
31
36
|
require,shell-quote,mit,Copyright (c) 2013 James Halliday
|
|
32
37
|
require,source-map,BSD-3-Clause,Copyright (c) 2009-2011, Mozilla Foundation and contributors
|
|
33
38
|
require,ttl-set,MIT,Copyright (c) 2024 Thomas Watson
|
|
34
|
-
dev,@
|
|
35
|
-
dev,@types/
|
|
39
|
+
dev,@babel/helpers,MIT,Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
40
|
+
dev,@types/chai,MIT,Copyright (c) Microsoft Corp.
|
|
41
|
+
dev,@types/mocha,MIT,Copyright (c) Microsoft Corp.
|
|
42
|
+
dev,@types/node,MIT,Copyright (c) Microsoft Corp.
|
|
43
|
+
dev,@types/sinon,MIT,Copyright (c) Microsoft Corp.
|
|
44
|
+
dev,@types/tap,MIT,Copyright (c) Microsoft Corp.
|
|
36
45
|
dev,@eslint/eslintrc,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
37
46
|
dev,@eslint/js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
38
47
|
dev,@msgpack/msgpack,ISC,Copyright 2019 The MessagePack Community
|
|
39
|
-
dev,@
|
|
40
|
-
dev,
|
|
41
|
-
dev
|
|
48
|
+
dev,@openfeature/core,Apache-2.0,Copyright OpenFeature Authors
|
|
49
|
+
dev,@openfeature/server-sdk,Apache-2.0,Copyright OpenFeature Authors
|
|
50
|
+
dev,@stylistic/eslint-plugin,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
42
51
|
dev,axios,MIT,Copyright 2014-present Matt Zabriskie
|
|
43
52
|
dev,benchmark,MIT,Copyright 2010-2016 Mathias Bynens Robert Kieffer John-David Dalton
|
|
44
53
|
dev,body-parser,MIT,Copyright 2014 Jonathan Ong 2014-2015 Douglas Christopher Wilson
|
|
54
|
+
dev,bun,MIT,Copyright contributors
|
|
45
55
|
dev,chai,MIT,Copyright 2017 Chai.js Assertion Library
|
|
46
|
-
dev,chalk,MIT,Copyright Sindre Sorhus
|
|
47
|
-
dev,checksum,MIT,Copyright Daniel D. Shaw
|
|
48
|
-
dev,cli-table3,MIT,Copyright 2014 James Talmage
|
|
49
|
-
dev,dotenv,BSD-2-Clause,Copyright 2015 Scott Motte
|
|
50
|
-
dev,esbuild,MIT,Copyright (c) 2020 Evan Wallace
|
|
51
56
|
dev,eslint,MIT,Copyright JS Foundation and other contributors https://js.foundation
|
|
52
|
-
dev,eslint-
|
|
57
|
+
dev,eslint-plugin-cypress,MIT,Copyright (c) 2019 Cypress.io
|
|
53
58
|
dev,eslint-plugin-import,MIT,Copyright 2015 Ben Mosher
|
|
54
59
|
dev,eslint-plugin-mocha,MIT,Copyright 2014 Mathias Schreck
|
|
55
60
|
dev,eslint-plugin-n,MIT,Copyright 2015 Toru Nagashima
|
|
56
61
|
dev,eslint-plugin-promise,ISC,jden and other contributors
|
|
57
62
|
dev,eslint-plugin-unicorn,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
58
63
|
dev,express,MIT,Copyright 2009-2014 TJ Holowaychuk 2013-2014 Roman Shtylman 2014-2015 Douglas Christopher Wilson
|
|
59
|
-
dev,get-port,MIT,Copyright Sindre Sorhus
|
|
60
64
|
dev,glob,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
61
65
|
dev,globals,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
62
66
|
dev,graphql,MIT,Copyright 2015 Facebook Inc.
|
|
63
67
|
dev,jszip,MIT,Copyright 2015-2016 Stuart Knightley and contributors
|
|
64
|
-
dev,knex,MIT,Copyright (c) 2013-present Tim Griesser
|
|
65
|
-
dev,mkdirp,MIT,Copyright 2010 James Halliday
|
|
66
68
|
dev,mocha,MIT,Copyright 2011-2018 JS Foundation and contributors https://js.foundation
|
|
69
|
+
dev,mocha-multi-reporters,MIT,Copyright 2015-2019 Yousaf Nabi and Stanley Ng
|
|
70
|
+
dev,mocha-junit-reporter,MIT, Copyright 2015 Michael Allen
|
|
67
71
|
dev,multer,MIT,Copyright 2014 Hage Yaapa
|
|
68
72
|
dev,nock,MIT,Copyright 2017 Pedro Teixeira and other contributors
|
|
69
73
|
dev,nyc,ISC,Copyright 2015 Contributors
|
|
74
|
+
dev,octokit,MIT,Copyright 2023 Octokit contributors
|
|
70
75
|
dev,proxyquire,MIT,Copyright 2013 Thorsten Lorenz
|
|
71
|
-
dev,rimraf,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
72
76
|
dev,semver,ISC,Copyright Isaac Z. Schlueter and Contributors
|
|
73
77
|
dev,sinon,BSD-3-Clause,Copyright 2010-2017 Christian Johansen
|
|
74
78
|
dev,sinon-chai,WTFPL and BSD-2-Clause,Copyright 2004 Sam Hocevar 2012–2017 Domenic Denicola
|
|
75
79
|
dev,tap,ISC,Copyright 2011-2022 Isaac Z. Schlueter and Contributors
|
|
76
80
|
dev,tiktoken,MIT,Copyright (c) 2022 OpenAI, Shantanu Jain
|
|
81
|
+
dev,typescript,Apache license 2.0,Copyright Microsoft Corp.
|
|
82
|
+
dev,workerpool,Apache license 2.0,Copyright (C) 2014-2024 Jos de Jong wjosdejong@gmail.com
|
|
77
83
|
dev,yaml,ISC,Copyright Eemeli Aro <eemeli@gmail.com>
|
|
84
|
+
dev,yarn-deduplicate,Apache license 2.0,Copyright [yyyy] [name of copyright owner]
|
|
78
85
|
file,aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com Inc. or its affiliates. All Rights Reserved.
|
|
79
86
|
file,profile.proto,Apache license 2.0,Copyright 2016 Google Inc.
|
|
80
87
|
file,is-git-url,MIT,Copyright (c) 2017 Jon Schlinkert.
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
Most of the documentation for `dd-trace` is available on these webpages:
|
|
16
16
|
|
|
17
17
|
- [Tracing Node.js Applications](https://docs.datadoghq.com/tracing/languages/nodejs/) - most project documentation, including setup instructions
|
|
18
|
-
- [Configuring the
|
|
18
|
+
- [Configuring the Node.js Tracing Library](https://docs.datadoghq.com/tracing/trace_collection/library_config/nodejs) - environment variables and config options
|
|
19
19
|
- [API Documentation](https://datadog.github.io/dd-trace-js) - method signatures, plugin list, and some usage examples
|
|
20
20
|
- [APM Terms and Concepts](https://docs.datadoghq.com/tracing/visualization/) - a glossary of concepts applicable across all languages
|
|
21
21
|
|
|
@@ -59,7 +59,7 @@ When a new release line is introduced the previous release line then enters main
|
|
|
59
59
|
Once that year is up the release line enters End of Life and will not receive new updates.
|
|
60
60
|
The library also follows the Node.js LTS lifecycle wherein new release lines drop compatibility with Node.js versions that reach end-of-life (with the maintenance release line still receiving updates for a year).
|
|
61
61
|
|
|
62
|
-
For more information about library versioning and compatibility, see the [
|
|
62
|
+
For more information about library versioning and compatibility, see the [Node.js Compatibility Requirements](https://docs.datadoghq.com/tracing/trace_collection/compatibility/nodejs/#releases) page.
|
|
63
63
|
|
|
64
64
|
Changes associated with each individual release are documented on the [GitHub Releases](https://github.com/DataDog/dd-trace-js/releases) screen.
|
|
65
65
|
|
|
@@ -69,21 +69,11 @@ Changes associated with each individual release are documented on the [GitHub Re
|
|
|
69
69
|
Please read the [CONTRIBUTING.md](https://github.com/DataDog/dd-trace-js/blob/master/CONTRIBUTING.md) document before contributing to this open source project.
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
##
|
|
72
|
+
## ECMAScript Modules (ESM) Support
|
|
73
73
|
|
|
74
|
-
ESM support requires an
|
|
74
|
+
ESM support requires an _additional_ command line argument when starting the Node.js process.
|
|
75
|
+
For more information, see the [section on ESM support](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/#esm-applications-only-import-the-loader) in the Node.js tracer documentation.
|
|
75
76
|
|
|
76
|
-
Node.js < v20.6
|
|
77
|
-
|
|
78
|
-
```sh
|
|
79
|
-
node --loader dd-trace/loader-hook.mjs entrypoint.js
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Node.js >= v20.6
|
|
83
|
-
|
|
84
|
-
```sh
|
|
85
|
-
node --import dd-trace/register.js entrypoint.js
|
|
86
|
-
```
|
|
87
77
|
|
|
88
78
|
## Serverless / Lambda
|
|
89
79
|
|
|
@@ -107,5 +97,3 @@ Please refer to the [SECURITY.md](https://github.com/DataDog/dd-trace-js/blob/ma
|
|
|
107
97
|
## Datadog With OpenTelemetery
|
|
108
98
|
|
|
109
99
|
Please refer to the [Node.js Custom Instrumentation using OpenTelemetry API](https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/nodejs/otel/) document. It includes information on how to use the OpenTelemetry API with dd-trace-js.
|
|
110
|
-
|
|
111
|
-
Note that our internal implementation of the OpenTelemetry API is currently set within the version range `>=1.0.0 <1.9.0`. This range will be updated at a regular cadence therefore, we recommend updating your tracer to the latest release to ensure up to date support.
|
package/ci/cypress/after-run.js
CHANGED
package/ci/cypress/after-spec.js
CHANGED
package/ci/cypress/plugin.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const { NODE_MAJOR } = require('../../version')
|
|
4
|
+
|
|
5
|
+
// These polyfills are here because cypress@6.7.0, which we still support for v5, runs its plugin code
|
|
6
|
+
// with Node.js@12.
|
|
7
|
+
if (NODE_MAJOR < 18) {
|
|
8
|
+
require('./polyfills')
|
|
9
|
+
}
|
|
10
|
+
|
|
1
11
|
require('../init')
|
|
2
12
|
|
|
3
13
|
module.exports = require('../../packages/datadog-plugin-cypress/src/plugin')
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
if (!Object.hasOwn) {
|
|
4
|
+
Object.defineProperty(Object, 'hasOwn', {
|
|
5
|
+
// eslint-disable-next-line prefer-object-has-own
|
|
6
|
+
value: (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop),
|
|
7
|
+
writable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
})
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (!Array.prototype.at) {
|
|
13
|
+
// eslint-disable-next-line no-extend-native
|
|
14
|
+
Object.defineProperty(Array.prototype, 'at', {
|
|
15
|
+
value: function (n) {
|
|
16
|
+
const len = this.length
|
|
17
|
+
if (len === 0) return
|
|
18
|
+
let index = Math.trunc(n)
|
|
19
|
+
if (index < 0) index += len
|
|
20
|
+
return (index < 0 || index >= len) ? undefined : this[index]
|
|
21
|
+
},
|
|
22
|
+
writable: true,
|
|
23
|
+
configurable: true
|
|
24
|
+
})
|
|
25
|
+
}
|
package/ci/cypress/support.js
CHANGED
package/ci/init.js
CHANGED
|
@@ -1,74 +1,84 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
1
3
|
/* eslint-disable no-console */
|
|
2
4
|
const tracer = require('../packages/dd-trace')
|
|
3
5
|
const { isTrue, isFalse } = require('../packages/dd-trace/src/util')
|
|
4
6
|
const log = require('../packages/dd-trace/src/log')
|
|
7
|
+
const { getEnvironmentVariable } = require('../packages/dd-trace/src/config-helper')
|
|
5
8
|
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
+
const PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm']
|
|
10
|
+
const DEFAULT_FLUSH_INTERVAL = 5000
|
|
11
|
+
const JEST_FLUSH_INTERVAL = 0
|
|
12
|
+
const EXPORTER_MAP = {
|
|
13
|
+
jest: 'jest_worker',
|
|
14
|
+
cucumber: 'cucumber_worker',
|
|
15
|
+
mocha: 'mocha_worker',
|
|
16
|
+
playwright: 'playwright_worker',
|
|
17
|
+
vitest: 'vitest_worker'
|
|
18
|
+
}
|
|
9
19
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
function isPackageManager () {
|
|
21
|
+
return PACKAGE_MANAGERS.some(packageManager =>
|
|
22
|
+
process.argv[1]?.includes(`bin/${packageManager}`)
|
|
23
|
+
)
|
|
24
|
+
}
|
|
15
25
|
|
|
16
|
-
|
|
17
|
-
|
|
26
|
+
function detectTestWorkerType () {
|
|
27
|
+
if (getEnvironmentVariable('JEST_WORKER_ID')) return 'jest'
|
|
28
|
+
if (getEnvironmentVariable('CUCUMBER_WORKER_ID')) return 'cucumber'
|
|
29
|
+
if (getEnvironmentVariable('MOCHA_WORKER_ID')) return 'mocha'
|
|
30
|
+
if (getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')) return 'playwright'
|
|
31
|
+
if (getEnvironmentVariable('TINYPOOL_WORKER_ID')) return 'vitest'
|
|
32
|
+
if (getEnvironmentVariable('DD_VITEST_WORKER')) return 'vitest'
|
|
33
|
+
return null
|
|
18
34
|
}
|
|
19
35
|
|
|
20
|
-
const
|
|
36
|
+
const testWorkerType = detectTestWorkerType()
|
|
37
|
+
const isTestWorker = testWorkerType !== null
|
|
38
|
+
const isJestWorker = testWorkerType === 'jest'
|
|
39
|
+
|
|
40
|
+
const baseOptions = {
|
|
21
41
|
startupLogs: false,
|
|
22
42
|
isCiVisibility: true,
|
|
23
|
-
flushInterval: isJestWorker ?
|
|
43
|
+
flushInterval: isJestWorker ? JEST_FLUSH_INTERVAL : DEFAULT_FLUSH_INTERVAL
|
|
24
44
|
}
|
|
25
45
|
|
|
26
|
-
let shouldInit = !isFalse(
|
|
46
|
+
let shouldInit = !isFalse(getEnvironmentVariable('DD_CIVISIBILITY_ENABLED'))
|
|
47
|
+
const isAgentlessEnabled = isTrue(getEnvironmentVariable('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
|
|
27
48
|
|
|
28
|
-
if (isPackageManager()) {
|
|
49
|
+
if (!isTestWorker && isPackageManager()) {
|
|
29
50
|
log.debug('dd-trace is not initialized in a package manager.')
|
|
30
51
|
shouldInit = false
|
|
31
52
|
}
|
|
32
53
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
options.experimental = {
|
|
38
|
-
exporter: 'datadog'
|
|
39
|
-
}
|
|
40
|
-
} else {
|
|
41
|
-
console.error('DD_CIVISIBILITY_AGENTLESS_ENABLED is set, but neither ' +
|
|
42
|
-
'DD_API_KEY nor DATADOG_API_KEY are set in your environment, so ' +
|
|
43
|
-
'dd-trace will not be initialized.')
|
|
44
|
-
shouldInit = false
|
|
54
|
+
if (isTestWorker) {
|
|
55
|
+
baseOptions.telemetry = { enabled: false }
|
|
56
|
+
baseOptions.experimental = {
|
|
57
|
+
exporter: EXPORTER_MAP[testWorkerType]
|
|
45
58
|
}
|
|
46
59
|
} else {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (isMochaWorker) {
|
|
65
|
-
options.experimental = {
|
|
66
|
-
exporter: 'mocha_worker'
|
|
60
|
+
if (isAgentlessEnabled) {
|
|
61
|
+
if (getEnvironmentVariable('DD_API_KEY')) {
|
|
62
|
+
baseOptions.experimental = {
|
|
63
|
+
exporter: 'datadog'
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
console.error(
|
|
67
|
+
'DD_CIVISIBILITY_AGENTLESS_ENABLED is set, but neither ' +
|
|
68
|
+
'DD_API_KEY nor DATADOG_API_KEY are set in your environment, so ' +
|
|
69
|
+
'dd-trace will not be initialized.'
|
|
70
|
+
)
|
|
71
|
+
shouldInit = false
|
|
72
|
+
}
|
|
73
|
+
} else {
|
|
74
|
+
baseOptions.experimental = {
|
|
75
|
+
exporter: 'agent_proxy'
|
|
76
|
+
}
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
79
|
|
|
70
80
|
if (shouldInit) {
|
|
71
|
-
tracer.init(
|
|
81
|
+
tracer.init(baseOptions)
|
|
72
82
|
tracer.use('fs', false)
|
|
73
83
|
tracer.use('child_process', false)
|
|
74
84
|
}
|
package/ext/exporters.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ declare const exporters: {
|
|
|
5
5
|
AGENT_PROXY: 'agent_proxy',
|
|
6
6
|
JEST_WORKER: 'jest_worker',
|
|
7
7
|
CUCUMBER_WORKER: 'cucumber_worker',
|
|
8
|
-
MOCHA_WORKER: 'mocha_worker'
|
|
8
|
+
MOCHA_WORKER: 'mocha_worker',
|
|
9
|
+
PLAYWRIGHT_WORKER: 'playwright_worker',
|
|
10
|
+
VITEST_WORKER: 'vitest_worker'
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
export = exporters
|
package/ext/exporters.js
CHANGED