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.
Files changed (625) hide show
  1. package/ci/cypress/polyfills.js +1 -1
  2. package/ci/init.js +5 -5
  3. package/ext/exporters.js +1 -1
  4. package/ext/formats.js +1 -1
  5. package/ext/index.js +1 -1
  6. package/ext/kinds.js +1 -1
  7. package/ext/priority.js +1 -1
  8. package/ext/scopes.js +1 -1
  9. package/ext/tags.js +1 -1
  10. package/ext/types.js +1 -1
  11. package/index.d.ts +76 -23
  12. package/initialize.mjs +47 -31
  13. package/loader-hook.mjs +35 -22
  14. package/package.json +34 -31
  15. package/packages/datadog-code-origin/index.js +12 -10
  16. package/packages/datadog-core/src/utils/src/pick.js +2 -2
  17. package/packages/datadog-esbuild/index.js +75 -79
  18. package/packages/datadog-esbuild/src/log.js +32 -0
  19. package/packages/datadog-esbuild/src/utils.js +12 -8
  20. package/packages/datadog-instrumentations/src/aerospike.js +3 -3
  21. package/packages/datadog-instrumentations/src/ai.js +5 -5
  22. package/packages/datadog-instrumentations/src/amqp10.js +1 -1
  23. package/packages/datadog-instrumentations/src/amqplib.js +1 -1
  24. package/packages/datadog-instrumentations/src/anthropic.js +3 -3
  25. package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
  26. package/packages/datadog-instrumentations/src/apollo.js +2 -2
  27. package/packages/datadog-instrumentations/src/avsc.js +1 -1
  28. package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
  29. package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
  30. package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
  31. package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
  32. package/packages/datadog-instrumentations/src/body-parser.js +2 -2
  33. package/packages/datadog-instrumentations/src/bunyan.js +1 -1
  34. package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
  35. package/packages/datadog-instrumentations/src/child_process.js +7 -7
  36. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
  37. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  38. package/packages/datadog-instrumentations/src/couchbase.js +8 -6
  39. package/packages/datadog-instrumentations/src/crypto.js +1 -1
  40. package/packages/datadog-instrumentations/src/cucumber.js +19 -19
  41. package/packages/datadog-instrumentations/src/cypress.js +1 -1
  42. package/packages/datadog-instrumentations/src/dns.js +2 -2
  43. package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
  44. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
  45. package/packages/datadog-instrumentations/src/express-session.js +1 -1
  46. package/packages/datadog-instrumentations/src/express.js +4 -4
  47. package/packages/datadog-instrumentations/src/fastify.js +1 -1
  48. package/packages/datadog-instrumentations/src/fetch.js +2 -2
  49. package/packages/datadog-instrumentations/src/fs.js +7 -7
  50. package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
  51. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
  52. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
  53. package/packages/datadog-instrumentations/src/google-genai.js +1 -1
  54. package/packages/datadog-instrumentations/src/graphql.js +10 -10
  55. package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
  56. package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
  57. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
  58. package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
  59. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
  60. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
  61. package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
  62. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  63. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
  65. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  66. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  67. package/packages/datadog-instrumentations/src/hono.js +6 -6
  68. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  69. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  70. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  71. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  72. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  73. package/packages/datadog-instrumentations/src/jest.js +162 -57
  74. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  75. package/packages/datadog-instrumentations/src/knex.js +2 -2
  76. package/packages/datadog-instrumentations/src/koa.js +3 -1
  77. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  78. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  79. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  80. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  81. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  82. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  83. package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
  84. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  85. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  86. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  87. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  88. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  89. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  90. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  91. package/packages/datadog-instrumentations/src/multer.js +1 -1
  92. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  93. package/packages/datadog-instrumentations/src/net.js +6 -6
  94. package/packages/datadog-instrumentations/src/next.js +6 -6
  95. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  96. package/packages/datadog-instrumentations/src/openai.js +24 -24
  97. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  98. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  99. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  100. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  101. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport.js +1 -1
  103. package/packages/datadog-instrumentations/src/pg.js +3 -3
  104. package/packages/datadog-instrumentations/src/pino.js +2 -2
  105. package/packages/datadog-instrumentations/src/playwright.js +59 -59
  106. package/packages/datadog-instrumentations/src/prisma.js +24 -78
  107. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  108. package/packages/datadog-instrumentations/src/promise.js +1 -1
  109. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  110. package/packages/datadog-instrumentations/src/q.js +2 -2
  111. package/packages/datadog-instrumentations/src/redis.js +2 -2
  112. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  113. package/packages/datadog-instrumentations/src/router.js +8 -8
  114. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  115. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  116. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  117. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  118. package/packages/datadog-instrumentations/src/undici.js +2 -2
  119. package/packages/datadog-instrumentations/src/url.js +5 -5
  120. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  121. package/packages/datadog-instrumentations/src/when.js +1 -1
  122. package/packages/datadog-instrumentations/src/winston.js +1 -1
  123. package/packages/datadog-instrumentations/src/ws.js +128 -41
  124. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  125. package/packages/datadog-plugin-ai/src/index.js +1 -1
  126. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  127. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  128. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  129. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  130. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  131. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  132. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  133. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  134. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  135. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  136. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  137. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  138. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  139. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  140. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  141. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  142. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  143. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  144. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  145. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  146. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  147. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  148. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  150. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  151. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  152. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  153. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  154. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  155. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  156. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  157. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  158. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  159. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  160. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  161. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  162. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  163. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  164. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  165. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  166. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  167. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  168. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  169. package/packages/datadog-plugin-cucumber/src/index.js +14 -14
  170. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
  171. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  172. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  173. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  174. package/packages/datadog-plugin-dns/src/index.js +1 -1
  175. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  176. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  177. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  178. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  179. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  180. package/packages/datadog-plugin-express/src/index.js +1 -1
  181. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  182. package/packages/datadog-plugin-fs/src/index.js +2 -2
  183. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  184. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
  185. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  188. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  189. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  190. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  191. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  192. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  193. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  194. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  195. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  196. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  197. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  198. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  199. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  200. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  201. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  202. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  203. package/packages/datadog-plugin-http/src/client.js +10 -10
  204. package/packages/datadog-plugin-http/src/index.js +1 -1
  205. package/packages/datadog-plugin-http2/src/client.js +6 -6
  206. package/packages/datadog-plugin-http2/src/index.js +1 -1
  207. package/packages/datadog-plugin-http2/src/server.js +1 -1
  208. package/packages/datadog-plugin-jest/src/index.js +39 -22
  209. package/packages/datadog-plugin-jest/src/util.js +1 -1
  210. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  211. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  212. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  213. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  214. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  215. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  216. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  217. package/packages/datadog-plugin-mocha/src/index.js +12 -12
  218. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  219. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  220. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  221. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  222. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  223. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  224. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  225. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  226. package/packages/datadog-plugin-next/src/index.js +4 -4
  227. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  228. package/packages/datadog-plugin-openai/src/index.js +1 -1
  229. package/packages/datadog-plugin-openai/src/services.js +3 -3
  230. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  231. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  232. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  233. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  234. package/packages/datadog-plugin-pg/src/index.js +2 -2
  235. package/packages/datadog-plugin-playwright/src/index.js +19 -19
  236. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
  237. package/packages/datadog-plugin-prisma/src/index.js +129 -10
  238. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  239. package/packages/datadog-plugin-redis/src/index.js +2 -2
  240. package/packages/datadog-plugin-restify/src/index.js +1 -1
  241. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  242. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  243. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  244. package/packages/datadog-plugin-router/src/index.js +3 -3
  245. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  246. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  247. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  248. package/packages/datadog-plugin-undici/src/index.js +5 -5
  249. package/packages/datadog-plugin-vitest/src/index.js +39 -18
  250. package/packages/datadog-plugin-ws/src/close.js +10 -11
  251. package/packages/datadog-plugin-ws/src/index.js +1 -1
  252. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  253. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  254. package/packages/datadog-plugin-ws/src/server.js +17 -12
  255. package/packages/datadog-plugin-ws/src/util.js +48 -16
  256. package/packages/datadog-shimmer/src/shimmer.js +3 -3
  257. package/packages/dd-trace/index.js +2 -2
  258. package/packages/dd-trace/src/agent/info.js +2 -2
  259. package/packages/dd-trace/src/agent/url.js +1 -1
  260. package/packages/dd-trace/src/aiguard/client.js +3 -3
  261. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  262. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  263. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  264. package/packages/dd-trace/src/appsec/activation.js +1 -1
  265. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  266. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  267. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  268. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  269. package/packages/dd-trace/src/appsec/channels.js +1 -1
  270. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  271. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  272. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  273. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  274. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  275. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  278. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  279. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  280. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  281. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  282. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  283. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  284. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  285. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  286. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  287. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  288. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  289. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  290. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  291. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  292. package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
  293. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  294. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  295. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  296. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  297. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  298. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  308. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  309. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  310. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  311. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  312. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  313. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  314. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  315. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  323. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  324. package/packages/dd-trace/src/appsec/index.js +20 -22
  325. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  326. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  327. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  328. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  329. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  330. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  331. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  332. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  333. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  334. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  335. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  336. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  337. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  338. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  339. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  340. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  341. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  342. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  343. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  344. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  345. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  346. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  347. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  348. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  349. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  350. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  351. package/packages/dd-trace/src/azure_metadata.js +16 -9
  352. package/packages/dd-trace/src/baggage.js +1 -1
  353. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  354. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  355. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  356. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
  357. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
  358. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  359. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -3
  360. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
  363. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  364. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
  365. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  366. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  367. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  368. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  369. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
  370. package/packages/dd-trace/src/ci-visibility/telemetry.js +2 -2
  371. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  372. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
  373. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  374. package/packages/dd-trace/src/config/defaults.js +1 -1
  375. package/packages/dd-trace/src/config/git_properties.js +1 -1
  376. package/packages/dd-trace/src/config/helper.js +2 -2
  377. package/packages/dd-trace/src/config/index.js +612 -622
  378. package/packages/dd-trace/src/config/remote_config.js +1 -1
  379. package/packages/dd-trace/src/config/stable.js +2 -2
  380. package/packages/dd-trace/src/config/supported-configurations.json +1 -0
  381. package/packages/dd-trace/src/constants.js +3 -3
  382. package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
  383. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  384. package/packages/dd-trace/src/datastreams/context.js +1 -1
  385. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  386. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  387. package/packages/dd-trace/src/datastreams/index.js +8 -8
  388. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  389. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  390. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  391. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  392. package/packages/dd-trace/src/datastreams/size.js +3 -3
  393. package/packages/dd-trace/src/datastreams/writer.js +3 -3
  394. package/packages/dd-trace/src/debugger/config.js +2 -1
  395. package/packages/dd-trace/src/debugger/constants.js +7 -0
  396. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  397. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  398. package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
  399. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  400. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  401. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  402. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  403. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  404. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  405. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  406. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  407. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  410. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  411. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  412. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  413. package/packages/dd-trace/src/debugger/index.js +95 -37
  414. package/packages/dd-trace/src/dogstatsd.js +14 -9
  415. package/packages/dd-trace/src/encode/0.4.js +7 -6
  416. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  417. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  418. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  419. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  420. package/packages/dd-trace/src/exporters/agent/index.js +1 -1
  421. package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
  422. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  423. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  424. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  425. package/packages/dd-trace/src/exporters/common/request.js +28 -8
  426. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  427. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  428. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  429. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  430. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  431. package/packages/dd-trace/src/flare/index.js +3 -3
  432. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  433. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  434. package/packages/dd-trace/src/id.js +1 -1
  435. package/packages/dd-trace/src/iitm.js +1 -1
  436. package/packages/dd-trace/src/lambda/handler.js +1 -1
  437. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  438. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  439. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  440. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  441. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  442. package/packages/dd-trace/src/llmobs/index.js +2 -4
  443. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  444. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  445. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  446. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  447. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  448. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  449. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  450. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  451. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  452. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  453. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  454. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  455. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  456. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  457. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  458. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  459. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  460. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  461. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  462. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  463. package/packages/dd-trace/src/llmobs/util.js +1 -1
  464. package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
  465. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  466. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  467. package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
  468. package/packages/dd-trace/src/log/channels.js +2 -2
  469. package/packages/dd-trace/src/log/index.js +2 -2
  470. package/packages/dd-trace/src/log/log.js +1 -1
  471. package/packages/dd-trace/src/log/writer.js +1 -1
  472. package/packages/dd-trace/src/noop/span.js +2 -2
  473. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  474. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  475. package/packages/dd-trace/src/openfeature/index.js +2 -2
  476. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  477. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  478. package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
  479. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  480. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  481. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  482. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  483. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  484. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  485. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  486. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  488. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  489. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  490. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  491. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  492. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  493. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  494. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  495. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  496. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  497. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  498. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  499. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  500. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  501. package/packages/dd-trace/src/opentracing/span.js +20 -20
  502. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  503. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  504. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  505. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  506. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  507. package/packages/dd-trace/src/plugin_manager.js +6 -6
  508. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  509. package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
  510. package/packages/dd-trace/src/plugins/database.js +1 -1
  511. package/packages/dd-trace/src/plugins/index.js +1 -1
  512. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  513. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  514. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  515. package/packages/dd-trace/src/plugins/producer.js +6 -5
  516. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  517. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  518. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  519. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  520. package/packages/dd-trace/src/plugins/util/git.js +20 -18
  521. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  522. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  523. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  524. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  525. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  526. package/packages/dd-trace/src/plugins/util/test.js +46 -40
  527. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  528. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  529. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  530. package/packages/dd-trace/src/plugins/util/web.js +12 -12
  531. package/packages/dd-trace/src/priority_sampler.js +4 -4
  532. package/packages/dd-trace/src/process-tags/index.js +2 -2
  533. package/packages/dd-trace/src/profiler.js +1 -1
  534. package/packages/dd-trace/src/profiling/config.js +8 -8
  535. package/packages/dd-trace/src/profiling/constants.js +2 -2
  536. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  537. package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
  538. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  539. package/packages/dd-trace/src/profiling/index.js +1 -1
  540. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  541. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  542. package/packages/dd-trace/src/profiling/profiler.js +21 -23
  543. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  544. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  545. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  546. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  547. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  548. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  549. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  550. package/packages/dd-trace/src/proxy.js +13 -13
  551. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  552. package/packages/dd-trace/src/remote_config/index.js +15 -15
  553. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  554. package/packages/dd-trace/src/ritm.js +1 -1
  555. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  556. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  557. package/packages/dd-trace/src/serverless.js +1 -1
  558. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  559. package/packages/dd-trace/src/service-naming/index.js +1 -1
  560. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  561. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  562. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  563. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  564. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  565. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  566. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  567. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  568. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  569. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  570. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  571. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  572. package/packages/dd-trace/src/span_format.js +4 -4
  573. package/packages/dd-trace/src/span_sampler.js +1 -1
  574. package/packages/dd-trace/src/span_stats.js +11 -11
  575. package/packages/dd-trace/src/spanleak.js +1 -1
  576. package/packages/dd-trace/src/standalone/index.js +1 -1
  577. package/packages/dd-trace/src/standalone/product.js +2 -2
  578. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  579. package/packages/dd-trace/src/startup-log.js +2 -2
  580. package/packages/dd-trace/src/tagger.js +3 -1
  581. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  582. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  583. package/packages/dd-trace/src/telemetry/index.js +1 -1
  584. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  585. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  586. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  587. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  588. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  589. package/packages/dd-trace/src/tracer.js +3 -2
  590. package/packages/dd-trace/src/util.js +1 -1
  591. package/scripts/preinstall.js +1 -1
  592. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  593. package/vendor/dist/@datadog/source-map/index.js +1 -1
  594. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  595. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  596. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  597. package/vendor/dist/astring/index.js +1 -1
  598. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  599. package/vendor/dist/escape-string-regexp/index.js +1 -1
  600. package/vendor/dist/esquery/index.js +1 -1
  601. package/vendor/dist/ignore/index.js +1 -1
  602. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  603. package/vendor/dist/jest-docblock/index.js +1 -1
  604. package/vendor/dist/jsonpath-plus/index.js +1 -1
  605. package/vendor/dist/limiter/index.js +1 -1
  606. package/vendor/dist/lodash.sortby/index.js +1 -1
  607. package/vendor/dist/lru-cache/index.js +1 -1
  608. package/vendor/dist/meriyah/index.js +1 -1
  609. package/vendor/dist/module-details-from-path/index.js +1 -1
  610. package/vendor/dist/mutexify/promise/index.js +1 -1
  611. package/vendor/dist/opentracing/index.js +1 -1
  612. package/vendor/dist/path-to-regexp/index.js +1 -1
  613. package/vendor/dist/pprof-format/index.js +1 -1
  614. package/vendor/dist/protobufjs/index.js +1 -1
  615. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  616. package/vendor/dist/retry/index.js +1 -1
  617. package/vendor/dist/rfdc/index.js +1 -1
  618. package/vendor/dist/semifies/index.js +1 -1
  619. package/vendor/dist/shell-quote/index.js +1 -1
  620. package/vendor/dist/source-map/index.js +1 -1
  621. package/vendor/dist/source-map/lib/util/index.js +1 -1
  622. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  623. package/vendor/dist/ttl-set/index.js +1 -1
  624. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  625. 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
