dd-trace 5.84.0 → 5.85.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 +76 -23
- 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/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 +162 -57
- 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 +24 -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 +24 -78
- 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 +128 -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 +14 -14
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
- 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 +8 -6
- 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-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 +39 -22
- package/packages/datadog-plugin-jest/src/util.js +1 -1
- 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 +12 -12
- 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 +19 -19
- package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
- package/packages/datadog-plugin-prisma/src/index.js +129 -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 +3 -3
- 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 +39 -18
- 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 +17 -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 +6 -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 +8 -8
- 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 +1 -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 +92 -0
- package/packages/dd-trace/src/ci-visibility/telemetry.js +2 -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 +6 -6
- 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 +28 -8
- 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 +1 -1
- package/packages/dd-trace/src/iitm.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +1 -1
- 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 +1 -1
- 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 +101 -36
- 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 +20 -18
- 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 +46 -40
- 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 +12 -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 +8 -8
- 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 +5 -5
- 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 +21 -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 +2 -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
|
@@ -19,8 +19,8 @@ class BaseBullmqProducerPlugin extends ProducerPlugin {
|
|
|
19
19
|
'span.kind': 'producer',
|
|
20
20
|
'messaging.system': 'bullmq',
|
|
21
21
|
'messaging.operation': 'publish',
|
|
22
|
-
...meta
|
|
23
|
-
}
|
|
22
|
+
...meta,
|
|
23
|
+
},
|
|
24
24
|
}, ctx)
|
|
25
25
|
|
|
26
26
|
this.injectTraceContext(span, ctx)
|
|
@@ -63,8 +63,8 @@ class QueueAddPlugin extends BaseBullmqProducerPlugin {
|
|
|
63
63
|
return {
|
|
64
64
|
resource: queueName,
|
|
65
65
|
meta: {
|
|
66
|
-
'messaging.destination.name': ctx.self?.name
|
|
67
|
-
}
|
|
66
|
+
'messaging.destination.name': ctx.self?.name,
|
|
67
|
+
},
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -81,7 +81,7 @@ class QueueAddPlugin extends BaseBullmqProducerPlugin {
|
|
|
81
81
|
return {
|
|
82
82
|
queueName: ctx.self?.name || 'bullmq',
|
|
83
83
|
payloadSize: data ? getMessageSize(data) : 0,
|
|
84
|
-
injectTarget: data
|
|
84
|
+
injectTarget: data,
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -100,8 +100,8 @@ class QueueAddBulkPlugin extends BaseBullmqProducerPlugin {
|
|
|
100
100
|
resource: queueName,
|
|
101
101
|
meta: {
|
|
102
102
|
'messaging.destination.name': ctx.self?.name,
|
|
103
|
-
'messaging.batch.message_count': Array.isArray(jobs) ? jobs.length : undefined
|
|
104
|
-
}
|
|
103
|
+
'messaging.batch.message_count': Array.isArray(jobs) ? jobs.length : undefined,
|
|
104
|
+
},
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -123,7 +123,7 @@ class QueueAddBulkPlugin extends BaseBullmqProducerPlugin {
|
|
|
123
123
|
return {
|
|
124
124
|
queueName: ctx.self?.name || 'bullmq',
|
|
125
125
|
payloadSize,
|
|
126
|
-
injectTarget: jobs[0]?.data
|
|
126
|
+
injectTarget: jobs[0]?.data,
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -152,8 +152,8 @@ class FlowProducerAddPlugin extends BaseBullmqProducerPlugin {
|
|
|
152
152
|
return {
|
|
153
153
|
resource: queueName,
|
|
154
154
|
meta: {
|
|
155
|
-
'messaging.destination.name': flow?.queueName
|
|
156
|
-
}
|
|
155
|
+
'messaging.destination.name': flow?.queueName,
|
|
156
|
+
},
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -170,7 +170,7 @@ class FlowProducerAddPlugin extends BaseBullmqProducerPlugin {
|
|
|
170
170
|
return {
|
|
171
171
|
queueName: flow?.queueName || 'bullmq',
|
|
172
172
|
payloadSize: flow?.data ? getMessageSize(flow.data) : 0,
|
|
173
|
-
injectTarget: flow?.data
|
|
173
|
+
injectTarget: flow?.data,
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
}
|
|
@@ -24,8 +24,8 @@ class CassandraDriverPlugin extends DatabasePlugin {
|
|
|
24
24
|
'db.type': 'cassandra',
|
|
25
25
|
'cassandra.query': query,
|
|
26
26
|
'cassandra.keyspace': keyspace,
|
|
27
|
-
[CASSANDRA_CONTACT_POINTS_KEY]: contactPoints.join(',') || null
|
|
28
|
-
}
|
|
27
|
+
[CASSANDRA_CONTACT_POINTS_KEY]: contactPoints.join(',') || null,
|
|
28
|
+
},
|
|
29
29
|
}, ctx)
|
|
30
30
|
|
|
31
31
|
return ctx.currentStore
|
|
@@ -48,7 +48,7 @@ class ChildProcessPlugin extends TracingPlugin {
|
|
|
48
48
|
|
|
49
49
|
const meta = {
|
|
50
50
|
component: 'subprocess',
|
|
51
|
-
[property]: (shell === true) ? cmdFields.join(' ') : JSON.stringify(cmdFields)
|
|
51
|
+
[property]: (shell === true) ? cmdFields.join(' ') : JSON.stringify(cmdFields),
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
if (truncated) {
|
|
@@ -59,7 +59,7 @@ class ChildProcessPlugin extends TracingPlugin {
|
|
|
59
59
|
service: this.config.service || this._tracerConfig.service,
|
|
60
60
|
resource: (shell === true) ? 'sh' : cmdFields[0],
|
|
61
61
|
type: 'system',
|
|
62
|
-
meta
|
|
62
|
+
meta,
|
|
63
63
|
}, ctx)
|
|
64
64
|
|
|
65
65
|
return ctx.currentStore
|
|
@@ -33,7 +33,7 @@ function getTokensByExpression (expressionTokens) {
|
|
|
33
33
|
let wipExpressionTokens = []
|
|
34
34
|
let isNewExpression = true
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
for (const token of expressionTokens) {
|
|
37
37
|
if (isNewExpression) {
|
|
38
38
|
expressionListTokens.push(wipExpressionTokens)
|
|
39
39
|
isNewExpression = false
|
|
@@ -45,7 +45,7 @@ function getTokensByExpression (expressionTokens) {
|
|
|
45
45
|
wipExpressionTokens = []
|
|
46
46
|
isNewExpression = true
|
|
47
47
|
}
|
|
48
|
-
}
|
|
48
|
+
}
|
|
49
49
|
return expressionListTokens
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -56,14 +56,14 @@ function scrubChildProcessCmd (expression) {
|
|
|
56
56
|
const expressionListTokens = getTokensByExpression(expressionTokens)
|
|
57
57
|
|
|
58
58
|
const result = []
|
|
59
|
-
|
|
59
|
+
for (const expressionTokens of expressionListTokens) {
|
|
60
60
|
let foundBinary = false
|
|
61
61
|
for (let index = 0; index < expressionTokens.length; index++) {
|
|
62
62
|
const token = expressionTokens[index]
|
|
63
63
|
|
|
64
64
|
if (token === null) {
|
|
65
65
|
continue
|
|
66
|
-
} else if (typeof token === 'object') {
|
|
66
|
+
} else if (typeof token === 'object') {
|
|
67
67
|
if (token.pattern) {
|
|
68
68
|
result.push(token.pattern)
|
|
69
69
|
} else if (token.op) {
|
|
@@ -119,7 +119,7 @@ function scrubChildProcessCmd (expression) {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
}
|
|
122
|
+
}
|
|
123
123
|
|
|
124
124
|
return result
|
|
125
125
|
}
|
|
@@ -21,7 +21,7 @@ class CouchBasePlugin extends StoragePlugin {
|
|
|
21
21
|
component: 'couchbase',
|
|
22
22
|
'resource.name': `couchbase.${operation}`,
|
|
23
23
|
'span.kind': this.constructor.kind,
|
|
24
|
-
'db.couchbase.seed.nodes': seedNodes
|
|
24
|
+
'db.couchbase.seed.nodes': seedNodes,
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
if (bucket) tags['couchbase.bucket.name'] = bucket.name
|
|
@@ -35,7 +35,7 @@ class CouchBasePlugin extends StoragePlugin {
|
|
|
35
35
|
this.operationName({ operation }),
|
|
36
36
|
{
|
|
37
37
|
service: this.serviceName({ pluginConfig: this.config }),
|
|
38
|
-
meta: tags
|
|
38
|
+
meta: tags,
|
|
39
39
|
},
|
|
40
40
|
ctx
|
|
41
41
|
)
|
|
@@ -52,7 +52,7 @@ class CouchBasePlugin extends StoragePlugin {
|
|
|
52
52
|
{
|
|
53
53
|
'span.type': 'sql',
|
|
54
54
|
'resource.name': resource,
|
|
55
|
-
'span.kind': this.constructor.kind
|
|
55
|
+
'span.kind': this.constructor.kind,
|
|
56
56
|
},
|
|
57
57
|
{ bucket, seedNodes },
|
|
58
58
|
ctx
|
|
@@ -47,7 +47,7 @@ const {
|
|
|
47
47
|
TELEMETRY_EVENT_FINISHED,
|
|
48
48
|
TELEMETRY_ITR_FORCED_TO_RUN,
|
|
49
49
|
TELEMETRY_ITR_UNSKIPPABLE,
|
|
50
|
-
TELEMETRY_TEST_SESSION
|
|
50
|
+
TELEMETRY_TEST_SESSION,
|
|
51
51
|
} = require('../../dd-trace/src/ci-visibility/telemetry')
|
|
52
52
|
|
|
53
53
|
const BREAKPOINT_HIT_GRACE_PERIOD_MS = 200
|
|
@@ -73,7 +73,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
73
73
|
isEarlyFlakeDetectionEnabled,
|
|
74
74
|
isEarlyFlakeDetectionFaulty,
|
|
75
75
|
isTestManagementTestsEnabled,
|
|
76
|
-
isParallel
|
|
76
|
+
isParallel,
|
|
77
77
|
}) => {
|
|
78
78
|
const { isSuitesSkippingEnabled, isCodeCoverageEnabled } = this.libraryConfig || {}
|
|
79
79
|
addIntelligentTestRunnerSpanTags(
|
|
@@ -87,7 +87,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
87
87
|
skippingCount: numSkippedSuites,
|
|
88
88
|
skippingType: 'suite',
|
|
89
89
|
hasUnskippableSuites,
|
|
90
|
-
hasForcedToRunSuites
|
|
90
|
+
hasForcedToRunSuites,
|
|
91
91
|
}
|
|
92
92
|
)
|
|
93
93
|
if (isEarlyFlakeDetectionEnabled) {
|
|
@@ -112,7 +112,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
112
112
|
finishAllTraceSpans(this.testSessionSpan)
|
|
113
113
|
this.telemetry.count(TELEMETRY_TEST_SESSION, {
|
|
114
114
|
provider: this.ciProviderName,
|
|
115
|
-
autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
|
|
115
|
+
autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER'),
|
|
116
116
|
})
|
|
117
117
|
|
|
118
118
|
this.libraryConfig = null
|
|
@@ -123,7 +123,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
123
123
|
testFileAbsolutePath,
|
|
124
124
|
isUnskippable,
|
|
125
125
|
isForcedToRun,
|
|
126
|
-
itrCorrelationId
|
|
126
|
+
itrCorrelationId,
|
|
127
127
|
}) => {
|
|
128
128
|
const testSuitePath = getTestSuitePath(testFileAbsolutePath, process.cwd())
|
|
129
129
|
const testSourceFile = getTestSuitePath(testFileAbsolutePath, this.repositoryRoot)
|
|
@@ -160,9 +160,9 @@ class CucumberPlugin extends CiPlugin {
|
|
|
160
160
|
tags: {
|
|
161
161
|
[COMPONENT]: this.constructor.id,
|
|
162
162
|
...this.testEnvironmentMetadata,
|
|
163
|
-
...testSuiteMetadata
|
|
163
|
+
...testSuiteMetadata,
|
|
164
164
|
},
|
|
165
|
-
integrationName: this.constructor.id
|
|
165
|
+
integrationName: this.constructor.id,
|
|
166
166
|
})
|
|
167
167
|
this._testSuiteSpansByTestSuite.set(testSuitePath, testSuiteSpan)
|
|
168
168
|
|
|
@@ -196,7 +196,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
196
196
|
const formattedCoverage = {
|
|
197
197
|
sessionId: testSuiteSpan.context()._traceId,
|
|
198
198
|
suiteId: testSuiteSpan.context()._spanId,
|
|
199
|
-
files: relativeCoverageFiles
|
|
199
|
+
files: relativeCoverageFiles,
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
this.tracer._exporter.exportCoverage(formattedCoverage)
|
|
@@ -211,7 +211,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
211
211
|
|
|
212
212
|
const extraTags = {
|
|
213
213
|
[TEST_SOURCE_START]: testSourceLine,
|
|
214
|
-
[TEST_SOURCE_FILE]: testSourceFile
|
|
214
|
+
[TEST_SOURCE_FILE]: testSourceFile,
|
|
215
215
|
}
|
|
216
216
|
if (isParallel) {
|
|
217
217
|
extraTags[CUCUMBER_IS_PARALLEL] = 'true'
|
|
@@ -272,9 +272,9 @@ class CucumberPlugin extends CiPlugin {
|
|
|
272
272
|
tags: {
|
|
273
273
|
[COMPONENT]: this.constructor.id,
|
|
274
274
|
'cucumber.step': resource,
|
|
275
|
-
[RESOURCE_NAME]: resource
|
|
275
|
+
[RESOURCE_NAME]: resource,
|
|
276
276
|
},
|
|
277
|
-
integrationName: this.constructor.id
|
|
277
|
+
integrationName: this.constructor.id,
|
|
278
278
|
})
|
|
279
279
|
ctx.parentStore = store
|
|
280
280
|
ctx.currentStore = { ...store, span }
|
|
@@ -299,7 +299,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
299
299
|
hasFailedAttemptToFix,
|
|
300
300
|
isDisabled,
|
|
301
301
|
isQuarantined,
|
|
302
|
-
isModified
|
|
302
|
+
isModified,
|
|
303
303
|
}) => {
|
|
304
304
|
const statusTag = isStep ? 'step.status' : TEST_STATUS
|
|
305
305
|
|
|
@@ -367,7 +367,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
367
367
|
hasCodeOwners: !!spanTags[TEST_CODE_OWNERS],
|
|
368
368
|
isNew,
|
|
369
369
|
isRum: spanTags[TEST_IS_RUM_ACTIVE] === 'true',
|
|
370
|
-
browserDriver: spanTags[TEST_BROWSER_DRIVER]
|
|
370
|
+
browserDriver: spanTags[TEST_BROWSER_DRIVER],
|
|
371
371
|
}
|
|
372
372
|
span.finish()
|
|
373
373
|
if (!isStep) {
|
|
@@ -412,7 +412,7 @@ class CucumberPlugin extends CiPlugin {
|
|
|
412
412
|
modifiedFiles,
|
|
413
413
|
stepIds,
|
|
414
414
|
stepDefinitions,
|
|
415
|
-
setIsModified
|
|
415
|
+
setIsModified,
|
|
416
416
|
}) => {
|
|
417
417
|
const testScenarioPath = getTestSuitePath(testFileAbsolutePath, this.repositoryRoot || process.cwd())
|
|
418
418
|
for (const scenario of scenarios) {
|
|
@@ -47,7 +47,7 @@ const {
|
|
|
47
47
|
getPullRequestDiff,
|
|
48
48
|
getModifiedFilesFromDiff,
|
|
49
49
|
TEST_IS_MODIFIED,
|
|
50
|
-
getPullRequestBaseBranch
|
|
50
|
+
getPullRequestBaseBranch,
|
|
51
51
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
52
52
|
const { isMarkedAsUnskippable } = require('../../datadog-plugin-jest/src/util')
|
|
53
53
|
const { ORIGIN_KEY, COMPONENT } = require('../../dd-trace/src/constants')
|
|
@@ -65,7 +65,7 @@ const {
|
|
|
65
65
|
incrementCountMetric,
|
|
66
66
|
distributionMetric,
|
|
67
67
|
TELEMETRY_ITR_SKIPPED,
|
|
68
|
-
TELEMETRY_TEST_SESSION
|
|
68
|
+
TELEMETRY_TEST_SESSION,
|
|
69
69
|
} = require('../../dd-trace/src/ci-visibility/telemetry')
|
|
70
70
|
|
|
71
71
|
const {
|
|
@@ -79,14 +79,14 @@ const {
|
|
|
79
79
|
GIT_PULL_REQUEST_BASE_BRANCH_SHA,
|
|
80
80
|
GIT_COMMIT_HEAD_SHA,
|
|
81
81
|
GIT_PULL_REQUEST_BASE_BRANCH,
|
|
82
|
-
GIT_COMMIT_HEAD_MESSAGE
|
|
82
|
+
GIT_COMMIT_HEAD_MESSAGE,
|
|
83
83
|
} = require('../../dd-trace/src/plugins/util/tags')
|
|
84
84
|
const {
|
|
85
85
|
OS_VERSION,
|
|
86
86
|
OS_PLATFORM,
|
|
87
87
|
OS_ARCHITECTURE,
|
|
88
88
|
RUNTIME_NAME,
|
|
89
|
-
RUNTIME_VERSION
|
|
89
|
+
RUNTIME_VERSION,
|
|
90
90
|
} = require('../../dd-trace/src/plugins/util/env')
|
|
91
91
|
const { DD_MAJOR } = require('../../../version')
|
|
92
92
|
|
|
@@ -96,7 +96,7 @@ const CYPRESS_STATUS_TO_TEST_STATUS = {
|
|
|
96
96
|
passed: 'pass',
|
|
97
97
|
failed: 'fail',
|
|
98
98
|
pending: 'skip',
|
|
99
|
-
skipped: 'skip'
|
|
99
|
+
skipped: 'skip',
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
function getSessionStatus (summary) {
|
|
@@ -162,7 +162,7 @@ function getSkippableTests (tracer, testConfiguration) {
|
|
|
162
162
|
resolve({
|
|
163
163
|
err,
|
|
164
164
|
skippableTests,
|
|
165
|
-
correlationId
|
|
165
|
+
correlationId,
|
|
166
166
|
})
|
|
167
167
|
})
|
|
168
168
|
})
|
|
@@ -176,7 +176,7 @@ function getKnownTests (tracer, testConfiguration) {
|
|
|
176
176
|
tracer._tracer._exporter.getKnownTests(testConfiguration, (err, knownTests) => {
|
|
177
177
|
resolve({
|
|
178
178
|
err,
|
|
179
|
-
knownTests
|
|
179
|
+
knownTests,
|
|
180
180
|
})
|
|
181
181
|
})
|
|
182
182
|
})
|
|
@@ -190,7 +190,7 @@ function getTestManagementTests (tracer, testConfiguration) {
|
|
|
190
190
|
tracer._tracer._exporter.getTestManagementTests(testConfiguration, (err, testManagementTests) => {
|
|
191
191
|
resolve({
|
|
192
192
|
err,
|
|
193
|
-
testManagementTests
|
|
193
|
+
testManagementTests,
|
|
194
194
|
})
|
|
195
195
|
})
|
|
196
196
|
})
|
|
@@ -200,7 +200,7 @@ function getModifiedFiles (testEnvironmentMetadata) {
|
|
|
200
200
|
const {
|
|
201
201
|
[GIT_PULL_REQUEST_BASE_BRANCH]: pullRequestBaseBranch,
|
|
202
202
|
[GIT_PULL_REQUEST_BASE_BRANCH_SHA]: pullRequestBaseBranchSha,
|
|
203
|
-
[GIT_COMMIT_HEAD_SHA]: commitHeadSha
|
|
203
|
+
[GIT_COMMIT_HEAD_SHA]: commitHeadSha,
|
|
204
204
|
} = testEnvironmentMetadata
|
|
205
205
|
|
|
206
206
|
const baseBranchSha = pullRequestBaseBranchSha || getPullRequestBaseBranch(pullRequestBaseBranch)
|
|
@@ -271,7 +271,7 @@ class CypressPlugin {
|
|
|
271
271
|
[GIT_TAG]: tag,
|
|
272
272
|
[GIT_PULL_REQUEST_BASE_BRANCH_SHA]: pullRequestBaseSha,
|
|
273
273
|
[GIT_COMMIT_HEAD_SHA]: commitHeadSha,
|
|
274
|
-
[GIT_COMMIT_HEAD_MESSAGE]: commitHeadMessage
|
|
274
|
+
[GIT_COMMIT_HEAD_MESSAGE]: commitHeadMessage,
|
|
275
275
|
} = this.testEnvironmentMetadata
|
|
276
276
|
|
|
277
277
|
this.repositoryRoot = repositoryRoot || process.cwd()
|
|
@@ -292,7 +292,7 @@ class CypressPlugin {
|
|
|
292
292
|
tag,
|
|
293
293
|
pullRequestBaseSha,
|
|
294
294
|
commitHeadSha,
|
|
295
|
-
commitHeadMessage
|
|
295
|
+
commitHeadMessage,
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
|
|
@@ -330,8 +330,8 @@ class CypressPlugin {
|
|
|
330
330
|
isKnownTestsEnabled,
|
|
331
331
|
isTestManagementEnabled,
|
|
332
332
|
testManagementAttemptToFixRetries,
|
|
333
|
-
isImpactedTestsEnabled
|
|
334
|
-
}
|
|
333
|
+
isImpactedTestsEnabled,
|
|
334
|
+
},
|
|
335
335
|
} = libraryConfigurationResponse
|
|
336
336
|
this.isSuitesSkippingEnabled = isSuitesSkippingEnabled
|
|
337
337
|
this.isCodeCoverageEnabled = isCodeCoverageEnabled
|
|
@@ -395,16 +395,16 @@ class CypressPlugin {
|
|
|
395
395
|
tags: {
|
|
396
396
|
[COMPONENT]: TEST_FRAMEWORK_NAME,
|
|
397
397
|
...this.testEnvironmentMetadata,
|
|
398
|
-
...testSuiteSpanMetadata
|
|
398
|
+
...testSuiteSpanMetadata,
|
|
399
399
|
},
|
|
400
|
-
integrationName: TEST_FRAMEWORK_NAME
|
|
400
|
+
integrationName: TEST_FRAMEWORK_NAME,
|
|
401
401
|
})
|
|
402
402
|
}
|
|
403
403
|
|
|
404
404
|
getTestSpan ({ testName, testSuite, isUnskippable, isForcedToRun, testSourceFile, isDisabled, isQuarantined }) {
|
|
405
405
|
const testSuiteTags = {
|
|
406
406
|
[TEST_COMMAND]: this.command,
|
|
407
|
-
[TEST_MODULE]: TEST_FRAMEWORK_NAME
|
|
407
|
+
[TEST_MODULE]: TEST_FRAMEWORK_NAME,
|
|
408
408
|
}
|
|
409
409
|
if (this.testSuiteSpan) {
|
|
410
410
|
testSuiteTags[TEST_SUITE_ID] = this.testSuiteSpan.context().toSpanId()
|
|
@@ -462,9 +462,9 @@ class CypressPlugin {
|
|
|
462
462
|
[ORIGIN_KEY]: CI_APP_ORIGIN,
|
|
463
463
|
...testSpanMetadata,
|
|
464
464
|
...this.testEnvironmentMetadata,
|
|
465
|
-
...testSuiteTags
|
|
465
|
+
...testSuiteTags,
|
|
466
466
|
},
|
|
467
|
-
integrationName: TEST_FRAMEWORK_NAME
|
|
467
|
+
integrationName: TEST_FRAMEWORK_NAME,
|
|
468
468
|
})
|
|
469
469
|
}
|
|
470
470
|
|
|
@@ -473,7 +473,7 @@ class CypressPlugin {
|
|
|
473
473
|
testLevel,
|
|
474
474
|
testFramework: 'cypress',
|
|
475
475
|
isUnsupportedCIProvider: !this.ciProviderName,
|
|
476
|
-
...tags
|
|
476
|
+
...tags,
|
|
477
477
|
})
|
|
478
478
|
}
|
|
479
479
|
|
|
@@ -543,12 +543,14 @@ class CypressPlugin {
|
|
|
543
543
|
}
|
|
544
544
|
|
|
545
545
|
// `details.specs` are test files
|
|
546
|
-
details.specs
|
|
547
|
-
const
|
|
548
|
-
|
|
549
|
-
|
|
546
|
+
if (details.specs) {
|
|
547
|
+
for (const { absolute, relative } of details.specs) {
|
|
548
|
+
const isUnskippableSuite = isMarkedAsUnskippable({ path: absolute })
|
|
549
|
+
if (isUnskippableSuite) {
|
|
550
|
+
this.unskippableSuites.push(relative)
|
|
551
|
+
}
|
|
550
552
|
}
|
|
551
|
-
}
|
|
553
|
+
}
|
|
552
554
|
|
|
553
555
|
const childOf = getTestParentSpan(this.tracer)
|
|
554
556
|
|
|
@@ -573,13 +575,13 @@ class CypressPlugin {
|
|
|
573
575
|
const metadataTags = {}
|
|
574
576
|
for (const testLevel of TEST_LEVEL_EVENT_TYPES) {
|
|
575
577
|
metadataTags[testLevel] = {
|
|
576
|
-
[TEST_SESSION_NAME]: testSessionName
|
|
578
|
+
[TEST_SESSION_NAME]: testSessionName,
|
|
577
579
|
}
|
|
578
580
|
}
|
|
579
581
|
const libraryCapabilitiesTags = getLibraryCapabilitiesTags(this.constructor.id, false, this.frameworkVersion)
|
|
580
582
|
metadataTags.test = {
|
|
581
583
|
...metadataTags.test,
|
|
582
|
-
...libraryCapabilitiesTags
|
|
584
|
+
...libraryCapabilitiesTags,
|
|
583
585
|
}
|
|
584
586
|
|
|
585
587
|
this.tracer._tracer._exporter.addMetadataTags(metadataTags)
|
|
@@ -590,9 +592,9 @@ class CypressPlugin {
|
|
|
590
592
|
tags: {
|
|
591
593
|
[COMPONENT]: TEST_FRAMEWORK_NAME,
|
|
592
594
|
...this.testEnvironmentMetadata,
|
|
593
|
-
...testSessionSpanMetadata
|
|
595
|
+
...testSessionSpanMetadata,
|
|
594
596
|
},
|
|
595
|
-
integrationName: TEST_FRAMEWORK_NAME
|
|
597
|
+
integrationName: TEST_FRAMEWORK_NAME,
|
|
596
598
|
})
|
|
597
599
|
this.ciVisEvent(TELEMETRY_EVENT_CREATED, 'session')
|
|
598
600
|
|
|
@@ -601,9 +603,9 @@ class CypressPlugin {
|
|
|
601
603
|
tags: {
|
|
602
604
|
[COMPONENT]: TEST_FRAMEWORK_NAME,
|
|
603
605
|
...this.testEnvironmentMetadata,
|
|
604
|
-
...testModuleSpanMetadata
|
|
606
|
+
...testModuleSpanMetadata,
|
|
605
607
|
},
|
|
606
|
-
integrationName: TEST_FRAMEWORK_NAME
|
|
608
|
+
integrationName: TEST_FRAMEWORK_NAME,
|
|
607
609
|
})
|
|
608
610
|
this.ciVisEvent(TELEMETRY_EVENT_CREATED, 'module')
|
|
609
611
|
|
|
@@ -630,7 +632,7 @@ class CypressPlugin {
|
|
|
630
632
|
skippingType: 'test',
|
|
631
633
|
skippingCount: this.skippedTests.length,
|
|
632
634
|
hasForcedToRunSuites: this.hasForcedToRunSuites,
|
|
633
|
-
hasUnskippableSuites: this.hasUnskippableSuites
|
|
635
|
+
hasUnskippableSuites: this.hasUnskippableSuites,
|
|
634
636
|
}
|
|
635
637
|
)
|
|
636
638
|
|
|
@@ -644,7 +646,7 @@ class CypressPlugin {
|
|
|
644
646
|
this.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'session')
|
|
645
647
|
incrementCountMetric(TELEMETRY_TEST_SESSION, {
|
|
646
648
|
provider: this.ciProviderName,
|
|
647
|
-
autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
|
|
649
|
+
autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER'),
|
|
648
650
|
})
|
|
649
651
|
|
|
650
652
|
finishAllTraceSpans(this.testSessionSpan)
|
|
@@ -680,19 +682,20 @@ class CypressPlugin {
|
|
|
680
682
|
log.warn('There was an error creating the test suite event.')
|
|
681
683
|
this.testSuiteSpan = this.getTestSuiteSpan({
|
|
682
684
|
testSuite: spec.relative,
|
|
683
|
-
testSuiteAbsolutePath: spec.absolute
|
|
685
|
+
testSuiteAbsolutePath: spec.absolute,
|
|
684
686
|
})
|
|
685
687
|
}
|
|
686
688
|
|
|
687
689
|
// Get tests that didn't go through `dd:afterEach`
|
|
688
690
|
// and create a skipped test span for each of them
|
|
689
|
-
|
|
691
|
+
for (const { title } of cypressTests) {
|
|
690
692
|
const cypressTestName = title.join(' ')
|
|
691
693
|
const isTestFinished = finishedTests.find(({ testName }) => cypressTestName === testName)
|
|
692
694
|
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
695
|
+
if (isTestFinished) {
|
|
696
|
+
continue
|
|
697
|
+
}
|
|
698
|
+
|
|
696
699
|
const isSkippedByItr = this.testsToSkip.find(test =>
|
|
697
700
|
cypressTestName === test.name && spec.relative === test.suite
|
|
698
701
|
)
|
|
@@ -719,7 +722,7 @@ class CypressPlugin {
|
|
|
719
722
|
}
|
|
720
723
|
|
|
721
724
|
skippedTestSpan.finish()
|
|
722
|
-
}
|
|
725
|
+
}
|
|
723
726
|
|
|
724
727
|
// Make sure that reported test statuses are the same as Cypress reports.
|
|
725
728
|
// This is not always the case, such as when an `after` hook fails:
|
|
@@ -734,13 +737,13 @@ class CypressPlugin {
|
|
|
734
737
|
return acc
|
|
735
738
|
}, {})
|
|
736
739
|
|
|
737
|
-
|
|
738
|
-
finishedTestAttempts.
|
|
740
|
+
for (const [testName, finishedTestAttempts] of Object.entries(finishedTestsByTestName)) {
|
|
741
|
+
for (const [attemptIndex, finishedTest] of finishedTestAttempts.entries()) {
|
|
739
742
|
// TODO: there could be multiple if there have been retries!
|
|
740
743
|
// potentially we need to match the test status!
|
|
741
744
|
const cypressTest = cypressTests.find(test => test.title.join(' ') === testName)
|
|
742
745
|
if (!cypressTest) {
|
|
743
|
-
|
|
746
|
+
continue
|
|
744
747
|
}
|
|
745
748
|
// finishedTests can include multiple tests with the same name if they have been retried
|
|
746
749
|
// by early flake detection. Cypress is unaware of this so .attempts does not necessarily have
|
|
@@ -766,8 +769,10 @@ class CypressPlugin {
|
|
|
766
769
|
if (cypressTest.displayError) {
|
|
767
770
|
latestError = new Error(cypressTest.displayError)
|
|
768
771
|
}
|
|
769
|
-
// Update test status
|
|
770
|
-
|
|
772
|
+
// Update test status - but NOT for quarantined tests where we intentionally
|
|
773
|
+
// report 'fail' to Datadog even though Cypress sees it as 'pass'
|
|
774
|
+
const isQuarantinedTest = finishedTest.testSpan?.context()?._tags?.[TEST_MANAGEMENT_IS_QUARANTINED] === 'true'
|
|
775
|
+
if (cypressTestStatus !== finishedTest.testStatus && !isQuarantinedTest) {
|
|
771
776
|
finishedTest.testSpan.setTag(TEST_STATUS, cypressTestStatus)
|
|
772
777
|
finishedTest.testSpan.setTag('error', latestError)
|
|
773
778
|
}
|
|
@@ -787,8 +792,8 @@ class CypressPlugin {
|
|
|
787
792
|
}
|
|
788
793
|
|
|
789
794
|
finishedTest.testSpan.finish(finishedTest.finishTime)
|
|
790
|
-
}
|
|
791
|
-
}
|
|
795
|
+
}
|
|
796
|
+
}
|
|
792
797
|
|
|
793
798
|
if (this.testSuiteSpan) {
|
|
794
799
|
const status = getSuiteStatus(stats)
|
|
@@ -817,7 +822,7 @@ class CypressPlugin {
|
|
|
817
822
|
isImpactedTestsEnabled: this.isImpactedTestsEnabled,
|
|
818
823
|
isModifiedTest: this.getIsTestModified(testSuiteAbsolutePath),
|
|
819
824
|
repositoryRoot: this.repositoryRoot,
|
|
820
|
-
isTestIsolationEnabled: this.isTestIsolationEnabled
|
|
825
|
+
isTestIsolationEnabled: this.isTestIsolationEnabled,
|
|
821
826
|
}
|
|
822
827
|
|
|
823
828
|
if (this.testSuiteSpan) {
|
|
@@ -841,11 +846,12 @@ class CypressPlugin {
|
|
|
841
846
|
return { shouldSkip: true }
|
|
842
847
|
}
|
|
843
848
|
|
|
844
|
-
//
|
|
845
|
-
|
|
846
|
-
if (!isAttemptToFix && (isDisabled || isQuarantined)) {
|
|
849
|
+
// For disabled tests (not attemptToFix), skip them
|
|
850
|
+
if (!isAttemptToFix && isDisabled) {
|
|
847
851
|
return { shouldSkip: true }
|
|
848
852
|
}
|
|
853
|
+
// Quarantined tests (not attemptToFix) run normally but their failures are caught
|
|
854
|
+
// by Cypress.on('fail') in support.js and suppressed, so Cypress sees them as passed
|
|
849
855
|
|
|
850
856
|
if (!this.activeTestSpan) {
|
|
851
857
|
this.activeTestSpan = this.getTestSpan({
|
|
@@ -854,7 +860,7 @@ class CypressPlugin {
|
|
|
854
860
|
isUnskippable,
|
|
855
861
|
isForcedToRun,
|
|
856
862
|
isDisabled,
|
|
857
|
-
isQuarantined
|
|
863
|
+
isQuarantined,
|
|
858
864
|
})
|
|
859
865
|
}
|
|
860
866
|
|
|
@@ -876,7 +882,8 @@ class CypressPlugin {
|
|
|
876
882
|
isNew,
|
|
877
883
|
isEfdRetry,
|
|
878
884
|
isAttemptToFix,
|
|
879
|
-
isModified
|
|
885
|
+
isModified,
|
|
886
|
+
isQuarantined: isQuarantinedFromSupport,
|
|
880
887
|
} = test
|
|
881
888
|
if (coverage && this.isCodeCoverageEnabled && this.tracer._tracer._exporter?.exportCoverage) {
|
|
882
889
|
const coverageFiles = getCoveredFilenamesFromCoverage(coverage)
|
|
@@ -892,7 +899,7 @@ class CypressPlugin {
|
|
|
892
899
|
sessionId: _traceId,
|
|
893
900
|
suiteId: _spanId,
|
|
894
901
|
testId: this.activeTestSpan.context()._spanId,
|
|
895
|
-
files: relativeCoverageFiles
|
|
902
|
+
files: relativeCoverageFiles,
|
|
896
903
|
}
|
|
897
904
|
this.tracer._tracer._exporter.exportCoverage(formattedCoverage)
|
|
898
905
|
}
|
|
@@ -949,13 +956,19 @@ class CypressPlugin {
|
|
|
949
956
|
}
|
|
950
957
|
}
|
|
951
958
|
|
|
959
|
+
// Ensure quarantined tests reported from support.js are tagged
|
|
960
|
+
// (This catches cases where the test ran but failed, but Cypress saw it as passed)
|
|
961
|
+
if (isQuarantinedFromSupport) {
|
|
962
|
+
this.activeTestSpan.setTag(TEST_MANAGEMENT_IS_QUARANTINED, 'true')
|
|
963
|
+
}
|
|
964
|
+
|
|
952
965
|
const finishedTest = {
|
|
953
966
|
testName,
|
|
954
967
|
testStatus,
|
|
955
968
|
finishTime: this.activeTestSpan._getTime(), // we store the finish time here
|
|
956
969
|
testSpan: this.activeTestSpan,
|
|
957
970
|
isEfdRetry,
|
|
958
|
-
isAttemptToFix
|
|
971
|
+
isAttemptToFix,
|
|
959
972
|
}
|
|
960
973
|
if (this.finishedTestsByFile[testSuite]) {
|
|
961
974
|
this.finishedTestsByFile[testSuite].push(finishedTest)
|
|
@@ -967,7 +980,7 @@ class CypressPlugin {
|
|
|
967
980
|
hasCodeOwners: !!this.activeTestSpan.context()._tags[TEST_CODE_OWNERS],
|
|
968
981
|
isNew,
|
|
969
982
|
isRum: isRUMActive,
|
|
970
|
-
browserDriver: 'cypress'
|
|
983
|
+
browserDriver: 'cypress',
|
|
971
984
|
})
|
|
972
985
|
this.activeTestSpan = null
|
|
973
986
|
|
|
@@ -983,7 +996,7 @@ class CypressPlugin {
|
|
|
983
996
|
// eslint-disable-next-line no-console
|
|
984
997
|
console.log(`[datadog] ${message}`)
|
|
985
998
|
return null
|
|
986
|
-
}
|
|
999
|
+
},
|
|
987
1000
|
}
|
|
988
1001
|
}
|
|
989
1002
|
|