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