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
@@ -28,7 +28,7 @@ const ALLOWED = new Set(['string', 'number', 'boolean'])
28
28
 
29
29
  const integrationCounters = {
30
30
  spans_created: {},
31
- spans_finished: {}
31
+ spans_finished: {},
32
32
  }
33
33
 
34
34
  const startCh = channel('dd-trace:span:start')
@@ -43,7 +43,7 @@ function getIntegrationCounter (event, integration) {
43
43
 
44
44
  const counter = tracerMetrics.count(event, [
45
45
  `integration_name:${integration.toLowerCase()}`,
46
- `otel_enabled:${OTEL_ENABLED}`
46
+ `otel_enabled:${OTEL_ENABLED}`,
47
47
  ])
48
48
 
49
49
  integrationCounters[event][integration] = counter
@@ -88,7 +88,7 @@ class DatadogSpan {
88
88
 
89
89
  this._links = fields.links?.map(link => ({
90
90
  context: link.context._ddContext ?? link.context,
91
- attributes: this._sanitizeAttributes(link.attributes)
91
+ attributes: this._sanitizeAttributes(link.attributes),
92
92
  })) ?? []
93
93
 
94
94
  if (DD_TRACE_EXPERIMENTAL_SPAN_COUNTS && finishedRegistry) {
@@ -123,7 +123,7 @@ class DatadogSpan {
123
123
  ...this,
124
124
  _parentTracer: `[${this._parentTracer.constructor.name}]`,
125
125
  _prioritySampler: `[${this._prioritySampler.constructor.name}]`,
126
- _processor: `[${this._processor.constructor.name}]`
126
+ _processor: `[${this._processor.constructor.name}]`,
127
127
  }
128
128
  }
129
129
 
@@ -139,7 +139,7 @@ class DatadogSpan {
139
139
  parentId: spanContext._parentId,
140
140
  service: spanContext._tags['service.name'],
141
141
  name: spanContext._name,
142
- resource
142
+ resource,
143
143
  })
144
144
 
145
145
  return `Span${json}`
@@ -208,25 +208,27 @@ class DatadogSpan {
208
208
 
209
209
  this._links.push({
210
210
  context: context._ddContext ?? context,
211
- attributes: this._sanitizeAttributes(attributes)
211
+ attributes: this._sanitizeAttributes(attributes),
212
212
  })
213
213
  }
214
214
 
215
215
  addLinks (links) {
216
- links.forEach(link => this.addLink(link))
216
+ for (const link of links) {
217
+ this.addLink(link)
218
+ }
217
219
  return this
218
220
  }
219
221
 
220
222
  addSpanPointer (ptrKind, ptrDir, ptrHash) {
221
223
  const zeroContext = new SpanContext({
222
224
  traceId: id('0'),
223
- spanId: id('0')
225
+ spanId: id('0'),
224
226
  })
225
227
  const attributes = {
226
228
  'ptr.kind': ptrKind,
227
229
  'ptr.dir': ptrDir,
228
230
  'ptr.hash': ptrHash,
229
- 'link.kind': 'span-pointer'
231
+ 'link.kind': 'span-pointer',
230
232
  }
231
233
  this.addLink({ context: zeroContext, attributes })
232
234
  }
@@ -234,7 +236,7 @@ class DatadogSpan {
234
236
  addEvent (name, attributesOrStartTime, startTime) {
235
237
  const event = { name }
236
238
  if (attributesOrStartTime) {
237
- if (typeof attributesOrStartTime === 'object') { // eslint-disable-line eslint-rules/eslint-safe-typeof-object
239
+ if (typeof attributesOrStartTime === 'object') {
238
240
  event.attributes = this._sanitizeEventAttributes(attributesOrStartTime)
239
241
  } else {
240
242
  startTime = attributesOrStartTime
@@ -297,23 +299,21 @@ class DatadogSpan {
297
299
  }
298
300
  }
299
301
 
300
- Object.entries(attributes).forEach(entry => {
301
- const [key, value] = entry
302
+ for (const [key, value] of Object.entries(attributes)) {
302
303
  addArrayOrScalarAttributes(key, value)
303
- })
304
+ }
304
305
  return sanitizedAttributes
305
306
  }
306
307
 
307
308
  _sanitizeEventAttributes (attributes = {}) {
308
309
  const sanitizedAttributes = {}
309
310
 
310
- for (const key in attributes) {
311
- const value = attributes[key]
311
+ for (const [key, value] of Object.entries(attributes)) {
312
312
  if (Array.isArray(value)) {
313
313
  const newArray = []
314
- for (const subkey in value) {
315
- if (ALLOWED.has(typeof value[subkey])) {
316
- newArray.push(value[subkey])
314
+ for (const subvalue of Object.values(value)) {
315
+ if (ALLOWED.has(typeof subvalue)) {
316
+ newArray.push(subvalue)
317
317
  } else {
318
318
  log.warn('Dropping span event attribute. It is not of an allowed type')
319
319
  }
@@ -351,7 +351,7 @@ class DatadogSpan {
351
351
  sampling: parent._sampling,
352
352
  baggageItems: { ...parent._baggageItems },
353
353
  trace: parent._trace,
354
- tracestate: parent._tracestate
354
+ tracestate: parent._tracestate,
355
355
  })
356
356
 
357
357
  if (!spanContext._trace.startTime) {
@@ -362,7 +362,7 @@ class DatadogSpan {
362
362
  startTime = dateNow()
363
363
  spanContext = new SpanContext({
364
364
  traceId: spanId,
365
- spanId
365
+ spanId,
366
366
  })
367
367
  spanContext._trace.startTime = startTime
368
368
 
@@ -27,7 +27,7 @@ class DatadogSpanContext {
27
27
  this._trace = props.trace || {
28
28
  started: [],
29
29
  finished: [],
30
- tags: {}
30
+ tags: {},
31
31
  }
32
32
  this._otelSpanContext = undefined
33
33
  }
@@ -38,8 +38,8 @@ class DatadogSpanContext {
38
38
  _trace: {
39
39
  ...this._trace,
40
40
  started: '[Array]',
41
- finished: '[Array]'
42
- }
41
+ finished: '[Array]',
42
+ },
43
43
  }
44
44
  }
45
45
 
@@ -40,7 +40,7 @@ class DatadogTracer {
40
40
  [formats.HTTP_HEADERS]: new HttpPropagator(config),
41
41
  [formats.BINARY]: new BinaryPropagator(config),
42
42
  [formats.LOG]: new LogPropagator(config),
43
- [formats.TEXT_MAP_DSM]: new DSMTextMapPropagator(config)
43
+ [formats.TEXT_MAP_DSM]: new DSMTextMapPropagator(config),
44
44
  }
45
45
  if (config.reportHostname) {
46
46
  this._hostname = os.hostname()
@@ -54,7 +54,7 @@ class DatadogTracer {
54
54
 
55
55
  // as per spec, allow the setting of service name through options
56
56
  const tags = {
57
- 'service.name': options?.tags?.service ? String(options.tags.service) : this._service
57
+ 'service.name': options?.tags?.service ? String(options.tags.service) : this._service,
58
58
  }
59
59
 
60
60
  // As per unified service tagging spec if a span is created with a service name different from the global
@@ -71,7 +71,7 @@ class DatadogTracer {
71
71
  hostname: this._hostname,
72
72
  traceId128BitGenerationEnabled: this._traceId128BitGenerationEnabled,
73
73
  integrationName: options.integrationName,
74
- links: options.links
74
+ links: options.links,
75
75
  }, this._debug)
76
76
 
77
77
  span.addTags(this._config.tags)
@@ -19,7 +19,7 @@ function getSDKRules (sdk, requestInput, responseInput) {
19
19
  // the rules to the same object.
20
20
  request: [...serviceRules.request, ...requestInput],
21
21
  response: [...serviceRules.response, ...responseInput],
22
- expand: serviceRules.expand
22
+ expand: serviceRules.expand,
23
23
  }
24
24
  }
25
25
  return sdkServiceRules
@@ -4,7 +4,7 @@ const rfdc = require('../../../../vendor/dist/rfdc')({ proto: false, circles: fa
4
4
 
5
5
  const {
6
6
  PAYLOAD_TAG_REQUEST_PREFIX,
7
- PAYLOAD_TAG_RESPONSE_PREFIX
7
+ PAYLOAD_TAG_RESPONSE_PREFIX,
8
8
  } = require('../constants')
9
9
 
10
10
  const jsonpath = require('../../../../vendor/dist/jsonpath-plus').JSONPath
@@ -3,7 +3,7 @@
3
3
  const { PAYLOAD_TAGGING_MAX_TAGS } = require('../constants')
4
4
 
5
5
  const redactedKeys = new Set([
6
- 'authorization', 'x-authorization', 'password', 'token'
6
+ 'authorization', 'x-authorization', 'password', 'token',
7
7
  ])
8
8
  const truncated = 'truncated'
9
9
  const redacted = 'redacted'
@@ -76,7 +76,7 @@ function tagsFromObject (object, opts) {
76
76
  result[prefix] = object.slice(0, 5000)
77
77
  }
78
78
 
79
- if (typeof object === 'object') { // eslint-disable-line eslint-rules/eslint-safe-typeof-object
79
+ if (typeof object === 'object') {
80
80
  for (const [key, value] of Object.entries(object)) {
81
81
  if (redactedKeys.has(key.toLowerCase())) {
82
82
  tagCount += 1
@@ -13,7 +13,7 @@ const TEST_OPTIMIZATION_PLUGINS = new Set([
13
13
  'vitest',
14
14
  'cucumber',
15
15
  'mocha',
16
- 'playwright'
16
+ 'playwright',
17
17
  ])
18
18
 
19
19
  const loadChannel = channel('dd-trace:instrumentation:load')
@@ -96,13 +96,13 @@ module.exports = class PluginManager {
96
96
  }
97
97
  const pluginConfig = this._configsByName[name] || {
98
98
  enabled: this._tracerConfig.plugins !== false &&
99
- (!Plugin.experimental || isTrue(getEnabled(Plugin)))
99
+ (!Plugin.experimental || isTrue(getEnabled(Plugin))),
100
100
  }
101
101
 
102
102
  // extracts predetermined configuration from tracer and combines it with plugin-specific config
103
103
  this._pluginsByName[name].configure({
104
104
  ...this._getSharedConfig(name),
105
- ...pluginConfig
105
+ ...pluginConfig,
106
106
  })
107
107
  }
108
108
 
@@ -112,7 +112,7 @@ module.exports = class PluginManager {
112
112
 
113
113
  this._configsByName[name] = {
114
114
  ...pluginConfig,
115
- enabled
115
+ enabled,
116
116
  }
117
117
 
118
118
  this.loadPlugin(name)
@@ -168,7 +168,7 @@ module.exports = class PluginManager {
168
168
  traceWebsocketMessagesInheritSampling,
169
169
  traceWebsocketMessagesSeparateTraces,
170
170
  experimental,
171
- resourceRenamingEnabled
171
+ resourceRenamingEnabled,
172
172
  } = this._tracerConfig
173
173
 
174
174
  const sharedConfig = {
@@ -188,7 +188,7 @@ module.exports = class PluginManager {
188
188
  traceWebsocketMessagesInheritSampling,
189
189
  traceWebsocketMessagesSeparateTraces,
190
190
  experimental,
191
- resourceRenamingEnabled
191
+ resourceRenamingEnabled,
192
192
  }
193
193
 
194
194
  if (logInjection !== undefined) {
@@ -10,14 +10,14 @@ class ApolloBasePlugin extends TracingPlugin {
10
10
 
11
11
  bindStart (ctx) {
12
12
  const store = storage('legacy').getStore()
13
- const childOf = store ? store.span : null
13
+ const childOf = store ? /** @type {import('../opentracing/span') | undefined} */ (store.span) : null
14
14
 
15
15
  const span = this.startSpan(this.getOperationName(), {
16
16
  childOf,
17
17
  service: this.getServiceName(),
18
18
  type: this.constructor.type,
19
19
  kind: this.constructor.kind,
20
- meta: {}
20
+ meta: {},
21
21
  }, false)
22
22
 
23
23
  ctx.parentStore = store
@@ -40,13 +40,13 @@ class ApolloBasePlugin extends TracingPlugin {
40
40
  getServiceName () {
41
41
  return this.serviceName({
42
42
  id: `${this.constructor.id}.${this.constructor.operation}`,
43
- pluginConfig: this.config
43
+ pluginConfig: this.config,
44
44
  })
45
45
  }
46
46
 
47
47
  getOperationName () {
48
48
  return this.operationName({
49
- id: `${this.constructor.id}.${this.constructor.operation}`
49
+ id: `${this.constructor.id}.${this.constructor.operation}`,
50
50
  })
51
51
  }
52
52
  }
@@ -3,11 +3,12 @@
3
3
  const { storage } = require('../../../datadog-core')
4
4
  const { COMPONENT } = require('../constants')
5
5
  const log = require('../log')
6
+ const { discoverCoverageReports } = require('../ci-visibility/coverage-report-discovery')
6
7
  const {
7
8
  incrementCountMetric,
8
9
  distributionMetric,
9
10
  TELEMETRY_EVENT_CREATED,
10
- TELEMETRY_ITR_SKIPPED
11
+ TELEMETRY_ITR_SKIPPED,
11
12
  } = require('../ci-visibility/telemetry')
12
13
  const getDiClient = require('../ci-visibility/dynamic-instrumentation')
13
14
  const { DD_MAJOR } = require('../../../../version')
@@ -24,7 +25,7 @@ const {
24
25
  GIT_PULL_REQUEST_BASE_BRANCH_SHA,
25
26
  GIT_COMMIT_HEAD_SHA,
26
27
  GIT_PULL_REQUEST_BASE_BRANCH,
27
- GIT_COMMIT_HEAD_MESSAGE
28
+ GIT_COMMIT_HEAD_MESSAGE,
28
29
  } = require('./util/tags')
29
30
  const Plugin = require('./plugin')
30
31
  const { getRepositoryRoot } = require('./util/git')
@@ -62,7 +63,7 @@ const {
62
63
  getPullRequestDiff,
63
64
  getModifiedFilesFromDiff,
64
65
  getPullRequestBaseBranch,
65
- TEST_IS_TEST_FRAMEWORK_WORKER
66
+ TEST_IS_TEST_FRAMEWORK_WORKER,
66
67
  } = require('./util/test')
67
68
 
68
69
  const FRAMEWORK_TO_TRIMMED_COMMAND = {
@@ -70,7 +71,7 @@ const FRAMEWORK_TO_TRIMMED_COMMAND = {
70
71
  mocha: 'mocha',
71
72
  cucumber: 'cucumber-js',
72
73
  playwright: 'playwright test',
73
- jest: 'jest'
74
+ jest: 'jest',
74
75
  }
75
76
 
76
77
  const WORKER_EXPORTER_TO_TEST_FRAMEWORK = {
@@ -78,7 +79,7 @@ const WORKER_EXPORTER_TO_TEST_FRAMEWORK = {
78
79
  jest_worker: 'jest',
79
80
  cucumber_worker: 'cucumber',
80
81
  mocha_worker: 'mocha',
81
- playwright_worker: 'playwright'
82
+ playwright_worker: 'playwright',
82
83
  }
83
84
 
84
85
  const TEST_FRAMEWORKS_TO_SKIP_GIT_METADATA_EXTRACTION = new Set([
@@ -95,7 +96,7 @@ function getTestSuiteLevelVisibilityTags (testSuiteSpan, testFramework) {
95
96
  [TEST_SUITE_ID]: testSuiteSpanContext.toSpanId(),
96
97
  [TEST_SESSION_ID]: testSuiteSpanContext.toTraceId(),
97
98
  [TEST_COMMAND]: testSuiteSpanContext._tags[TEST_COMMAND],
98
- [TEST_MODULE]: testFramework
99
+ [TEST_MODULE]: testFramework,
99
100
  }
100
101
 
101
102
  if (testSuiteSpanContext._parentId) {
@@ -129,8 +130,8 @@ module.exports = class CiPlugin extends Plugin {
129
130
  const libraryCapabilitiesTags = getLibraryCapabilitiesTags(this.constructor.id, isParallel, frameworkVersion)
130
131
  const metadataTags = {
131
132
  test: {
132
- ...libraryCapabilitiesTags
133
- }
133
+ ...libraryCapabilitiesTags,
134
+ },
134
135
  }
135
136
  this.tracer._exporter.addMetadataTags(metadataTags)
136
137
  onDone({ err, libraryConfig })
@@ -174,7 +175,7 @@ module.exports = class CiPlugin extends Plugin {
174
175
  const metadataTags = {}
175
176
  for (const testLevel of TEST_LEVEL_EVENT_TYPES) {
176
177
  metadataTags[testLevel] = {
177
- [TEST_SESSION_NAME]: testSessionName
178
+ [TEST_SESSION_NAME]: testSessionName,
178
179
  }
179
180
  }
180
181
  // tracer might not be initialized correctly
@@ -187,9 +188,9 @@ module.exports = class CiPlugin extends Plugin {
187
188
  tags: {
188
189
  [COMPONENT]: this.constructor.id,
189
190
  ...this.testEnvironmentMetadata,
190
- ...testSessionSpanMetadata
191
+ ...testSessionSpanMetadata,
191
192
  },
192
- integrationName: this.constructor.id
193
+ integrationName: this.constructor.id,
193
194
  })
194
195
  // TODO: add telemetry tag when we can add `is_agentless_log_submission_enabled` for agentless log submission
195
196
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_CREATED, 'session')
@@ -199,9 +200,9 @@ module.exports = class CiPlugin extends Plugin {
199
200
  tags: {
200
201
  [COMPONENT]: this.constructor.id,
201
202
  ...this.testEnvironmentMetadata,
202
- ...testModuleSpanMetadata
203
+ ...testModuleSpanMetadata,
203
204
  },
204
- integrationName: this.constructor.id
205
+ integrationName: this.constructor.id,
205
206
  })
206
207
  // only for vitest
207
208
  // These are added for the worker threads to use
@@ -220,7 +221,7 @@ module.exports = class CiPlugin extends Plugin {
220
221
 
221
222
  this.addSub(`ci:${this.constructor.id}:itr:skipped-suites`, ({ skippedSuites, frameworkVersion }) => {
222
223
  const testCommand = this.testSessionSpan.context()._tags[TEST_COMMAND]
223
- skippedSuites.forEach((testSuite) => {
224
+ for (const testSuite of skippedSuites) {
224
225
  const testSuiteMetadata = getTestSuiteCommonTags(testCommand, frameworkVersion, testSuite, this.constructor.id)
225
226
  if (this.itrCorrelationId) {
226
227
  testSuiteMetadata[ITR_CORRELATION_ID] = this.itrCorrelationId
@@ -233,11 +234,11 @@ module.exports = class CiPlugin extends Plugin {
233
234
  ...this.testEnvironmentMetadata,
234
235
  ...testSuiteMetadata,
235
236
  [TEST_STATUS]: 'skip',
236
- [TEST_SKIPPED_BY_ITR]: 'true'
237
+ [TEST_SKIPPED_BY_ITR]: 'true',
237
238
  },
238
- integrationName: this.constructor.id
239
+ integrationName: this.constructor.id,
239
240
  }).finish()
240
- })
241
+ }
241
242
  this.telemetry.count(TELEMETRY_ITR_SKIPPED, { testLevel: 'suite' }, skippedSuites.length)
242
243
  })
243
244
 
@@ -284,7 +285,7 @@ module.exports = class CiPlugin extends Plugin {
284
285
  const {
285
286
  [GIT_PULL_REQUEST_BASE_BRANCH]: pullRequestBaseBranch,
286
287
  [GIT_PULL_REQUEST_BASE_BRANCH_SHA]: pullRequestBaseBranchSha,
287
- [GIT_COMMIT_HEAD_SHA]: commitHeadSha
288
+ [GIT_COMMIT_HEAD_SHA]: commitHeadSha,
288
289
  } = this.testEnvironmentMetadata
289
290
 
290
291
  const baseBranchSha = pullRequestBaseBranchSha || getPullRequestBaseBranch(pullRequestBaseBranch)
@@ -329,14 +330,14 @@ module.exports = class CiPlugin extends Plugin {
329
330
  const testSuite = span.meta[TEST_SUITE]
330
331
  const testSuiteSpan = this._testSuiteSpansByTestSuite.get(testSuite)
331
332
  if (!testSuiteSpan) {
332
- log.warn(`Test suite span not found for test span with test suite ${testSuite}`)
333
+ log.warn('Test suite span not found for test span with test suite %s', testSuite)
333
334
  continue
334
335
  }
335
336
 
336
337
  const testSuiteTags = getTestSuiteLevelVisibilityTags(testSuiteSpan, this.constructor.id)
337
338
  span.meta = {
338
339
  ...span.meta,
339
- ...testSuiteTags
340
+ ...testSuiteTags,
340
341
  }
341
342
  }
342
343
  }
@@ -345,9 +346,9 @@ module.exports = class CiPlugin extends Plugin {
345
346
  })
346
347
 
347
348
  this.addSub(`ci:${this.constructor.id}:worker-report:logs`, (logsPayloads) => {
348
- JSON.parse(logsPayloads).forEach(({ logMessage }) => {
349
+ for (const { logMessage } of JSON.parse(logsPayloads)) {
349
350
  this.tracer._exporter.exportDiLogs(this.testEnvironmentMetadata, logMessage)
350
- })
351
+ }
351
352
  })
352
353
  }
353
354
 
@@ -359,7 +360,7 @@ module.exports = class CiPlugin extends Plugin {
359
360
  testLevel,
360
361
  testFramework,
361
362
  isUnsupportedCIProvider: !this.ciProviderName,
362
- ...tags
363
+ ...tags,
363
364
  })
364
365
  },
365
366
  count: function (name, tags, value = 1) {
@@ -367,7 +368,7 @@ module.exports = class CiPlugin extends Plugin {
367
368
  },
368
369
  distribution: function (name, tags, measure) {
369
370
  distributionMetric(name, tags, measure)
370
- }
371
+ },
371
372
  }
372
373
  }
373
374
 
@@ -412,7 +413,7 @@ module.exports = class CiPlugin extends Plugin {
412
413
  [GIT_TAG]: tag,
413
414
  [GIT_PULL_REQUEST_BASE_BRANCH_SHA]: pullRequestBaseSha,
414
415
  [GIT_COMMIT_HEAD_SHA]: commitHeadSha,
415
- [GIT_COMMIT_HEAD_MESSAGE]: commitHeadMessage
416
+ [GIT_COMMIT_HEAD_MESSAGE]: commitHeadMessage,
416
417
  } = this.testEnvironmentMetadata
417
418
 
418
419
  this.repositoryRoot = repositoryRoot || getRepositoryRoot() || process.cwd()
@@ -435,14 +436,14 @@ module.exports = class CiPlugin extends Plugin {
435
436
  tag,
436
437
  pullRequestBaseSha,
437
438
  commitHeadSha,
438
- commitHeadMessage
439
+ commitHeadMessage,
439
440
  }
440
441
  }
441
442
 
442
443
  getCodeOwners (tags) {
443
444
  const {
444
445
  [TEST_SOURCE_FILE]: testSourceFile,
445
- [TEST_SUITE]: testSuite
446
+ [TEST_SUITE]: testSuite,
446
447
  } = tags
447
448
  // We'll try with the test source file if available (it could be different from the test suite)
448
449
  let codeOwners = getCodeOwnersForFilename(testSourceFile, this.codeOwnersEntries)
@@ -463,7 +464,7 @@ module.exports = class CiPlugin extends Plugin {
463
464
  this.constructor.id
464
465
  ),
465
466
  [COMPONENT]: this.constructor.id,
466
- ...extraTags
467
+ ...extraTags,
467
468
  }
468
469
 
469
470
  const codeOwners = this.getCodeOwners(testTags)
@@ -481,7 +482,7 @@ module.exports = class CiPlugin extends Plugin {
481
482
  [TEST_SUITE_ID]: testSuiteSpan.context().toSpanId(),
482
483
  [TEST_SESSION_ID]: testSuiteSpan.context().toTraceId(),
483
484
  [TEST_COMMAND]: testSuiteSpan.context()._tags[TEST_COMMAND],
484
- [TEST_MODULE]: this.constructor.id
485
+ [TEST_MODULE]: this.constructor.id,
485
486
  }
486
487
  if (testSuiteSpan.context()._parentId) {
487
488
  suiteTags[TEST_MODULE_ID] = testSuiteSpan.context()._parentId.toString(10)
@@ -489,7 +490,7 @@ module.exports = class CiPlugin extends Plugin {
489
490
 
490
491
  testTags = {
491
492
  ...testTags,
492
- ...suiteTags
493
+ ...suiteTags,
493
494
  }
494
495
  }
495
496
 
@@ -500,9 +501,9 @@ module.exports = class CiPlugin extends Plugin {
500
501
  childOf,
501
502
  tags: {
502
503
  ...this.testEnvironmentMetadata,
503
- ...testTags
504
+ ...testTags,
504
505
  },
505
- integrationName: this.constructor.id
506
+ integrationName: this.constructor.id,
506
507
  })
507
508
 
508
509
  testSpan.context()._trace.origin = CI_APP_ORIGIN
@@ -539,8 +540,8 @@ module.exports = class CiPlugin extends Plugin {
539
540
  debugger: { snapshot },
540
541
  dd: {
541
542
  trace_id: activeTestSpanContext.toTraceId(),
542
- span_id: activeTestSpanContext.toSpanId()
543
- }
543
+ span_id: activeTestSpanContext.toSpanId(),
544
+ },
544
545
  })
545
546
  }
546
547
 
@@ -588,7 +589,7 @@ module.exports = class CiPlugin extends Plugin {
588
589
  setProbePromise: Promise.resolve(),
589
590
  stackIndex,
590
591
  file,
591
- line
592
+ line,
592
593
  }
593
594
  }
594
595
 
@@ -601,7 +602,71 @@ module.exports = class CiPlugin extends Plugin {
601
602
  setProbePromise,
602
603
  stackIndex,
603
604
  file,
604
- line
605
+ line,
606
+ }
607
+ }
608
+
609
+ /**
610
+ * Uploads coverage reports if enabled. This is the common logic used by plugins.
611
+ * @param {object} options - Upload options
612
+ * @param {string} options.rootDir - The root directory where coverage reports are located
613
+ * @param {Function} [options.onDone] - Callback to signal completion
614
+ */
615
+ uploadCoverageReports ({ rootDir, onDone }) {
616
+ const done = onDone || (() => {})
617
+
618
+ // Check if the exporter supports coverage report upload
619
+ if (!this.tracer._exporter?.uploadCoverageReport) {
620
+ log.debug('Exporter does not support coverage report upload')
621
+ done()
622
+ return
623
+ }
624
+
625
+ const coverageReports = discoverCoverageReports(rootDir)
626
+ if (coverageReports.length === 0) {
627
+ log.debug('No coverage reports found to upload')
628
+ done()
629
+ return
605
630
  }
631
+
632
+ log.debug('Coverage report upload is enabled, found %d report(s) to upload', coverageReports.length)
633
+
634
+ // Upload reports sequentially (one file per request)
635
+ let uploadedCount = 0
636
+ let failedCount = 0
637
+ let reportIndex = 0
638
+
639
+ const uploadNextReport = () => {
640
+ if (reportIndex >= coverageReports.length) {
641
+ // All reports processed, log summary
642
+ if (failedCount > 0) {
643
+ log.warn('Coverage report upload completed: %d succeeded, %d failed', uploadedCount, failedCount)
644
+ } else {
645
+ log.info('Coverage report upload completed: %d report(s) uploaded', uploadedCount)
646
+ }
647
+ done()
648
+ return
649
+ }
650
+
651
+ const { filePath, format } = coverageReports[reportIndex]
652
+ reportIndex++
653
+
654
+ this.tracer._exporter.uploadCoverageReport(
655
+ { filePath, format, testEnvironmentMetadata: this.testEnvironmentMetadata },
656
+ (err) => {
657
+ if (err) {
658
+ failedCount++
659
+ log.error('Failed to upload coverage report %s: %s', filePath, err.message)
660
+ } else {
661
+ uploadedCount++
662
+ }
663
+
664
+ // Process next report
665
+ uploadNextReport()
666
+ }
667
+ )
668
+ }
669
+
670
+ uploadNextReport()
606
671
  }
607
672
  }
@@ -17,7 +17,7 @@ class DatabasePlugin extends StoragePlugin {
17
17
  ddps: '',
18
18
  encodedDdps: '',
19
19
  ddpv: '',
20
- encodedDdpv: ''
20
+ encodedDdpv: '',
21
21
  }
22
22
  }
23
23
 
@@ -110,7 +110,7 @@ const plugins = {
110
110
  get tedious () { return require('../../../datadog-plugin-tedious/src') },
111
111
  get undici () { return require('../../../datadog-plugin-undici/src') },
112
112
  get winston () { return require('../../../datadog-plugin-winston/src') },
113
- get ws () { return require('../../../datadog-plugin-ws/src') }
113
+ get ws () { return require('../../../datadog-plugin-ws/src') },
114
114
  }
115
115
 
116
116
  module.exports = plugins
@@ -22,7 +22,7 @@ function messageProxy (message, holder) {
22
22
  },
23
23
  getOwnPropertyDescriptor (target, p) {
24
24
  return Reflect.getOwnPropertyDescriptor(shouldOverride(target, p) ? holder : target, p)
25
- }
25
+ },
26
26
  })
27
27
  }
28
28
 
@@ -48,7 +48,7 @@ module.exports = class LogPlugin extends Plugin {
48
48
  configure (config) {
49
49
  return super.configure({
50
50
  ...config,
51
- enabled: config.enabled && (config.logInjection || config.ciVisAgentlessLogSubmissionEnabled)
51
+ enabled: config.enabled && (config.logInjection || config.ciVisAgentlessLogSubmissionEnabled),
52
52
  })
53
53
  }
54
54
  }