- expressionTokens.forEach(token => {
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
- expressionListTokens.forEach((expressionTokens) => {
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') { // eslint-disable-line eslint-rules/eslint-safe-typeof-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
  }
@@ -17,7 +17,7 @@ class ConfluentKafkaJsPlugin extends KafkajsPlugin {
17
17
  return {
18
18
  producer: ProducerPlugin,
19
19
  consumer: ConsumerPlugin,
20
- batchConsumer: BatchConsumerPlugin
20
+ batchConsumer: BatchConsumerPlugin,
21
21
  }
22
22
  }
23
23
  }
@@ -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?.forEach(({ absolute, relative }) => {
547
- const isUnskippableSuite = isMarkedAsUnskippable({ path: absolute })
548
- if (isUnskippableSuite) {
549
- this.unskippableSuites.push(relative)
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
- cypressTests.filter(({ title }) => {
691
+ for (const { title } of cypressTests) {
690
692
  const cypressTestName = title.join(' ')
691
693
  const isTestFinished = finishedTests.find(({ testName }) => cypressTestName === testName)
692
694
 
693
- return !isTestFinished
694
- }).forEach(({ title }) => {
695
- const cypressTestName = title.join(' ')
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
- Object.entries(finishedTestsByTestName).forEach(([testName, finishedTestAttempts]) => {
738
- finishedTestAttempts.forEach((finishedTest, attemptIndex) => {
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
- return
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
- if (cypressTestStatus !== finishedTest.testStatus) {
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
- // TODO: I haven't found a way to trick cypress into ignoring a test
845
- // The way we'll implement quarantine in cypress is by skipping the test altogether
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
 
@@ -17,7 +17,7 @@ const noopTask = {
17
17
  },
18
18
  'dd:addTags': () => {
19
19
  return null
20
- }
20
+ },
21
21
  }
22
22
 
23
23
  module.exports = function CypressPlugin (on, config) {