dd-trace 5.83.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/LICENSE-3rdparty.csv +0 -1
- 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 +115 -2
- package/initialize.mjs +47 -31
- package/loader-hook.mjs +35 -22
- package/package.json +36 -33
- 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/compiler.js +6 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +1 -0
- 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 +74 -17
- 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 +250 -106
- 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 +71 -67
- 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 +46 -45
- 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 +42 -42
- 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 +5 -8
- package/packages/dd-trace/index.js +2 -2
- package/packages/dd-trace/src/agent/info.js +57 -0
- package/packages/dd-trace/src/agent/url.js +28 -0
- 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 +65 -27
- 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 +11 -11
- 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 +8 -6
- 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 +39 -20
- 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 +8 -4
- 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 +645 -641
- package/packages/dd-trace/src/config/remote_config.js +2 -1
- package/packages/dd-trace/src/config/stable.js +2 -2
- package/packages/dd-trace/src/config/supported-configurations.json +2 -1
- package/packages/dd-trace/src/constants.js +3 -3
- package/packages/dd-trace/src/crashtracking/crashtracker.js +8 -11
- 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 +5 -11
- 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 +6 -12
- 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/json-buffer.js +10 -11
- 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 +17 -18
- 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 +5 -9
- package/packages/dd-trace/src/exporters/agent/writer.js +5 -4
- package/packages/dd-trace/src/exporters/common/agents.js +1 -1
- package/packages/dd-trace/src/exporters/common/{agent-info-exporter.js → buffering-exporter.js} +12 -39
- 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 +4 -11
- 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 +11 -17
- 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 +4 -10
- package/packages/dd-trace/src/log/channels.js +2 -2
- package/packages/dd-trace/src/log/index.js +46 -31
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/writer.js +14 -79
- 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 +14 -20
- package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
- package/packages/dd-trace/src/openfeature/writers/util.js +4 -9
- 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 +11 -14
- 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/capabilities.js +1 -0
- package/packages/dd-trace/src/remote_config/index.js +17 -22
- 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 +4 -4
- 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
|
@@ -7,11 +7,11 @@ const {
|
|
|
7
7
|
parseAnnotations,
|
|
8
8
|
getTestSuitePath,
|
|
9
9
|
PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE,
|
|
10
|
-
getIsFaultyEarlyFlakeDetection
|
|
10
|
+
getIsFaultyEarlyFlakeDetection,
|
|
11
11
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
12
12
|
const log = require('../../dd-trace/src/log')
|
|
13
13
|
const {
|
|
14
|
-
getValueFromEnvSources
|
|
14
|
+
getValueFromEnvSources,
|
|
15
15
|
} = require('../../dd-trace/src/config/helper')
|
|
16
16
|
const { DD_MAJOR } = require('../../../version')
|
|
17
17
|
const { addHook, channel } = require('./helpers/instrument')
|
|
@@ -51,7 +51,7 @@ const STATUS_TO_TEST_STATUS = {
|
|
|
51
51
|
passed: 'pass',
|
|
52
52
|
failed: 'fail',
|
|
53
53
|
timedOut: 'fail',
|
|
54
|
-
skipped: 'skip'
|
|
54
|
+
skipped: 'skip',
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
let remainingTestsByFile = {}
|
|
@@ -120,13 +120,13 @@ function deepCloneSuite (suite, filterTest, tags = []) {
|
|
|
120
120
|
} else {
|
|
121
121
|
if (filterTest(entry)) {
|
|
122
122
|
const copiedTest = entry._clone()
|
|
123
|
-
|
|
123
|
+
for (const tag of tags) {
|
|
124
124
|
const resolvedTag = typeof tag === 'function' ? tag(entry) : tag
|
|
125
125
|
|
|
126
126
|
if (resolvedTag) {
|
|
127
127
|
copiedTest[resolvedTag] = true
|
|
128
128
|
}
|
|
129
|
-
}
|
|
129
|
+
}
|
|
130
130
|
copy._addTest(copiedTest)
|
|
131
131
|
}
|
|
132
132
|
}
|
|
@@ -302,9 +302,9 @@ function testBeginHandler (test, browserName, shouldCreateTestSpan) {
|
|
|
302
302
|
const {
|
|
303
303
|
_requireFile: testSuiteAbsolutePath,
|
|
304
304
|
location: {
|
|
305
|
-
line: testSourceLine
|
|
305
|
+
line: testSourceLine,
|
|
306
306
|
},
|
|
307
|
-
_type
|
|
307
|
+
_type,
|
|
308
308
|
} = test
|
|
309
309
|
|
|
310
310
|
if (_type === 'beforeAll' || _type === 'afterAll') {
|
|
@@ -337,7 +337,7 @@ function testBeginHandler (test, browserName, shouldCreateTestSpan) {
|
|
|
337
337
|
testSuiteAbsolutePath,
|
|
338
338
|
testSourceLine,
|
|
339
339
|
browserName,
|
|
340
|
-
isDisabled: test._ddIsDisabled
|
|
340
|
+
isDisabled: test._ddIsDisabled,
|
|
341
341
|
}
|
|
342
342
|
testToCtx.set(test, testCtx)
|
|
343
343
|
|
|
@@ -352,7 +352,7 @@ function testEndHandler ({
|
|
|
352
352
|
error,
|
|
353
353
|
isTimeout,
|
|
354
354
|
shouldCreateTestSpan,
|
|
355
|
-
projects
|
|
355
|
+
projects,
|
|
356
356
|
}) {
|
|
357
357
|
const {
|
|
358
358
|
_requireFile: testSuiteAbsolutePath,
|
|
@@ -422,7 +422,7 @@ function testEndHandler ({
|
|
|
422
422
|
hasFailedAttemptToFixRetries: test._ddHasFailedAttemptToFixRetries,
|
|
423
423
|
isAtrRetry,
|
|
424
424
|
isModified: test._ddIsModified,
|
|
425
|
-
...testCtx.currentStore
|
|
425
|
+
...testCtx.currentStore,
|
|
426
426
|
})
|
|
427
427
|
}
|
|
428
428
|
}
|
|
@@ -456,7 +456,7 @@ function testEndHandler ({
|
|
|
456
456
|
isNew: test._ddIsNew,
|
|
457
457
|
isDisabled: test._ddIsDisabled,
|
|
458
458
|
isModified: test._ddIsModified,
|
|
459
|
-
isQuarantined: test._ddIsQuarantined
|
|
459
|
+
isQuarantined: test._ddIsQuarantined,
|
|
460
460
|
})
|
|
461
461
|
}
|
|
462
462
|
remainingTestsByFile[testSuiteAbsolutePath] = []
|
|
@@ -484,11 +484,12 @@ function dispatcherRunWrapper (run) {
|
|
|
484
484
|
|
|
485
485
|
function dispatcherRunWrapperNew (run) {
|
|
486
486
|
return function (testGroups) {
|
|
487
|
-
// Filter out disabled tests from testGroups before they get scheduled
|
|
487
|
+
// Filter out disabled tests from testGroups before they get scheduled,
|
|
488
|
+
// unless they have attemptToFix (in which case they should still run and be retried)
|
|
488
489
|
if (isTestManagementTestsEnabled) {
|
|
489
|
-
|
|
490
|
-
group.tests = group.tests.filter(test => !test._ddIsDisabled)
|
|
491
|
-
}
|
|
490
|
+
for (const group of testGroups) {
|
|
491
|
+
group.tests = group.tests.filter(test => !test._ddIsDisabled || test._ddIsAttemptToFix)
|
|
492
|
+
}
|
|
492
493
|
// Remove empty groups
|
|
493
494
|
testGroups = testGroups.filter(group => group.tests.length > 0)
|
|
494
495
|
}
|
|
@@ -533,7 +534,7 @@ function dispatcherHook (dispatcherExport) {
|
|
|
533
534
|
error: testResult.error,
|
|
534
535
|
isTimeout,
|
|
535
536
|
shouldCreateTestSpan: true,
|
|
536
|
-
projects
|
|
537
|
+
projects,
|
|
537
538
|
}
|
|
538
539
|
)
|
|
539
540
|
}
|
|
@@ -571,7 +572,7 @@ function dispatcherHookNew (dispatcherExport, runWrapper) {
|
|
|
571
572
|
error: errors && errors[0],
|
|
572
573
|
isTimeout,
|
|
573
574
|
shouldCreateTestSpan,
|
|
574
|
-
projects
|
|
575
|
+
projects,
|
|
575
576
|
}
|
|
576
577
|
)
|
|
577
578
|
const testResult = test.results.at(-1)
|
|
@@ -594,8 +595,8 @@ function dispatcherHookNew (dispatcherExport, runWrapper) {
|
|
|
594
595
|
_ddHasPassedAttemptToFixRetries: test._ddHasPassedAttemptToFixRetries,
|
|
595
596
|
_ddHasFailedAttemptToFixRetries: test._ddHasFailedAttemptToFixRetries,
|
|
596
597
|
_ddIsAtrRetry: isAtrRetry,
|
|
597
|
-
_ddIsModified: test._ddIsModified
|
|
598
|
-
}
|
|
598
|
+
_ddIsModified: test._ddIsModified,
|
|
599
|
+
},
|
|
599
600
|
})
|
|
600
601
|
})
|
|
601
602
|
|
|
@@ -695,11 +696,11 @@ function runAllTestsWrapper (runAllTests, playwrightVersion) {
|
|
|
695
696
|
// preventing them from being retried by ATR or `--retries`.
|
|
696
697
|
const shouldSetATRRetries = isFlakyTestRetriesEnabled && flakyTestRetriesCount > 0
|
|
697
698
|
if (shouldSetATRRetries) {
|
|
698
|
-
|
|
699
|
+
for (const project of projects) {
|
|
699
700
|
if (project.retries === 0) { // Only if it hasn't been set by the user
|
|
700
701
|
project.retries = flakyTestRetriesCount
|
|
701
702
|
}
|
|
702
|
-
}
|
|
703
|
+
}
|
|
703
704
|
}
|
|
704
705
|
|
|
705
706
|
let runAllTestsReturn = await runAllTests.apply(this, arguments)
|
|
@@ -707,11 +708,11 @@ function runAllTestsWrapper (runAllTests, playwrightVersion) {
|
|
|
707
708
|
// Tests that have only skipped tests may reach this point
|
|
708
709
|
// Skipped tests may or may not go through `testBegin` or `testEnd`
|
|
709
710
|
// depending on the playwright configuration
|
|
710
|
-
Object.values(remainingTestsByFile)
|
|
711
|
+
for (const tests of Object.values(remainingTestsByFile)) {
|
|
711
712
|
// `tests` should normally be empty, but if it isn't,
|
|
712
713
|
// there were tests that did not go through `testBegin` or `testEnd`,
|
|
713
714
|
// because they were skipped
|
|
714
|
-
|
|
715
|
+
for (const test of tests) {
|
|
715
716
|
const browser = getBrowserNameFromProjects(projects, test)
|
|
716
717
|
testBeginHandler(test, browser, true)
|
|
717
718
|
testEndHandler({
|
|
@@ -721,10 +722,10 @@ function runAllTestsWrapper (runAllTests, playwrightVersion) {
|
|
|
721
722
|
error: null,
|
|
722
723
|
isTimeout: false,
|
|
723
724
|
shouldCreateTestSpan: true,
|
|
724
|
-
projects
|
|
725
|
+
projects,
|
|
725
726
|
})
|
|
726
|
-
}
|
|
727
|
-
}
|
|
727
|
+
}
|
|
728
|
+
}
|
|
728
729
|
|
|
729
730
|
let preventedToFail = false
|
|
730
731
|
|
|
@@ -771,7 +772,7 @@ function runAllTestsWrapper (runAllTests, playwrightVersion) {
|
|
|
771
772
|
isEarlyFlakeDetectionEnabled,
|
|
772
773
|
isEarlyFlakeDetectionFaulty,
|
|
773
774
|
isTestManagementTestsEnabled,
|
|
774
|
-
onDone
|
|
775
|
+
onDone,
|
|
775
776
|
})
|
|
776
777
|
await flushWait
|
|
777
778
|
|
|
@@ -808,56 +809,56 @@ if (DD_MAJOR < 6) { // <1.38.0 is only supported up to version 5
|
|
|
808
809
|
addHook({
|
|
809
810
|
name: '@playwright/test',
|
|
810
811
|
file: 'lib/runner.js',
|
|
811
|
-
versions: ['>=1.18.0 <=1.30.0']
|
|
812
|
+
versions: ['>=1.18.0 <=1.30.0'],
|
|
812
813
|
}, runnerHook)
|
|
813
814
|
|
|
814
815
|
addHook({
|
|
815
816
|
name: '@playwright/test',
|
|
816
817
|
file: 'lib/dispatcher.js',
|
|
817
|
-
versions: ['>=1.18.0 <1.30.0']
|
|
818
|
+
versions: ['>=1.18.0 <1.30.0'],
|
|
818
819
|
}, dispatcherHook)
|
|
819
820
|
|
|
820
821
|
addHook({
|
|
821
822
|
name: '@playwright/test',
|
|
822
823
|
file: 'lib/dispatcher.js',
|
|
823
|
-
versions: ['>=1.30.0 <1.31.0']
|
|
824
|
+
versions: ['>=1.30.0 <1.31.0'],
|
|
824
825
|
}, (dispatcher) => dispatcherHookNew(dispatcher, dispatcherRunWrapper))
|
|
825
826
|
|
|
826
827
|
addHook({
|
|
827
828
|
name: '@playwright/test',
|
|
828
829
|
file: 'lib/runner/dispatcher.js',
|
|
829
|
-
versions: ['>=1.31.0 <1.38.0']
|
|
830
|
+
versions: ['>=1.31.0 <1.38.0'],
|
|
830
831
|
}, (dispatcher) => dispatcherHookNew(dispatcher, dispatcherRunWrapperNew))
|
|
831
832
|
|
|
832
833
|
addHook({
|
|
833
834
|
name: '@playwright/test',
|
|
834
835
|
file: 'lib/runner/runner.js',
|
|
835
|
-
versions: ['>=1.31.0 <1.38.0']
|
|
836
|
+
versions: ['>=1.31.0 <1.38.0'],
|
|
836
837
|
}, runnerHook)
|
|
837
838
|
}
|
|
838
839
|
|
|
839
840
|
addHook({
|
|
840
841
|
name: 'playwright',
|
|
841
842
|
file: 'lib/runner/runner.js',
|
|
842
|
-
versions: ['>=1.38.0']
|
|
843
|
+
versions: ['>=1.38.0'],
|
|
843
844
|
}, runnerHook)
|
|
844
845
|
|
|
845
846
|
addHook({
|
|
846
847
|
name: 'playwright',
|
|
847
848
|
file: 'lib/runner/testRunner.js',
|
|
848
|
-
versions: ['>=1.55.0']
|
|
849
|
+
versions: ['>=1.55.0'],
|
|
849
850
|
}, runnerHookNew)
|
|
850
851
|
|
|
851
852
|
addHook({
|
|
852
853
|
name: 'playwright',
|
|
853
854
|
file: 'lib/runner/dispatcher.js',
|
|
854
|
-
versions: ['>=1.38.0']
|
|
855
|
+
versions: ['>=1.38.0'],
|
|
855
856
|
}, (dispatcher) => dispatcherHookNew(dispatcher, dispatcherRunWrapperNew))
|
|
856
857
|
|
|
857
858
|
addHook({
|
|
858
859
|
name: 'playwright',
|
|
859
860
|
file: 'lib/common/suiteUtils.js',
|
|
860
|
-
versions: ['>=1.38.0']
|
|
861
|
+
versions: ['>=1.38.0'],
|
|
861
862
|
}, suiteUtilsPackage => {
|
|
862
863
|
// We grab `applyRepeatEachIndex` to use it later
|
|
863
864
|
// `applyRepeatEachIndex` needs to be applied to a cloned suite
|
|
@@ -892,7 +893,7 @@ function applyRetriesToTests (fileSuitesWithTestsToRetry, filterTest, tagsToAppl
|
|
|
892
893
|
addHook({
|
|
893
894
|
name: 'playwright',
|
|
894
895
|
file: 'lib/runner/loadUtils.js',
|
|
895
|
-
versions: ['>=1.38.0']
|
|
896
|
+
versions: ['>=1.38.0'],
|
|
896
897
|
}, (loadUtilsPackage) => {
|
|
897
898
|
const oldCreateRootSuite = loadUtilsPackage.createRootSuite
|
|
898
899
|
|
|
@@ -911,14 +912,16 @@ addHook({
|
|
|
911
912
|
const fileSuitesWithManagedTestsToProjects = new Map()
|
|
912
913
|
for (const test of allTests) {
|
|
913
914
|
const testProperties = getTestProperties(test)
|
|
914
|
-
// Disabled tests are skipped
|
|
915
|
+
// Disabled tests are skipped unless they have attemptToFix
|
|
915
916
|
if (testProperties.disabled) {
|
|
916
917
|
test._ddIsDisabled = true
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
918
|
+
if (!testProperties.attemptToFix) {
|
|
919
|
+
test.expectedStatus = 'skipped'
|
|
920
|
+
// setting test.expectedStatus to 'skipped' does not work for every case,
|
|
921
|
+
// so we need to filter out disabled tests in dispatcherRunWrapperNew,
|
|
922
|
+
// so they don't get to the workers
|
|
923
|
+
continue
|
|
924
|
+
}
|
|
922
925
|
}
|
|
923
926
|
if (testProperties.quarantined) {
|
|
924
927
|
test._ddIsQuarantined = true
|
|
@@ -947,8 +950,9 @@ addHook({
|
|
|
947
950
|
(test) => test._ddIsAttemptToFix,
|
|
948
951
|
[
|
|
949
952
|
(test) => test._ddIsQuarantined && '_ddIsQuarantined',
|
|
953
|
+
(test) => test._ddIsDisabled && '_ddIsDisabled',
|
|
950
954
|
'_ddIsAttemptToFix',
|
|
951
|
-
'_ddIsAttemptToFixRetry'
|
|
955
|
+
'_ddIsAttemptToFixRetry',
|
|
952
956
|
],
|
|
953
957
|
testManagementAttemptToFixRetries
|
|
954
958
|
)
|
|
@@ -960,13 +964,13 @@ addHook({
|
|
|
960
964
|
isModifiedCh.publish({
|
|
961
965
|
filePath: test._requireFile,
|
|
962
966
|
modifiedFiles,
|
|
963
|
-
onDone: (isModified) => { isImpacted = isModified }
|
|
967
|
+
onDone: (isModified) => { isImpacted = isModified },
|
|
964
968
|
})
|
|
965
969
|
return isImpacted
|
|
966
970
|
})
|
|
967
971
|
|
|
968
972
|
const fileSuitesWithImpactedTestsToProjects = new Map()
|
|
969
|
-
|
|
973
|
+
for (const impactedTest of impactedTests) {
|
|
970
974
|
impactedTest._ddIsModified = true
|
|
971
975
|
if (isEarlyFlakeDetectionEnabled && impactedTest.expectedStatus !== 'skipped') {
|
|
972
976
|
const fileSuite = getSuiteType(impactedTest, 'file')
|
|
@@ -974,7 +978,7 @@ addHook({
|
|
|
974
978
|
fileSuitesWithImpactedTestsToProjects.set(fileSuite, getSuiteType(impactedTest, 'project'))
|
|
975
979
|
}
|
|
976
980
|
}
|
|
977
|
-
}
|
|
981
|
+
}
|
|
978
982
|
// If something change in the file, all tests in the file are impacted, hence the () => true filter
|
|
979
983
|
applyRetriesToTests(
|
|
980
984
|
fileSuitesWithImpactedTestsToProjects,
|
|
@@ -982,7 +986,7 @@ addHook({
|
|
|
982
986
|
[
|
|
983
987
|
'_ddIsModified',
|
|
984
988
|
'_ddIsEfdRetry',
|
|
985
|
-
(test) => (isKnownTestsEnabled && isNewTest(test) ? '_ddIsNew' : null)
|
|
989
|
+
(test) => (isKnownTestsEnabled && isNewTest(test) ? '_ddIsNew' : null),
|
|
986
990
|
],
|
|
987
991
|
earlyFlakeDetectionNumRetries
|
|
988
992
|
)
|
|
@@ -1003,7 +1007,7 @@ addHook({
|
|
|
1003
1007
|
isEarlyFlakeDetectionFaulty = true
|
|
1004
1008
|
} else {
|
|
1005
1009
|
const fileSuitesWithNewTestsToProjects = new Map()
|
|
1006
|
-
|
|
1010
|
+
for (const newTest of newTests) {
|
|
1007
1011
|
newTest._ddIsNew = true
|
|
1008
1012
|
if (isEarlyFlakeDetectionEnabled && newTest.expectedStatus !== 'skipped' && !newTest._ddIsModified) {
|
|
1009
1013
|
// Prevent ATR or `--retries` from retrying new tests if EFD is enabled
|
|
@@ -1013,7 +1017,7 @@ addHook({
|
|
|
1013
1017
|
fileSuitesWithNewTestsToProjects.set(fileSuite, getSuiteType(newTest, 'project'))
|
|
1014
1018
|
}
|
|
1015
1019
|
}
|
|
1016
|
-
}
|
|
1020
|
+
}
|
|
1017
1021
|
|
|
1018
1022
|
applyRetriesToTests(
|
|
1019
1023
|
fileSuitesWithNewTestsToProjects,
|
|
@@ -1034,7 +1038,7 @@ addHook({
|
|
|
1034
1038
|
return newCreateRootSuite
|
|
1035
1039
|
}
|
|
1036
1040
|
return target[prop]
|
|
1037
|
-
}
|
|
1041
|
+
},
|
|
1038
1042
|
})
|
|
1039
1043
|
|
|
1040
1044
|
return proxy
|
|
@@ -1044,13 +1048,13 @@ addHook({
|
|
|
1044
1048
|
addHook({
|
|
1045
1049
|
name: 'playwright',
|
|
1046
1050
|
file: 'lib/runner/processHost.js',
|
|
1047
|
-
versions: ['>=1.38.0']
|
|
1051
|
+
versions: ['>=1.38.0'],
|
|
1048
1052
|
}, (processHostPackage) => {
|
|
1049
1053
|
shimmer.wrap(processHostPackage.ProcessHost.prototype, 'startRunner', startRunner => async function () {
|
|
1050
1054
|
this._extraEnv = {
|
|
1051
1055
|
...this._extraEnv,
|
|
1052
1056
|
// Used to detect that we're in a playwright worker
|
|
1053
|
-
DD_PLAYWRIGHT_WORKER: '1'
|
|
1057
|
+
DD_PLAYWRIGHT_WORKER: '1',
|
|
1054
1058
|
}
|
|
1055
1059
|
|
|
1056
1060
|
const res = await startRunner.apply(this, arguments)
|
|
@@ -1072,7 +1076,7 @@ addHook({
|
|
|
1072
1076
|
addHook({
|
|
1073
1077
|
name: 'playwright-core',
|
|
1074
1078
|
file: 'lib/client/page.js',
|
|
1075
|
-
versions: ['>=1.38.0']
|
|
1079
|
+
versions: ['>=1.38.0'],
|
|
1076
1080
|
}, (pagePackage) => {
|
|
1077
1081
|
shimmer.wrap(pagePackage.Page.prototype, 'goto', goto => async function (url, options) {
|
|
1078
1082
|
const response = await goto.apply(this, arguments)
|
|
@@ -1098,7 +1102,7 @@ addHook({
|
|
|
1098
1102
|
if (isRumActive) {
|
|
1099
1103
|
testPageGotoCh.publish({
|
|
1100
1104
|
isRumActive,
|
|
1101
|
-
page
|
|
1105
|
+
page,
|
|
1102
1106
|
})
|
|
1103
1107
|
}
|
|
1104
1108
|
}
|
|
@@ -1117,7 +1121,7 @@ addHook({
|
|
|
1117
1121
|
addHook({
|
|
1118
1122
|
name: 'playwright',
|
|
1119
1123
|
file: 'lib/worker/workerMain.js',
|
|
1120
|
-
versions: ['>=1.38.0']
|
|
1124
|
+
versions: ['>=1.38.0'],
|
|
1121
1125
|
}, (workerPackage) => {
|
|
1122
1126
|
// we assume there's only a test running at a time
|
|
1123
1127
|
let steps = []
|
|
@@ -1132,8 +1136,8 @@ addHook({
|
|
|
1132
1136
|
const {
|
|
1133
1137
|
_requireFile: testSuiteAbsolutePath,
|
|
1134
1138
|
location: {
|
|
1135
|
-
line: testSourceLine
|
|
1136
|
-
}
|
|
1139
|
+
line: testSourceLine,
|
|
1140
|
+
},
|
|
1137
1141
|
} = test
|
|
1138
1142
|
let res
|
|
1139
1143
|
|
|
@@ -1148,7 +1152,7 @@ addHook({
|
|
|
1148
1152
|
testName,
|
|
1149
1153
|
testSuiteAbsolutePath,
|
|
1150
1154
|
testSourceLine,
|
|
1151
|
-
browserName
|
|
1155
|
+
browserName,
|
|
1152
1156
|
}
|
|
1153
1157
|
testToCtx.set(test, testCtx)
|
|
1154
1158
|
// TODO - In the future we may need to implement a mechanism to send test properties
|
|
@@ -1189,7 +1193,7 @@ addHook({
|
|
|
1189
1193
|
name: 'datadog-ci-visibility-test-execution-id',
|
|
1190
1194
|
value: '',
|
|
1191
1195
|
domain,
|
|
1192
|
-
path: '/'
|
|
1196
|
+
path: '/',
|
|
1193
1197
|
}])
|
|
1194
1198
|
} else {
|
|
1195
1199
|
log.error('RUM is active but page.url() is not available')
|
|
@@ -1202,7 +1206,7 @@ addHook({
|
|
|
1202
1206
|
}
|
|
1203
1207
|
},
|
|
1204
1208
|
title: 'afterEach hook',
|
|
1205
|
-
_ddHook: true
|
|
1209
|
+
_ddHook: true,
|
|
1206
1210
|
})
|
|
1207
1211
|
}
|
|
1208
1212
|
|
|
@@ -1267,7 +1271,7 @@ addHook({
|
|
|
1267
1271
|
isAtrRetry: test._ddIsAtrRetry,
|
|
1268
1272
|
isModified: test._ddIsModified,
|
|
1269
1273
|
onDone,
|
|
1270
|
-
...testCtx.currentStore
|
|
1274
|
+
...testCtx.currentStore,
|
|
1271
1275
|
})
|
|
1272
1276
|
|
|
1273
1277
|
await flushPromise
|
|
@@ -1282,7 +1286,7 @@ addHook({
|
|
|
1282
1286
|
stepInfoByStepId[payload.stepId] = {
|
|
1283
1287
|
startTime: payload.wallTime,
|
|
1284
1288
|
title: payload.title,
|
|
1285
|
-
testId: payload.testId
|
|
1289
|
+
testId: payload.testId,
|
|
1286
1290
|
}
|
|
1287
1291
|
} else if (event === 'stepEnd') {
|
|
1288
1292
|
const stepInfo = stepInfoByStepId[payload.stepId]
|
|
@@ -1292,7 +1296,7 @@ addHook({
|
|
|
1292
1296
|
startTime: new Date(stepInfo.startTime),
|
|
1293
1297
|
title: stepInfo.title,
|
|
1294
1298
|
duration: payload.wallTime - stepInfo.startTime,
|
|
1295
|
-
error: payload.error
|
|
1299
|
+
error: payload.error,
|
|
1296
1300
|
})
|
|
1297
1301
|
}
|
|
1298
1302
|
return dispatchEvent.apply(this, arguments)
|
|
@@ -1314,7 +1318,7 @@ function generateSummaryWrapper (generateSummary) {
|
|
|
1314
1318
|
_ddIsNew: isNew,
|
|
1315
1319
|
_ddIsDisabled: isDisabled,
|
|
1316
1320
|
_ddIsModified: isModified,
|
|
1317
|
-
_ddIsQuarantined: isQuarantined
|
|
1321
|
+
_ddIsQuarantined: isQuarantined,
|
|
1318
1322
|
} = test
|
|
1319
1323
|
const browserName = getBrowserNameFromProjects(sessionProjects, test)
|
|
1320
1324
|
|
|
@@ -1326,7 +1330,7 @@ function generateSummaryWrapper (generateSummary) {
|
|
|
1326
1330
|
isNew,
|
|
1327
1331
|
isDisabled,
|
|
1328
1332
|
isModified,
|
|
1329
|
-
isQuarantined
|
|
1333
|
+
isQuarantined,
|
|
1330
1334
|
})
|
|
1331
1335
|
}
|
|
1332
1336
|
}
|
|
@@ -1341,7 +1345,7 @@ function generateSummaryWrapper (generateSummary) {
|
|
|
1341
1345
|
addHook({
|
|
1342
1346
|
name: 'playwright',
|
|
1343
1347
|
file: 'lib/reporters/base.js',
|
|
1344
|
-
versions: ['>=1.38.0']
|
|
1348
|
+
versions: ['>=1.38.0'],
|
|
1345
1349
|
}, (reportersPackage) => {
|
|
1346
1350
|
// v1.50.0 changed the name of the base reporter from BaseReporter to TerminalReporter
|
|
1347
1351
|
if (reportersPackage.TerminalReporter) {
|
|
@@ -1,92 +1,38 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
|
|
3
|
+
const { getEnvironmentVariable } = require('../../dd-trace/src/config/helper')
|
|
5
4
|
const { channel, addHook } = require('./helpers/instrument')
|
|
6
|
-
const
|
|
7
|
-
const clientCH = tracingChannel('apm:prisma:client')
|
|
8
|
-
|
|
9
|
-
const allowedClientSpanOperations = new Set([
|
|
10
|
-
'operation',
|
|
11
|
-
'serialize',
|
|
12
|
-
'transaction'
|
|
13
|
-
])
|
|
14
|
-
|
|
15
|
-
class DatadogTracingHelper {
|
|
16
|
-
dbConfig = null
|
|
17
|
-
|
|
18
|
-
constructor (dbConfig = null) {
|
|
19
|
-
this.dbConfig = dbConfig
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
isEnabled () {
|
|
23
|
-
return true
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// needs a sampled tracecontext to generate engine spans
|
|
27
|
-
getTraceParent (context) {
|
|
28
|
-
// TODO: Fix the id
|
|
29
|
-
return '00-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbbbbb-01' // valid sampled traceparent
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
dispatchEngineSpans (spans) {
|
|
33
|
-
for (const span of spans) {
|
|
34
|
-
if (span.parentId === null) {
|
|
35
|
-
prismaEngineStart.publish({ engineSpan: span, allEngineSpans: spans, dbConfig: this.dbConfig })
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
getActiveContext () {
|
|
41
|
-
// TODO: Fix context
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
runInChildSpan (options, callback) {
|
|
45
|
-
if (typeof options === 'string') {
|
|
46
|
-
options = {
|
|
47
|
-
name: options
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (allowedClientSpanOperations.has(options.name)) {
|
|
52
|
-
const ctx = {
|
|
53
|
-
resourceName: options.name,
|
|
54
|
-
attributes: options.attributes || {}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (options.name !== 'serialize') {
|
|
58
|
-
return clientCH.tracePromise(callback, ctx, this, ...arguments)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return clientCH.traceSync(callback, ctx, this, ...arguments)
|
|
62
|
-
}
|
|
63
|
-
return callback()
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
setDbString (dbConfig) {
|
|
67
|
-
this.dbConfig = dbConfig
|
|
68
|
-
}
|
|
69
|
-
}
|
|
5
|
+
const prismaHelperInit = channel('apm:prisma:helper:init')
|
|
70
6
|
|
|
71
7
|
const prismaHook = (runtime, versions, name, isIitm) => {
|
|
72
8
|
const originalGetPrismaClient = runtime.getPrismaClient
|
|
73
9
|
|
|
74
10
|
if (!originalGetPrismaClient) return runtime
|
|
75
|
-
|
|
11
|
+
|
|
12
|
+
const prismaHelperCtx = {}
|
|
76
13
|
|
|
77
14
|
const wrappedGetPrismaClient = function (config) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
15
|
+
// Prisma config shapes vary by version/runtime entrypoint. We try a few known locations
|
|
16
|
+
// and fall back to DATABASE_URL when present.
|
|
17
|
+
const datasourceUrl =
|
|
18
|
+
config?.inlineDatasources?.db?.url?.value ??
|
|
19
|
+
config?.inlineDatasources?.db?.url ??
|
|
20
|
+
config?.overrideDatasources?.db?.url ??
|
|
21
|
+
config?.datasources?.db?.url ??
|
|
22
|
+
config?.datasourceUrl ??
|
|
23
|
+
getEnvironmentVariable('DATABASE_URL')
|
|
24
|
+
|
|
25
|
+
if (datasourceUrl && !prismaHelperCtx.dbConfig) {
|
|
26
|
+
prismaHelperCtx.dbConfig = parseDBString(datasourceUrl)
|
|
82
27
|
}
|
|
28
|
+
prismaHelperInit.publish(prismaHelperCtx)
|
|
83
29
|
|
|
84
30
|
const PrismaClient = originalGetPrismaClient.call(this, config)
|
|
85
31
|
return class WrappedPrismaClientClass extends PrismaClient {
|
|
86
32
|
constructor (clientConfig) {
|
|
87
33
|
super(clientConfig)
|
|
88
|
-
this._tracingHelper =
|
|
89
|
-
this._engine.tracingHelper =
|
|
34
|
+
this._tracingHelper = prismaHelperCtx.helper
|
|
35
|
+
this._engine.tracingHelper = prismaHelperCtx.helper
|
|
90
36
|
}
|
|
91
37
|
}
|
|
92
38
|
}
|
|
@@ -102,19 +48,19 @@ const prismaHook = (runtime, versions, name, isIitm) => {
|
|
|
102
48
|
return wrappedGetPrismaClient
|
|
103
49
|
}
|
|
104
50
|
return target[prop]
|
|
105
|
-
}
|
|
51
|
+
},
|
|
106
52
|
})
|
|
107
53
|
}
|
|
108
54
|
|
|
109
55
|
const prismaConfigs = [
|
|
110
56
|
{ name: '@prisma/client', versions: ['>=6.1.0 <7.0.0'], filePattern: 'runtime/library.*' },
|
|
111
57
|
{ name: './runtime/library.js', versions: ['>=6.1.0 <7.0.0'], file: 'runtime/library.js' },
|
|
112
|
-
{ name: '@prisma/client', versions: ['>=7.0.0'], filePattern: 'runtime/client.*' }
|
|
58
|
+
{ name: '@prisma/client', versions: ['>=7.0.0'], filePattern: 'runtime/client.*' },
|
|
113
59
|
]
|
|
114
60
|
|
|
115
|
-
|
|
61
|
+
for (const config of prismaConfigs) {
|
|
116
62
|
addHook(config, prismaHook)
|
|
117
|
-
}
|
|
63
|
+
}
|
|
118
64
|
|
|
119
65
|
function parseDBString (dbString) {
|
|
120
66
|
const url = new URL(dbString)
|
|
@@ -123,7 +69,7 @@ function parseDBString (dbString) {
|
|
|
123
69
|
password: url.password,
|
|
124
70
|
host: url.hostname,
|
|
125
71
|
port: url.port,
|
|
126
|
-
database: url.pathname.slice(1) // Remove leading slash
|
|
72
|
+
database: url.pathname.slice(1), // Remove leading slash
|
|
127
73
|
}
|
|
128
74
|
return dbConfig
|
|
129
75
|
}
|
|
@@ -65,15 +65,15 @@ function wrapReflection (protobuf) {
|
|
|
65
65
|
const reflectionMethods = [
|
|
66
66
|
{
|
|
67
67
|
target: protobuf.Root,
|
|
68
|
-
name: 'fromJSON'
|
|
68
|
+
name: 'fromJSON',
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
target: protobuf.Type.prototype,
|
|
72
|
-
name: 'fromObject'
|
|
73
|
-
}
|
|
72
|
+
name: 'fromObject',
|
|
73
|
+
},
|
|
74
74
|
]
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
for (const method of reflectionMethods) {
|
|
77
77
|
shimmer.wrap(method.target, method.name, original => function () {
|
|
78
78
|
const result = original.apply(this, arguments)
|
|
79
79
|
if (result.nested) {
|
|
@@ -86,7 +86,7 @@ function wrapReflection (protobuf) {
|
|
|
86
86
|
}
|
|
87
87
|
return result
|
|
88
88
|
})
|
|
89
|
-
}
|
|
89
|
+
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
function isPromise (obj) {
|
|
@@ -95,7 +95,7 @@ function isPromise (obj) {
|
|
|
95
95
|
|
|
96
96
|
addHook({
|
|
97
97
|
name: 'protobufjs',
|
|
98
|
-
versions: ['>=6.8.0']
|
|
98
|
+
versions: ['>=6.8.0'],
|
|
99
99
|
}, protobuf => {
|
|
100
100
|
shimmer.wrap(protobuf.Root.prototype, 'load', original => function () {
|
|
101
101
|
const result = original.apply(this, arguments)
|