dd-trace 5.84.0 → 5.86.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ci/cypress/polyfills.js +1 -1
- package/ci/init.js +5 -5
- package/ext/exporters.js +1 -1
- package/ext/formats.js +1 -1
- package/ext/index.js +1 -1
- package/ext/kinds.js +1 -1
- package/ext/priority.js +1 -1
- package/ext/scopes.js +1 -1
- package/ext/tags.js +1 -1
- package/ext/types.js +1 -1
- package/index.d.ts +96 -24
- package/initialize.mjs +47 -31
- package/loader-hook.mjs +35 -22
- package/package.json +34 -31
- package/packages/datadog-code-origin/index.js +12 -10
- package/packages/datadog-core/src/storage.js +30 -12
- package/packages/datadog-core/src/utils/src/pick.js +2 -2
- package/packages/datadog-esbuild/index.js +75 -79
- package/packages/datadog-esbuild/src/log.js +32 -0
- package/packages/datadog-esbuild/src/utils.js +12 -8
- package/packages/datadog-instrumentations/src/aerospike.js +3 -3
- package/packages/datadog-instrumentations/src/ai.js +5 -5
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +1 -1
- package/packages/datadog-instrumentations/src/anthropic.js +3 -3
- package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
- package/packages/datadog-instrumentations/src/apollo.js +2 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
- package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
- package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
- package/packages/datadog-instrumentations/src/body-parser.js +2 -2
- 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 +7 -7
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
- package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
- package/packages/datadog-instrumentations/src/couchbase.js +8 -6
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +19 -19
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +2 -2
- package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
- package/packages/datadog-instrumentations/src/express-session.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +4 -4
- package/packages/datadog-instrumentations/src/fastify.js +1 -1
- package/packages/datadog-instrumentations/src/fetch.js +2 -2
- package/packages/datadog-instrumentations/src/fs.js +7 -7
- package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
- package/packages/datadog-instrumentations/src/google-genai.js +1 -1
- package/packages/datadog-instrumentations/src/graphql.js +10 -10
- package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
- package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
- package/packages/datadog-instrumentations/src/hono.js +6 -6
- package/packages/datadog-instrumentations/src/http/client.js +1 -1
- package/packages/datadog-instrumentations/src/http/server.js +4 -4
- package/packages/datadog-instrumentations/src/http2/server.js +1 -1
- 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 +196 -66
- package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
- package/packages/datadog-instrumentations/src/knex.js +2 -2
- package/packages/datadog-instrumentations/src/koa.js +3 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/mariadb.js +1 -1
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
- package/packages/datadog-instrumentations/src/mocha/main.js +33 -24
- package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
- package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
- package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
- package/packages/datadog-instrumentations/src/mongodb.js +7 -7
- package/packages/datadog-instrumentations/src/mongoose.js +10 -10
- package/packages/datadog-instrumentations/src/mquery.js +6 -6
- package/packages/datadog-instrumentations/src/multer.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +1 -1
- package/packages/datadog-instrumentations/src/net.js +6 -6
- package/packages/datadog-instrumentations/src/next.js +6 -6
- package/packages/datadog-instrumentations/src/nyc.js +34 -2
- package/packages/datadog-instrumentations/src/openai.js +24 -24
- package/packages/datadog-instrumentations/src/oracledb.js +2 -2
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
- package/packages/datadog-instrumentations/src/passport-http.js +1 -1
- package/packages/datadog-instrumentations/src/passport-local.js +1 -1
- package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
- package/packages/datadog-instrumentations/src/passport.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +2 -2
- package/packages/datadog-instrumentations/src/playwright.js +59 -59
- package/packages/datadog-instrumentations/src/prisma.js +216 -75
- 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 +6 -6
- package/packages/datadog-instrumentations/src/q.js +2 -2
- package/packages/datadog-instrumentations/src/redis.js +2 -2
- package/packages/datadog-instrumentations/src/rhea.js +5 -5
- package/packages/datadog-instrumentations/src/router.js +8 -8
- package/packages/datadog-instrumentations/src/selenium.js +3 -3
- package/packages/datadog-instrumentations/src/sequelize.js +1 -1
- package/packages/datadog-instrumentations/src/sharedb.js +2 -2
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +2 -2
- package/packages/datadog-instrumentations/src/url.js +5 -5
- package/packages/datadog-instrumentations/src/vitest.js +56 -45
- 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 +150 -41
- package/packages/datadog-plugin-aerospike/src/index.js +4 -4
- package/packages/datadog-plugin-ai/src/index.js +1 -1
- package/packages/datadog-plugin-ai/src/tracing.js +2 -2
- package/packages/datadog-plugin-ai/src/utils.js +1 -1
- package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/client.js +2 -2
- package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/util.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
- package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
- package/packages/datadog-plugin-apollo/src/index.js +1 -1
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
- package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
- package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
- package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
- package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
- package/packages/datadog-plugin-bullmq/src/index.js +1 -1
- package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
- package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-couchbase/src/index.js +3 -3
- package/packages/datadog-plugin-cucumber/src/index.js +17 -23
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +73 -56
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-cypress/src/support.js +56 -9
- package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/lookup.js +2 -2
- package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
- package/packages/datadog-plugin-dns/src/resolve.js +2 -2
- package/packages/datadog-plugin-dns/src/reverse.js +2 -2
- package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-fs/src/index.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +10 -10
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
- package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
- package/packages/datadog-plugin-graphql/src/execute.js +2 -2
- package/packages/datadog-plugin-graphql/src/index.js +2 -2
- package/packages/datadog-plugin-graphql/src/parse.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
- package/packages/datadog-plugin-graphql/src/utils.js +1 -1
- package/packages/datadog-plugin-graphql/src/validate.js +2 -2
- package/packages/datadog-plugin-grpc/src/client.js +3 -3
- 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 +2 -2
- package/packages/datadog-plugin-http/src/client.js +10 -10
- package/packages/datadog-plugin-http/src/index.js +1 -1
- package/packages/datadog-plugin-http/src/server.js +23 -8
- package/packages/datadog-plugin-http2/src/client.js +6 -6
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/server.js +1 -1
- package/packages/datadog-plugin-jest/src/index.js +67 -31
- package/packages/datadog-plugin-jest/src/util.js +8 -2
- package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
- package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
- package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
- package/packages/datadog-plugin-memcached/src/index.js +2 -2
- package/packages/datadog-plugin-mocha/src/index.js +15 -27
- package/packages/datadog-plugin-moleculer/src/client.js +1 -1
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/server.js +2 -2
- package/packages/datadog-plugin-moleculer/src/util.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
- package/packages/datadog-plugin-mysql/src/index.js +2 -2
- package/packages/datadog-plugin-net/src/ipc.js +2 -2
- package/packages/datadog-plugin-net/src/tcp.js +4 -4
- package/packages/datadog-plugin-next/src/index.js +4 -4
- package/packages/datadog-plugin-nyc/src/index.js +60 -0
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/services.js +3 -3
- package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
- package/packages/datadog-plugin-openai/src/tracing.js +10 -10
- package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
- package/packages/datadog-plugin-oracledb/src/index.js +1 -1
- package/packages/datadog-plugin-pg/src/index.js +2 -2
- package/packages/datadog-plugin-playwright/src/index.js +22 -19
- package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +118 -0
- package/packages/datadog-plugin-prisma/src/index.js +132 -10
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-redis/src/index.js +2 -2
- package/packages/datadog-plugin-restify/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/producer.js +2 -2
- package/packages/datadog-plugin-router/src/index.js +31 -22
- package/packages/datadog-plugin-selenium/src/index.js +2 -2
- package/packages/datadog-plugin-sharedb/src/index.js +2 -2
- package/packages/datadog-plugin-tedious/src/index.js +2 -2
- package/packages/datadog-plugin-undici/src/index.js +5 -5
- package/packages/datadog-plugin-vitest/src/index.js +42 -25
- package/packages/datadog-plugin-ws/src/close.js +10 -11
- package/packages/datadog-plugin-ws/src/index.js +1 -1
- package/packages/datadog-plugin-ws/src/producer.js +8 -9
- package/packages/datadog-plugin-ws/src/receiver.js +8 -9
- package/packages/datadog-plugin-ws/src/server.js +25 -12
- package/packages/datadog-plugin-ws/src/util.js +48 -16
- package/packages/datadog-shimmer/src/shimmer.js +3 -3
- package/packages/dd-trace/index.js +2 -2
- package/packages/dd-trace/src/agent/info.js +2 -2
- package/packages/dd-trace/src/agent/url.js +1 -1
- package/packages/dd-trace/src/aiguard/client.js +3 -3
- package/packages/dd-trace/src/aiguard/sdk.js +6 -6
- package/packages/dd-trace/src/aiguard/tags.js +1 -1
- package/packages/dd-trace/src/analytics_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/activation.js +1 -1
- package/packages/dd-trace/src/appsec/addresses.js +1 -1
- package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +5 -5
- package/packages/dd-trace/src/appsec/channels.js +1 -1
- package/packages/dd-trace/src/appsec/graphql.js +13 -13
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.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 +6 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
- 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 +2 -2
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
- package/packages/dd-trace/src/appsec/iast/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
- package/packages/dd-trace/src/appsec/iast/path-line.js +7 -6
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
- package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
- package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
- package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
- package/packages/dd-trace/src/appsec/index.js +20 -22
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
- package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
- package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
- package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
- package/packages/dd-trace/src/appsec/rc-products.js +1 -1
- package/packages/dd-trace/src/appsec/remote_config.js +3 -3
- package/packages/dd-trace/src/appsec/reporter.js +11 -11
- package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
- package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
- package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
- package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
- package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +1 -1
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
- package/packages/dd-trace/src/azure_metadata.js +16 -9
- package/packages/dd-trace/src/baggage.js +1 -1
- package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +9 -9
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
- 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 +5 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +20 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
- package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +107 -0
- package/packages/dd-trace/src/ci-visibility/telemetry.js +38 -2
- package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +50 -7
- package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
- package/packages/dd-trace/src/config/defaults.js +1 -1
- package/packages/dd-trace/src/config/git_properties.js +1 -1
- package/packages/dd-trace/src/config/helper.js +2 -2
- package/packages/dd-trace/src/config/index.js +612 -622
- package/packages/dd-trace/src/config/remote_config.js +1 -1
- package/packages/dd-trace/src/config/stable.js +2 -2
- package/packages/dd-trace/src/config/supported-configurations.json +1 -0
- package/packages/dd-trace/src/constants.js +3 -3
- package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
- package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
- package/packages/dd-trace/src/datastreams/context.js +1 -1
- package/packages/dd-trace/src/datastreams/encoding.js +1 -1
- package/packages/dd-trace/src/datastreams/fnv.js +1 -1
- package/packages/dd-trace/src/datastreams/index.js +8 -8
- package/packages/dd-trace/src/datastreams/pathway.js +5 -3
- package/packages/dd-trace/src/datastreams/processor.js +14 -12
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
- package/packages/dd-trace/src/datastreams/size.js +3 -3
- package/packages/dd-trace/src/datastreams/writer.js +3 -3
- package/packages/dd-trace/src/debugger/config.js +2 -1
- package/packages/dd-trace/src/debugger/constants.js +7 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
- package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
- package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
- package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
- package/packages/dd-trace/src/debugger/index.js +95 -37
- package/packages/dd-trace/src/dogstatsd.js +14 -9
- package/packages/dd-trace/src/encode/0.4.js +7 -6
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
- package/packages/dd-trace/src/encode/span-stats.js +2 -2
- package/packages/dd-trace/src/encode/tags-processors.js +1 -1
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
- package/packages/dd-trace/src/exporters/common/agents.js +1 -1
- package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
- package/packages/dd-trace/src/exporters/common/docker.js +11 -7
- package/packages/dd-trace/src/exporters/common/request.js +41 -21
- package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +2 -0
- package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
- package/packages/dd-trace/src/external-logger/src/index.js +4 -4
- package/packages/dd-trace/src/flare/index.js +3 -3
- package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
- package/packages/dd-trace/src/heap_snapshots.js +1 -1
- package/packages/dd-trace/src/id.js +2 -2
- package/packages/dd-trace/src/iitm.js +1 -1
- package/packages/dd-trace/src/lambda/context.js +27 -0
- package/packages/dd-trace/src/lambda/handler.js +6 -19
- package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
- package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
- package/packages/dd-trace/src/llmobs/index.js +2 -4
- package/packages/dd-trace/src/llmobs/noop.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
- package/packages/dd-trace/src/llmobs/sdk.js +11 -11
- package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
- package/packages/dd-trace/src/llmobs/tagger.js +4 -4
- package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
- package/packages/dd-trace/src/llmobs/util.js +1 -1
- package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
- package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
- package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
- package/packages/dd-trace/src/log/channels.js +2 -2
- package/packages/dd-trace/src/log/index.js +2 -2
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/writer.js +2 -6
- package/packages/dd-trace/src/noop/span.js +2 -2
- package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
- package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +3 -3
- package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
- package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
- package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
- package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
- package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
- package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
- package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
- package/packages/dd-trace/src/opentelemetry/span.js +8 -8
- package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
- package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
- package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
- package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
- package/packages/dd-trace/src/opentracing/span.js +20 -20
- package/packages/dd-trace/src/opentracing/span_context.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +3 -3
- package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
- package/packages/dd-trace/src/plugin_manager.js +6 -6
- package/packages/dd-trace/src/plugins/apollo.js +4 -4
- package/packages/dd-trace/src/plugins/ci_plugin.js +164 -37
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +1 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
- package/packages/dd-trace/src/plugins/outbound.js +9 -8
- package/packages/dd-trace/src/plugins/plugin.js +17 -7
- package/packages/dd-trace/src/plugins/producer.js +6 -5
- package/packages/dd-trace/src/plugins/tracing.js +37 -8
- package/packages/dd-trace/src/plugins/util/ci.js +40 -40
- package/packages/dd-trace/src/plugins/util/env.js +2 -2
- package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
- package/packages/dd-trace/src/plugins/util/git.js +46 -47
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
- package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
- package/packages/dd-trace/src/plugins/util/llm.js +1 -1
- package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
- package/packages/dd-trace/src/plugins/util/tags.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +49 -41
- package/packages/dd-trace/src/plugins/util/url.js +1 -1
- package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
- package/packages/dd-trace/src/plugins/util/web.js +13 -12
- package/packages/dd-trace/src/priority_sampler.js +4 -4
- package/packages/dd-trace/src/process-tags/index.js +2 -2
- package/packages/dd-trace/src/profiler.js +1 -1
- package/packages/dd-trace/src/profiling/config.js +14 -22
- package/packages/dd-trace/src/profiling/constants.js +2 -2
- package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
- package/packages/dd-trace/src/profiling/exporters/agent.js +28 -29
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
- 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/loggers/console.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +23 -23
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
- package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
- package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/profiling/tagger.js +1 -1
- package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
- package/packages/dd-trace/src/proxy.js +13 -13
- package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
- package/packages/dd-trace/src/remote_config/index.js +15 -15
- package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
- package/packages/dd-trace/src/ritm.js +1 -1
- package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
- package/packages/dd-trace/src/serverless.js +1 -1
- package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
- package/packages/dd-trace/src/service-naming/index.js +1 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
- package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
- package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
- package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
- package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
- package/packages/dd-trace/src/span_format.js +4 -4
- package/packages/dd-trace/src/span_sampler.js +1 -1
- package/packages/dd-trace/src/span_stats.js +11 -11
- package/packages/dd-trace/src/spanleak.js +1 -1
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/standalone/product.js +2 -2
- package/packages/dd-trace/src/standalone/tracesource.js +1 -1
- package/packages/dd-trace/src/startup-log.js +3 -2
- package/packages/dd-trace/src/tagger.js +3 -1
- package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
- package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
- package/packages/dd-trace/src/telemetry/index.js +1 -1
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
- package/packages/dd-trace/src/telemetry/metrics.js +6 -6
- package/packages/dd-trace/src/telemetry/send-data.js +5 -5
- package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
- package/packages/dd-trace/src/tracer.js +3 -2
- package/packages/dd-trace/src/util.js +1 -1
- package/scripts/preinstall.js +1 -1
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/@datadog/source-map/index.js +1 -1
- package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
- package/vendor/dist/@opentelemetry/core/index.js +1 -1
- package/vendor/dist/@opentelemetry/resources/index.js +1 -1
- package/vendor/dist/astring/index.js +1 -1
- package/vendor/dist/crypto-randomuuid/index.js +1 -1
- package/vendor/dist/escape-string-regexp/index.js +1 -1
- package/vendor/dist/esquery/index.js +1 -1
- package/vendor/dist/ignore/index.js +1 -1
- package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
- package/vendor/dist/jest-docblock/index.js +1 -1
- package/vendor/dist/jsonpath-plus/index.js +1 -1
- package/vendor/dist/limiter/index.js +1 -1
- package/vendor/dist/lodash.sortby/index.js +1 -1
- package/vendor/dist/lru-cache/index.js +1 -1
- package/vendor/dist/meriyah/index.js +1 -1
- package/vendor/dist/module-details-from-path/index.js +1 -1
- package/vendor/dist/mutexify/promise/index.js +1 -1
- package/vendor/dist/opentracing/index.js +1 -1
- package/vendor/dist/path-to-regexp/index.js +1 -1
- package/vendor/dist/pprof-format/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/vendor/dist/retry/index.js +1 -1
- package/vendor/dist/rfdc/index.js +1 -1
- package/vendor/dist/semifies/index.js +1 -1
- package/vendor/dist/shell-quote/index.js +1 -1
- package/vendor/dist/source-map/index.js +1 -1
- package/vendor/dist/source-map/lib/util/index.js +1 -1
- package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
- package/vendor/dist/ttl-set/index.js +1 -1
- package/packages/datadog-plugin-prisma/src/client.js +0 -60
- package/packages/datadog-plugin-prisma/src/engine.js +0 -81
|
@@ -14,7 +14,7 @@ const id = require('../../id')
|
|
|
14
14
|
const {
|
|
15
15
|
incrementCountMetric,
|
|
16
16
|
TELEMETRY_GIT_COMMIT_SHA_DISCREPANCY,
|
|
17
|
-
TELEMETRY_GIT_SHA_MATCH
|
|
17
|
+
TELEMETRY_GIT_SHA_MATCH,
|
|
18
18
|
} = require('../../ci-visibility/telemetry')
|
|
19
19
|
|
|
20
20
|
const { SPAN_TYPE, RESOURCE_NAME, SAMPLING_PRIORITY } = require('../../../../../ext/tags')
|
|
@@ -32,7 +32,7 @@ const {
|
|
|
32
32
|
CI_WORKSPACE_PATH,
|
|
33
33
|
CI_PIPELINE_URL,
|
|
34
34
|
CI_JOB_NAME,
|
|
35
|
-
GIT_COMMIT_HEAD_SHA
|
|
35
|
+
GIT_COMMIT_HEAD_SHA,
|
|
36
36
|
} = require('./tags')
|
|
37
37
|
const { getRuntimeAndOSMetadata } = require('./env')
|
|
38
38
|
const { getCIMetadata } = require('./ci')
|
|
@@ -46,7 +46,7 @@ const {
|
|
|
46
46
|
checkAndFetchBranch,
|
|
47
47
|
getLocalBranches,
|
|
48
48
|
getMergeBase,
|
|
49
|
-
getCounts
|
|
49
|
+
getCounts,
|
|
50
50
|
} = require('./git')
|
|
51
51
|
|
|
52
52
|
/**
|
|
@@ -65,6 +65,7 @@ const TEST_TYPE = 'test.type'
|
|
|
65
65
|
const TEST_NAME = 'test.name'
|
|
66
66
|
const TEST_SUITE = 'test.suite'
|
|
67
67
|
const TEST_STATUS = 'test.status'
|
|
68
|
+
const TEST_FINAL_STATUS = 'test.final_status'
|
|
68
69
|
const TEST_PARAMETERS = 'test.parameters'
|
|
69
70
|
const TEST_SKIP_REASON = 'test.skip_reason'
|
|
70
71
|
const TEST_IS_RUM_ACTIVE = 'test.is_rum_active'
|
|
@@ -118,6 +119,7 @@ const TEST_BROWSER_VERSION = 'test.browser.version'
|
|
|
118
119
|
const JEST_WORKER_TRACE_PAYLOAD_CODE = 60
|
|
119
120
|
const JEST_WORKER_COVERAGE_PAYLOAD_CODE = 61
|
|
120
121
|
const JEST_WORKER_LOGS_PAYLOAD_CODE = 62
|
|
122
|
+
const JEST_WORKER_TELEMETRY_PAYLOAD_CODE = 63
|
|
121
123
|
|
|
122
124
|
// cucumber worker variables
|
|
123
125
|
const CUCUMBER_WORKER_TRACE_PAYLOAD_CODE = 70
|
|
@@ -146,22 +148,22 @@ const DD_CAPABILITIES_FAILED_TEST_REPLAY = '_dd.library_capabilities.failed_test
|
|
|
146
148
|
const UNSUPPORTED_TIA_FRAMEWORKS = new Set(['playwright', 'vitest'])
|
|
147
149
|
const UNSUPPORTED_TIA_FRAMEWORKS_PARALLEL_MODE = new Set(['cucumber', 'mocha'])
|
|
148
150
|
const MINIMUM_FRAMEWORK_VERSION_FOR_EFD = {
|
|
149
|
-
playwright: '>=1.38.0'
|
|
151
|
+
playwright: '>=1.38.0',
|
|
150
152
|
}
|
|
151
153
|
const MINIMUM_FRAMEWORK_VERSION_FOR_IMPACTED_TESTS = {
|
|
152
|
-
playwright: '>=1.38.0'
|
|
154
|
+
playwright: '>=1.38.0',
|
|
153
155
|
}
|
|
154
156
|
const MINIMUM_FRAMEWORK_VERSION_FOR_QUARANTINE = {
|
|
155
|
-
playwright: '>=1.38.0'
|
|
157
|
+
playwright: '>=1.38.0',
|
|
156
158
|
}
|
|
157
159
|
const MINIMUM_FRAMEWORK_VERSION_FOR_DISABLE = {
|
|
158
|
-
playwright: '>=1.38.0'
|
|
160
|
+
playwright: '>=1.38.0',
|
|
159
161
|
}
|
|
160
162
|
const MINIMUM_FRAMEWORK_VERSION_FOR_ATTEMPT_TO_FIX = {
|
|
161
|
-
playwright: '>=1.38.0'
|
|
163
|
+
playwright: '>=1.38.0',
|
|
162
164
|
}
|
|
163
165
|
const MINIMUM_FRAMEWORK_VERSION_FOR_FAILED_TEST_REPLAY = {
|
|
164
|
-
playwright: '>=1.38.0'
|
|
166
|
+
playwright: '>=1.38.0',
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
const UNSUPPORTED_ATTEMPT_TO_FIX_FRAMEWORKS_PARALLEL_MODE = new Set(['mocha'])
|
|
@@ -171,13 +173,13 @@ const TEST_LEVEL_EVENT_TYPES = [
|
|
|
171
173
|
'test',
|
|
172
174
|
'test_suite_end',
|
|
173
175
|
'test_module_end',
|
|
174
|
-
'test_session_end'
|
|
176
|
+
'test_session_end',
|
|
175
177
|
]
|
|
176
178
|
const TEST_RETRY_REASON_TYPES = {
|
|
177
179
|
efd: 'early_flake_detection',
|
|
178
180
|
atr: 'auto_test_retry',
|
|
179
181
|
atf: 'attempt_to_fix',
|
|
180
|
-
ext: 'external'
|
|
182
|
+
ext: 'external',
|
|
181
183
|
}
|
|
182
184
|
|
|
183
185
|
const DD_TEST_IS_USER_PROVIDED_SERVICE = '_dd.test.is_user_provided_service'
|
|
@@ -214,6 +216,7 @@ module.exports = {
|
|
|
214
216
|
TEST_NAME,
|
|
215
217
|
TEST_SUITE,
|
|
216
218
|
TEST_STATUS,
|
|
219
|
+
TEST_FINAL_STATUS,
|
|
217
220
|
TEST_PARAMETERS,
|
|
218
221
|
TEST_SKIP_REASON,
|
|
219
222
|
TEST_IS_RUM_ACTIVE,
|
|
@@ -223,6 +226,7 @@ module.exports = {
|
|
|
223
226
|
JEST_WORKER_TRACE_PAYLOAD_CODE,
|
|
224
227
|
JEST_WORKER_COVERAGE_PAYLOAD_CODE,
|
|
225
228
|
JEST_WORKER_LOGS_PAYLOAD_CODE,
|
|
229
|
+
JEST_WORKER_TELEMETRY_PAYLOAD_CODE,
|
|
226
230
|
CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
|
|
227
231
|
MOCHA_WORKER_TRACE_PAYLOAD_CODE,
|
|
228
232
|
PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE,
|
|
@@ -309,7 +313,9 @@ module.exports = {
|
|
|
309
313
|
getPullRequestBaseBranch,
|
|
310
314
|
getModifiedFilesFromDiff,
|
|
311
315
|
isModifiedTest,
|
|
312
|
-
POSSIBLE_BASE_BRANCHES
|
|
316
|
+
POSSIBLE_BASE_BRANCHES,
|
|
317
|
+
GIT_COMMIT_SHA,
|
|
318
|
+
GIT_REPOSITORY_URL,
|
|
313
319
|
}
|
|
314
320
|
|
|
315
321
|
// Returns pkg manager and its version, separated by '-', e.g. npm-8.15.0 or yarn-1.22.19
|
|
@@ -355,11 +361,11 @@ function removeInvalidMetadata (metadata) {
|
|
|
355
361
|
function checkShaDiscrepancies (ciMetadata, userProvidedGitMetadata) {
|
|
356
362
|
const {
|
|
357
363
|
[GIT_COMMIT_SHA]: ciCommitSHA,
|
|
358
|
-
[GIT_REPOSITORY_URL]: ciRepositoryUrl
|
|
364
|
+
[GIT_REPOSITORY_URL]: ciRepositoryUrl,
|
|
359
365
|
} = ciMetadata
|
|
360
366
|
const {
|
|
361
367
|
[GIT_COMMIT_SHA]: userProvidedCommitSHA,
|
|
362
|
-
[GIT_REPOSITORY_URL]: userProvidedRepositoryUrl
|
|
368
|
+
[GIT_REPOSITORY_URL]: userProvidedRepositoryUrl,
|
|
363
369
|
} = userProvidedGitMetadata
|
|
364
370
|
const { gitRepositoryUrl, gitCommitSHA } = getGitInformationDiscrepancy()
|
|
365
371
|
|
|
@@ -376,7 +382,7 @@ function checkShaDiscrepancies (ciMetadata, userProvidedGitMetadata) {
|
|
|
376
382
|
{
|
|
377
383
|
type: discrepancyType,
|
|
378
384
|
expected_provider: expectedProvider,
|
|
379
|
-
discrepant_provider: discrepantProvider
|
|
385
|
+
discrepant_provider: discrepantProvider,
|
|
380
386
|
}
|
|
381
387
|
)
|
|
382
388
|
return true
|
|
@@ -391,14 +397,14 @@ function checkShaDiscrepancies (ciMetadata, userProvidedGitMetadata) {
|
|
|
391
397
|
v2: gitRepositoryUrl,
|
|
392
398
|
type: 'repository_discrepancy',
|
|
393
399
|
expected: 'user_supplied',
|
|
394
|
-
discrepant: 'git_client'
|
|
400
|
+
discrepant: 'git_client',
|
|
395
401
|
},
|
|
396
402
|
{
|
|
397
403
|
v1: userProvidedCommitSHA,
|
|
398
404
|
v2: gitCommitSHA,
|
|
399
405
|
type: 'commit_discrepancy',
|
|
400
406
|
expected: 'user_supplied',
|
|
401
|
-
discrepant: 'git_client'
|
|
407
|
+
discrepant: 'git_client',
|
|
402
408
|
},
|
|
403
409
|
// User provided vs CI metadata
|
|
404
410
|
{
|
|
@@ -406,14 +412,14 @@ function checkShaDiscrepancies (ciMetadata, userProvidedGitMetadata) {
|
|
|
406
412
|
v2: ciRepositoryUrl,
|
|
407
413
|
type: 'repository_discrepancy',
|
|
408
414
|
expected: 'user_supplied',
|
|
409
|
-
discrepant: 'ci_provider'
|
|
415
|
+
discrepant: 'ci_provider',
|
|
410
416
|
},
|
|
411
417
|
{
|
|
412
418
|
v1: userProvidedCommitSHA,
|
|
413
419
|
v2: ciCommitSHA,
|
|
414
420
|
type: 'commit_discrepancy',
|
|
415
421
|
expected: 'user_supplied',
|
|
416
|
-
discrepant: 'ci_provider'
|
|
422
|
+
discrepant: 'ci_provider',
|
|
417
423
|
},
|
|
418
424
|
// CI metadata vs Git metadata
|
|
419
425
|
{
|
|
@@ -421,15 +427,15 @@ function checkShaDiscrepancies (ciMetadata, userProvidedGitMetadata) {
|
|
|
421
427
|
v2: gitRepositoryUrl,
|
|
422
428
|
type: 'repository_discrepancy',
|
|
423
429
|
expected: 'ci_provider',
|
|
424
|
-
discrepant: 'git_client'
|
|
430
|
+
discrepant: 'git_client',
|
|
425
431
|
},
|
|
426
432
|
{
|
|
427
433
|
v1: ciCommitSHA,
|
|
428
434
|
v2: gitCommitSHA,
|
|
429
435
|
type: 'commit_discrepancy',
|
|
430
436
|
expected: 'ci_provider',
|
|
431
|
-
discrepant: 'git_client'
|
|
432
|
-
}
|
|
437
|
+
discrepant: 'git_client',
|
|
438
|
+
},
|
|
433
439
|
]
|
|
434
440
|
|
|
435
441
|
let gitCommitShaMatch = true
|
|
@@ -474,7 +480,7 @@ function getTestEnvironmentMetadata (testFramework, config, shouldSkipGitMetadat
|
|
|
474
480
|
[GIT_COMMIT_AUTHOR_EMAIL]: authorEmail,
|
|
475
481
|
[GIT_COMMIT_MESSAGE]: commitMessage,
|
|
476
482
|
[CI_WORKSPACE_PATH]: ciWorkspacePath,
|
|
477
|
-
[GIT_COMMIT_HEAD_SHA]: headCommitSha
|
|
483
|
+
[GIT_COMMIT_HEAD_SHA]: headCommitSha,
|
|
478
484
|
} = ciMetadata
|
|
479
485
|
gitMetadata = getGitMetadata({
|
|
480
486
|
commitSHA,
|
|
@@ -485,7 +491,7 @@ function getTestEnvironmentMetadata (testFramework, config, shouldSkipGitMetadat
|
|
|
485
491
|
authorEmail,
|
|
486
492
|
commitMessage,
|
|
487
493
|
ciWorkspacePath,
|
|
488
|
-
headCommitSha
|
|
494
|
+
headCommitSha,
|
|
489
495
|
})
|
|
490
496
|
}
|
|
491
497
|
|
|
@@ -498,7 +504,7 @@ function getTestEnvironmentMetadata (testFramework, config, shouldSkipGitMetadat
|
|
|
498
504
|
...gitMetadata,
|
|
499
505
|
...ciMetadata,
|
|
500
506
|
...userProvidedGitMetadata,
|
|
501
|
-
...runtimeAndOSMetadata
|
|
507
|
+
...runtimeAndOSMetadata,
|
|
502
508
|
}
|
|
503
509
|
if (config && config.service) {
|
|
504
510
|
metadata['service.name'] = config.service
|
|
@@ -529,17 +535,17 @@ function getTestTypeFromFramework (testFramework) {
|
|
|
529
535
|
}
|
|
530
536
|
|
|
531
537
|
function finishAllTraceSpans (span) {
|
|
532
|
-
span.context()._trace.started
|
|
538
|
+
for (const traceSpan of span.context()._trace.started) {
|
|
533
539
|
if (traceSpan !== span) {
|
|
534
540
|
traceSpan.finish()
|
|
535
541
|
}
|
|
536
|
-
}
|
|
542
|
+
}
|
|
537
543
|
}
|
|
538
544
|
|
|
539
545
|
function getTestParentSpan (tracer) {
|
|
540
546
|
return tracer.extract('text_map', {
|
|
541
547
|
'x-datadog-trace-id': id().toString(10),
|
|
542
|
-
'x-datadog-parent-id': '0000000000000000'
|
|
548
|
+
'x-datadog-parent-id': '0000000000000000',
|
|
543
549
|
})
|
|
544
550
|
}
|
|
545
551
|
|
|
@@ -553,7 +559,7 @@ function getTestCommonTags (name, suite, version, testFramework) {
|
|
|
553
559
|
[TEST_SUITE]: suite,
|
|
554
560
|
[RESOURCE_NAME]: `${suite}.${name}`,
|
|
555
561
|
[TEST_FRAMEWORK_VERSION]: version,
|
|
556
|
-
[LIBRARY_VERSION]: ddTraceVersion
|
|
562
|
+
[LIBRARY_VERSION]: ddTraceVersion,
|
|
557
563
|
}
|
|
558
564
|
}
|
|
559
565
|
|
|
@@ -569,14 +575,14 @@ function getTestSuitePath (testSuiteAbsolutePath, sourceRoot) {
|
|
|
569
575
|
? testSuiteAbsolutePath
|
|
570
576
|
: path.relative(sourceRoot, testSuiteAbsolutePath)
|
|
571
577
|
|
|
572
|
-
return testSuitePath.
|
|
578
|
+
return testSuitePath.replaceAll(path.sep, '/')
|
|
573
579
|
}
|
|
574
580
|
|
|
575
581
|
const POSSIBLE_CODEOWNERS_LOCATIONS = [
|
|
576
582
|
'CODEOWNERS',
|
|
577
583
|
'.github/CODEOWNERS',
|
|
578
584
|
'docs/CODEOWNERS',
|
|
579
|
-
'.gitlab/CODEOWNERS'
|
|
585
|
+
'.gitlab/CODEOWNERS',
|
|
580
586
|
]
|
|
581
587
|
|
|
582
588
|
function readCodeOwners (rootDir) {
|
|
@@ -658,7 +664,7 @@ function getTestLevelCommonTags (command, testFrameworkVersion, testFramework) {
|
|
|
658
664
|
[TEST_FRAMEWORK_VERSION]: testFrameworkVersion,
|
|
659
665
|
[LIBRARY_VERSION]: ddTraceVersion,
|
|
660
666
|
[TEST_COMMAND]: command,
|
|
661
|
-
[TEST_TYPE]: getTestTypeFromFramework(testFramework)
|
|
667
|
+
[TEST_TYPE]: getTestTypeFromFramework(testFramework),
|
|
662
668
|
}
|
|
663
669
|
}
|
|
664
670
|
|
|
@@ -668,7 +674,7 @@ function getTestSessionCommonTags (command, testFrameworkVersion, testFramework)
|
|
|
668
674
|
[RESOURCE_NAME]: `test_session.${command}`,
|
|
669
675
|
[TEST_MODULE]: testFramework,
|
|
670
676
|
[TEST_TOOLCHAIN]: getPkgManager(),
|
|
671
|
-
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework)
|
|
677
|
+
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework),
|
|
672
678
|
}
|
|
673
679
|
}
|
|
674
680
|
|
|
@@ -677,7 +683,7 @@ function getTestModuleCommonTags (command, testFrameworkVersion, testFramework)
|
|
|
677
683
|
[SPAN_TYPE]: 'test_module_end',
|
|
678
684
|
[RESOURCE_NAME]: `test_module.${command}`,
|
|
679
685
|
[TEST_MODULE]: testFramework,
|
|
680
|
-
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework)
|
|
686
|
+
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework),
|
|
681
687
|
}
|
|
682
688
|
}
|
|
683
689
|
|
|
@@ -687,7 +693,7 @@ function getTestSuiteCommonTags (command, testFrameworkVersion, testSuite, testF
|
|
|
687
693
|
[RESOURCE_NAME]: `test_suite.${testSuite}`,
|
|
688
694
|
[TEST_MODULE]: testFramework,
|
|
689
695
|
[TEST_SUITE]: testSuite,
|
|
690
|
-
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework)
|
|
696
|
+
...getTestLevelCommonTags(command, testFrameworkVersion, testFramework),
|
|
691
697
|
}
|
|
692
698
|
}
|
|
693
699
|
|
|
@@ -702,7 +708,7 @@ function addIntelligentTestRunnerSpanTags (
|
|
|
702
708
|
skippingCount,
|
|
703
709
|
skippingType = 'suite',
|
|
704
710
|
hasUnskippableSuites,
|
|
705
|
-
hasForcedToRunSuites
|
|
711
|
+
hasForcedToRunSuites,
|
|
706
712
|
}
|
|
707
713
|
) {
|
|
708
714
|
testSessionSpan.setTag(TEST_ITR_TESTS_SKIPPED, isSuitesSkipped ? 'true' : 'false')
|
|
@@ -753,6 +759,7 @@ function resetCoverage (coverage) {
|
|
|
753
759
|
|
|
754
760
|
return coverageMap
|
|
755
761
|
.files()
|
|
762
|
+
// eslint-disable-next-line unicorn/no-array-for-each
|
|
756
763
|
.forEach(filename => {
|
|
757
764
|
const fileCoverage = coverageMap.fileCoverageFor(filename)
|
|
758
765
|
fileCoverage.resetHits()
|
|
@@ -763,6 +770,7 @@ function mergeCoverage (coverage, targetCoverage) {
|
|
|
763
770
|
const coverageMap = istanbul.createCoverageMap(coverage)
|
|
764
771
|
return coverageMap
|
|
765
772
|
.files()
|
|
773
|
+
// eslint-disable-next-line unicorn/no-array-for-each
|
|
766
774
|
.forEach(filename => {
|
|
767
775
|
const fileCoverage = coverageMap.fileCoverageFor(filename)
|
|
768
776
|
|
|
@@ -776,9 +784,9 @@ function mergeCoverage (coverage, targetCoverage) {
|
|
|
776
784
|
const targetFileCoverage = targetCoverage.fileCoverageFor(filename)
|
|
777
785
|
|
|
778
786
|
// branches (.b) are copied by reference, so `resetHits` affects the copy, so we need to copy it manually
|
|
779
|
-
Object.entries(targetFileCoverage.data.b)
|
|
787
|
+
for (const [key, value] of Object.entries(targetFileCoverage.data.b)) {
|
|
780
788
|
targetFileCoverage.data.b[key] = [...value]
|
|
781
|
-
}
|
|
789
|
+
}
|
|
782
790
|
})
|
|
783
791
|
}
|
|
784
792
|
|
|
@@ -889,7 +897,7 @@ const DEPENDENCY_FOLDERS = [
|
|
|
889
897
|
'node:',
|
|
890
898
|
'.pnpm',
|
|
891
899
|
'.yarn',
|
|
892
|
-
'.pnp'
|
|
900
|
+
'.pnp',
|
|
893
901
|
]
|
|
894
902
|
|
|
895
903
|
function getFileAndLineNumberFromError (error, repositoryRoot) {
|
|
@@ -998,7 +1006,7 @@ function getLibraryCapabilitiesTags (testFramework, isParallel, frameworkVersion
|
|
|
998
1006
|
: undefined,
|
|
999
1007
|
[DD_CAPABILITIES_FAILED_TEST_REPLAY]: isFailedTestReplaySupported(testFramework, frameworkVersion)
|
|
1000
1008
|
? '1'
|
|
1001
|
-
: undefined
|
|
1009
|
+
: undefined,
|
|
1002
1010
|
}
|
|
1003
1011
|
}
|
|
1004
1012
|
|
|
@@ -1048,7 +1056,7 @@ function getPullRequestBaseBranch (pullRequestBaseBranch) {
|
|
|
1048
1056
|
metrics[candidate] = {
|
|
1049
1057
|
behind,
|
|
1050
1058
|
ahead,
|
|
1051
|
-
baseSha
|
|
1059
|
+
baseSha,
|
|
1052
1060
|
}
|
|
1053
1061
|
}
|
|
1054
1062
|
|
|
@@ -15,7 +15,7 @@ const {
|
|
|
15
15
|
GIT_COMMIT_AUTHOR_NAME,
|
|
16
16
|
GIT_PULL_REQUEST_BASE_BRANCH,
|
|
17
17
|
GIT_PULL_REQUEST_BASE_BRANCH_SHA,
|
|
18
|
-
GIT_COMMIT_HEAD_SHA
|
|
18
|
+
GIT_COMMIT_HEAD_SHA,
|
|
19
19
|
} = require('./tags')
|
|
20
20
|
|
|
21
21
|
const { normalizeRef } = require('./ci')
|
|
@@ -84,7 +84,7 @@ function getUserProviderGitMetadata () {
|
|
|
84
84
|
GIT_COMMIT_AUTHOR_DATE, DD_GIT_COMMIT_AUTHOR_DATE,
|
|
85
85
|
GIT_PULL_REQUEST_BASE_BRANCH, DD_GIT_PULL_REQUEST_BASE_BRANCH,
|
|
86
86
|
GIT_PULL_REQUEST_BASE_BRANCH_SHA, DD_GIT_PULL_REQUEST_BASE_BRANCH_SHA,
|
|
87
|
-
GIT_COMMIT_HEAD_SHA, DD_GIT_COMMIT_HEAD_SHA
|
|
87
|
+
GIT_COMMIT_HEAD_SHA, DD_GIT_COMMIT_HEAD_SHA,
|
|
88
88
|
])
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -54,6 +54,7 @@ function startSpanHelper (tracer, name, options, traceCtx, config = {}) {
|
|
|
54
54
|
|
|
55
55
|
const web = {
|
|
56
56
|
TYPE: WEB,
|
|
57
|
+
/** @type {TracingPlugin | null} */
|
|
57
58
|
plugin: null,
|
|
58
59
|
|
|
59
60
|
// Ensure the configuration has the correct structure and defaults.
|
|
@@ -74,7 +75,7 @@ const web = {
|
|
|
74
75
|
hooks,
|
|
75
76
|
filter,
|
|
76
77
|
middleware,
|
|
77
|
-
queryStringObfuscation
|
|
78
|
+
queryStringObfuscation,
|
|
78
79
|
}
|
|
79
80
|
},
|
|
80
81
|
|
|
@@ -188,7 +189,7 @@ const web = {
|
|
|
188
189
|
analyticsSampler.sample(span, config.measured)
|
|
189
190
|
|
|
190
191
|
span.addTags({
|
|
191
|
-
[RESOURCE_NAME]: middleware._name || middleware.name || '<anonymous>'
|
|
192
|
+
[RESOURCE_NAME]: middleware._name || middleware.name || '<anonymous>',
|
|
192
193
|
})
|
|
193
194
|
|
|
194
195
|
context.middleware.push(span)
|
|
@@ -218,7 +219,7 @@ const web = {
|
|
|
218
219
|
span.addTags({
|
|
219
220
|
[ERROR_TYPE]: error.name,
|
|
220
221
|
[ERROR_MESSAGE]: error.message,
|
|
221
|
-
[ERROR_STACK]: error.stack
|
|
222
|
+
[ERROR_STACK]: error.stack,
|
|
222
223
|
})
|
|
223
224
|
}
|
|
224
225
|
|
|
@@ -250,7 +251,7 @@ const web = {
|
|
|
250
251
|
paths: [],
|
|
251
252
|
middleware: [],
|
|
252
253
|
beforeEnd: [],
|
|
253
|
-
config: {}
|
|
254
|
+
config: {},
|
|
254
255
|
}
|
|
255
256
|
|
|
256
257
|
contexts.set(req, context)
|
|
@@ -406,9 +407,9 @@ const web = {
|
|
|
406
407
|
},
|
|
407
408
|
set (value) {
|
|
408
409
|
ends.set(this, scope.bind(value, context.span))
|
|
409
|
-
}
|
|
410
|
+
},
|
|
410
411
|
})
|
|
411
|
-
}
|
|
412
|
+
},
|
|
412
413
|
}
|
|
413
414
|
|
|
414
415
|
function addAllowHeaders (req, res, headers) {
|
|
@@ -420,7 +421,7 @@ function addAllowHeaders (req, res, headers) {
|
|
|
420
421
|
'x-datadog-sampled', // Deprecated, but still accept it in case it's sent.
|
|
421
422
|
'x-datadog-sampling-priority',
|
|
422
423
|
'x-datadog-trace-id',
|
|
423
|
-
'x-datadog-tags'
|
|
424
|
+
'x-datadog-tags',
|
|
424
425
|
]
|
|
425
426
|
|
|
426
427
|
for (const header of contextHeaders) {
|
|
@@ -462,7 +463,7 @@ function addRequestTags (context, spanType) {
|
|
|
462
463
|
[HTTP_METHOD]: req.method,
|
|
463
464
|
[SPAN_KIND]: SERVER,
|
|
464
465
|
[SPAN_TYPE]: spanType,
|
|
465
|
-
[HTTP_USERAGENT]: req.headers['user-agent']
|
|
466
|
+
[HTTP_USERAGENT]: req.headers['user-agent'],
|
|
466
467
|
})
|
|
467
468
|
|
|
468
469
|
// if client ip has already been set by appsec, no need to run it again
|
|
@@ -493,10 +494,10 @@ function addResponseTags (context) {
|
|
|
493
494
|
}
|
|
494
495
|
|
|
495
496
|
span.addTags({
|
|
496
|
-
[HTTP_STATUS_CODE]: res.statusCode
|
|
497
|
+
[HTTP_STATUS_CODE]: res.statusCode,
|
|
497
498
|
})
|
|
498
499
|
inferredProxySpan?.addTags({
|
|
499
|
-
[HTTP_STATUS_CODE]: res.statusCode
|
|
500
|
+
[HTTP_STATUS_CODE]: res.statusCode,
|
|
500
501
|
})
|
|
501
502
|
|
|
502
503
|
web.addStatusError(req, res.statusCode)
|
|
@@ -518,7 +519,7 @@ function addResourceTag (context) {
|
|
|
518
519
|
function addHeaders (context) {
|
|
519
520
|
const { req, res, config, span, inferredProxySpan } = context
|
|
520
521
|
|
|
521
|
-
|
|
522
|
+
for (const [key, tag] of config.headers) {
|
|
522
523
|
const reqHeader = req.headers[key]
|
|
523
524
|
const resHeader = res.getHeader(key)
|
|
524
525
|
|
|
@@ -531,7 +532,7 @@ function addHeaders (context) {
|
|
|
531
532
|
span.setTag(tag || `${HTTP_RESPONSE_HEADERS}.${key}`, resHeader)
|
|
532
533
|
inferredProxySpan?.setTag(tag || `${HTTP_RESPONSE_HEADERS}.${key}`, resHeader)
|
|
533
534
|
}
|
|
534
|
-
}
|
|
535
|
+
}
|
|
535
536
|
}
|
|
536
537
|
|
|
537
538
|
function getHeadersToRecord (config) {
|
|
@@ -5,14 +5,14 @@ const {
|
|
|
5
5
|
MANUAL_KEEP,
|
|
6
6
|
MANUAL_DROP,
|
|
7
7
|
SAMPLING_PRIORITY,
|
|
8
|
-
SERVICE_NAME
|
|
8
|
+
SERVICE_NAME,
|
|
9
9
|
},
|
|
10
10
|
priority: {
|
|
11
11
|
AUTO_REJECT,
|
|
12
12
|
AUTO_KEEP,
|
|
13
13
|
USER_REJECT,
|
|
14
|
-
USER_KEEP
|
|
15
|
-
}
|
|
14
|
+
USER_KEEP,
|
|
15
|
+
},
|
|
16
16
|
} = require('../../../ext')
|
|
17
17
|
const log = require('./log')
|
|
18
18
|
const RateLimiter = require('./rate_limiter')
|
|
@@ -30,7 +30,7 @@ const {
|
|
|
30
30
|
SAMPLING_RULE_DECISION,
|
|
31
31
|
SAMPLING_LIMIT_DECISION,
|
|
32
32
|
SAMPLING_AGENT_DECISION,
|
|
33
|
-
DECISION_MAKER_KEY
|
|
33
|
+
DECISION_MAKER_KEY,
|
|
34
34
|
} = require('./constants')
|
|
35
35
|
|
|
36
36
|
const DEFAULT_KEY = 'service:,env:'
|
|
@@ -32,7 +32,7 @@ function getProcessTags () {
|
|
|
32
32
|
['entrypoint.workdir', path.basename(CURRENT_WORKING_DIRECTORY) || undefined],
|
|
33
33
|
|
|
34
34
|
// the .name field from the application's package.json
|
|
35
|
-
['package.json.name', pkg.name || undefined]
|
|
35
|
+
['package.json.name', pkg.name || undefined],
|
|
36
36
|
]
|
|
37
37
|
|
|
38
38
|
const tagsArray = []
|
|
@@ -52,7 +52,7 @@ function getProcessTags () {
|
|
|
52
52
|
tags,
|
|
53
53
|
serialized,
|
|
54
54
|
tagsObject,
|
|
55
|
-
tagsArray
|
|
55
|
+
tagsArray,
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const os = require('os')
|
|
4
3
|
const path = require('path')
|
|
5
4
|
const { pathToFileURL } = require('url')
|
|
5
|
+
|
|
6
6
|
const satisfies = require('../../../../vendor/dist/semifies')
|
|
7
7
|
const { GIT_REPOSITORY_URL, GIT_COMMIT_SHA } = require('../plugins/util/tags')
|
|
8
8
|
const { getIsAzureFunction } = require('../serverless')
|
|
@@ -10,6 +10,8 @@ const { isFalse, isTrue } = require('../util')
|
|
|
10
10
|
const { getAzureTagsFromMetadata, getAzureAppMetadata, getAzureFunctionMetadata } = require('../azure_metadata')
|
|
11
11
|
const { getEnvironmentVariable, getValueFromEnvSources } = require('../config/helper')
|
|
12
12
|
const { getAgentUrl } = require('../agent/url')
|
|
13
|
+
const { isACFActive } = require('../../../datadog-core/src/storage')
|
|
14
|
+
|
|
13
15
|
const { AgentExporter } = require('./exporters/agent')
|
|
14
16
|
const { FileExporter } = require('./exporters/file')
|
|
15
17
|
const { ConsoleLogger } = require('./loggers/console')
|
|
@@ -18,12 +20,12 @@ const SpaceProfiler = require('./profilers/space')
|
|
|
18
20
|
const EventsProfiler = require('./profilers/events')
|
|
19
21
|
const { oomExportStrategies, snapshotKinds } = require('./constants')
|
|
20
22
|
const { tagger } = require('./tagger')
|
|
23
|
+
|
|
21
24
|
class Config {
|
|
22
25
|
constructor (options = {}) {
|
|
23
26
|
// TODO: Remove entries that were already resolved in config.
|
|
24
27
|
// For the others, move them over to config.
|
|
25
28
|
const AWS_LAMBDA_FUNCTION_NAME = getEnvironmentVariable('AWS_LAMBDA_FUNCTION_NAME')
|
|
26
|
-
const NODE_OPTIONS = getEnvironmentVariable('NODE_OPTIONS')
|
|
27
29
|
|
|
28
30
|
// TODO: Move initialization of these values to packages/dd-trace/src/config/index.js, and just read from config
|
|
29
31
|
const {
|
|
@@ -47,10 +49,9 @@ class Config {
|
|
|
47
49
|
DD_PROFILING_UPLOAD_TIMEOUT,
|
|
48
50
|
DD_PROFILING_V8_PROFILER_BUG_WORKAROUND,
|
|
49
51
|
DD_PROFILING_WALLTIME_ENABLED,
|
|
50
|
-
DD_TAGS
|
|
52
|
+
DD_TAGS,
|
|
51
53
|
} = getProfilingEnvValues()
|
|
52
54
|
|
|
53
|
-
const host = os.hostname()
|
|
54
55
|
// Must be longer than one minute so pad with five seconds
|
|
55
56
|
const flushInterval = options.interval ?? (Number(DD_PROFILING_UPLOAD_PERIOD) * 1000 || 65 * 1000)
|
|
56
57
|
const uploadTimeout = options.uploadTimeout ?? (Number(DD_PROFILING_UPLOAD_TIMEOUT) || 60 * 1000)
|
|
@@ -59,7 +60,6 @@ class Config {
|
|
|
59
60
|
// TODO: Remove the fallback. Just use the value from the config.
|
|
60
61
|
this.service = options.service || 'node'
|
|
61
62
|
this.env = options.env
|
|
62
|
-
this.host = host
|
|
63
63
|
this.functionname = AWS_LAMBDA_FUNCTION_NAME
|
|
64
64
|
|
|
65
65
|
this.version = options.version
|
|
@@ -68,10 +68,10 @@ class Config {
|
|
|
68
68
|
tagger.parse(options.tags),
|
|
69
69
|
tagger.parse({
|
|
70
70
|
env: options.env,
|
|
71
|
-
host,
|
|
71
|
+
host: options.reportHostname ? require('os').hostname() : undefined,
|
|
72
72
|
service: this.service,
|
|
73
73
|
version: this.version,
|
|
74
|
-
functionname: AWS_LAMBDA_FUNCTION_NAME
|
|
74
|
+
functionname: AWS_LAMBDA_FUNCTION_NAME,
|
|
75
75
|
}),
|
|
76
76
|
getAzureTagsFromMetadata(getIsAzureFunction() ? getAzureFunctionMetadata() : getAzureAppMetadata())
|
|
77
77
|
)
|
|
@@ -117,7 +117,7 @@ class Config {
|
|
|
117
117
|
this.libraryInjected = options.libraryInjected
|
|
118
118
|
this.activation = options.activation
|
|
119
119
|
this.exporters = ensureExporters(options.exporters || [
|
|
120
|
-
new AgentExporter(this)
|
|
120
|
+
new AgentExporter(this),
|
|
121
121
|
], this)
|
|
122
122
|
|
|
123
123
|
// OOM monitoring does not work well on Windows, so it is disabled by default.
|
|
@@ -141,13 +141,13 @@ class Config {
|
|
|
141
141
|
heapLimitExtensionSize,
|
|
142
142
|
maxHeapExtensionCount,
|
|
143
143
|
exportStrategies,
|
|
144
|
-
exportCommand
|
|
144
|
+
exportCommand,
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
const profilers = options.profilers || getProfilers({
|
|
148
148
|
DD_PROFILING_HEAP_ENABLED,
|
|
149
149
|
DD_PROFILING_WALLTIME_ENABLED,
|
|
150
|
-
DD_PROFILING_PROFILERS
|
|
150
|
+
DD_PROFILING_PROFILERS,
|
|
151
151
|
})
|
|
152
152
|
|
|
153
153
|
this.timelineEnabled = isTrue(
|
|
@@ -219,16 +219,8 @@ class Config {
|
|
|
219
219
|
that.asyncContextFrameEnabled = false
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
const
|
|
222
|
+
const canUseAsyncContextFrame = samplingContextsAvailable && isACFActive
|
|
223
223
|
|
|
224
|
-
let canUseAsyncContextFrame = false
|
|
225
|
-
if (samplingContextsAvailable) {
|
|
226
|
-
if (isAtLeast24) {
|
|
227
|
-
canUseAsyncContextFrame = !hasExecArg('--no-async-context-frame')
|
|
228
|
-
} else if (satisfies(process.versions.node, '>=22.9.0')) {
|
|
229
|
-
canUseAsyncContextFrame = hasExecArg('--experimental-async-context-frame')
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
224
|
this.asyncContextFrameEnabled = isTrue(DD_PROFILING_ASYNC_CONTEXT_FRAME_ENABLED ?? canUseAsyncContextFrame)
|
|
233
225
|
if (this.asyncContextFrameEnabled && !canUseAsyncContextFrame) {
|
|
234
226
|
if (!samplingContextsAvailable) {
|
|
@@ -261,7 +253,7 @@ class Config {
|
|
|
261
253
|
timelineEnabled: this.timelineEnabled,
|
|
262
254
|
timelineSamplingEnabled: this.timelineSamplingEnabled,
|
|
263
255
|
uploadCompression: { ...this.uploadCompression },
|
|
264
|
-
v8ProfilerBugWorkaroundEnabled: this.v8ProfilerBugWorkaroundEnabled
|
|
256
|
+
v8ProfilerBugWorkaroundEnabled: this.v8ProfilerBugWorkaroundEnabled,
|
|
265
257
|
}
|
|
266
258
|
delete report.oomMonitoring.exportCommand
|
|
267
259
|
return report
|
|
@@ -271,7 +263,7 @@ class Config {
|
|
|
271
263
|
module.exports = { Config }
|
|
272
264
|
|
|
273
265
|
function getProfilers ({
|
|
274
|
-
DD_PROFILING_HEAP_ENABLED, DD_PROFILING_WALLTIME_ENABLED, DD_PROFILING_PROFILERS
|
|
266
|
+
DD_PROFILING_HEAP_ENABLED, DD_PROFILING_WALLTIME_ENABLED, DD_PROFILING_PROFILERS,
|
|
275
267
|
}) {
|
|
276
268
|
// First consider "legacy" DD_PROFILING_PROFILERS env variable, defaulting to space + wall
|
|
277
269
|
// Use a Set to avoid duplicates
|
|
@@ -476,6 +468,6 @@ function getProfilingEnvValues () {
|
|
|
476
468
|
DD_PROFILING_WALLTIME_ENABLED:
|
|
477
469
|
getValueFromEnvSources('DD_PROFILING_WALLTIME_ENABLED'),
|
|
478
470
|
DD_TAGS:
|
|
479
|
-
getValueFromEnvSources('DD_TAGS')
|
|
471
|
+
getValueFromEnvSources('DD_TAGS'),
|
|
480
472
|
}
|
|
481
473
|
}
|