dd-trace 5.84.0 → 5.86.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 (628) 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 +96 -24
  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/storage.js +30 -12
  17. package/packages/datadog-core/src/utils/src/pick.js +2 -2
  18. package/packages/datadog-esbuild/index.js +75 -79
  19. package/packages/datadog-esbuild/src/log.js +32 -0
  20. package/packages/datadog-esbuild/src/utils.js +12 -8
  21. package/packages/datadog-instrumentations/src/aerospike.js +3 -3
  22. package/packages/datadog-instrumentations/src/ai.js +5 -5
  23. package/packages/datadog-instrumentations/src/amqp10.js +1 -1
  24. package/packages/datadog-instrumentations/src/amqplib.js +1 -1
  25. package/packages/datadog-instrumentations/src/anthropic.js +3 -3
  26. package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
  27. package/packages/datadog-instrumentations/src/apollo.js +2 -2
  28. package/packages/datadog-instrumentations/src/avsc.js +1 -1
  29. package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
  30. package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
  31. package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
  32. package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
  33. package/packages/datadog-instrumentations/src/body-parser.js +2 -2
  34. package/packages/datadog-instrumentations/src/bunyan.js +1 -1
  35. package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
  36. package/packages/datadog-instrumentations/src/child_process.js +7 -7
  37. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
  38. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  39. package/packages/datadog-instrumentations/src/couchbase.js +8 -6
  40. package/packages/datadog-instrumentations/src/crypto.js +1 -1
  41. package/packages/datadog-instrumentations/src/cucumber.js +19 -19
  42. package/packages/datadog-instrumentations/src/cypress.js +1 -1
  43. package/packages/datadog-instrumentations/src/dns.js +2 -2
  44. package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
  45. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
  46. package/packages/datadog-instrumentations/src/express-session.js +1 -1
  47. package/packages/datadog-instrumentations/src/express.js +4 -4
  48. package/packages/datadog-instrumentations/src/fastify.js +1 -1
  49. package/packages/datadog-instrumentations/src/fetch.js +2 -2
  50. package/packages/datadog-instrumentations/src/fs.js +7 -7
  51. package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
  52. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
  53. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
  54. package/packages/datadog-instrumentations/src/google-genai.js +1 -1
  55. package/packages/datadog-instrumentations/src/graphql.js +10 -10
  56. package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
  57. package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
  58. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
  59. package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
  60. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
  61. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
  62. package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
  63. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  65. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
  66. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  67. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  68. package/packages/datadog-instrumentations/src/hono.js +6 -6
  69. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  70. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  71. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  72. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  73. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  74. package/packages/datadog-instrumentations/src/jest.js +196 -66
  75. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  76. package/packages/datadog-instrumentations/src/knex.js +2 -2
  77. package/packages/datadog-instrumentations/src/koa.js +3 -1
  78. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  79. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  80. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  81. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  82. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  83. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  84. package/packages/datadog-instrumentations/src/mocha/main.js +33 -24
  85. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  86. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  87. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  88. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  89. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  90. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  91. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  92. package/packages/datadog-instrumentations/src/multer.js +1 -1
  93. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  94. package/packages/datadog-instrumentations/src/net.js +6 -6
  95. package/packages/datadog-instrumentations/src/next.js +6 -6
  96. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  97. package/packages/datadog-instrumentations/src/openai.js +24 -24
  98. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  99. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  100. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  101. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  103. package/packages/datadog-instrumentations/src/passport.js +1 -1
  104. package/packages/datadog-instrumentations/src/pg.js +3 -3
  105. package/packages/datadog-instrumentations/src/pino.js +2 -2
  106. package/packages/datadog-instrumentations/src/playwright.js +59 -59
  107. package/packages/datadog-instrumentations/src/prisma.js +216 -75
  108. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  109. package/packages/datadog-instrumentations/src/promise.js +1 -1
  110. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  111. package/packages/datadog-instrumentations/src/q.js +2 -2
  112. package/packages/datadog-instrumentations/src/redis.js +2 -2
  113. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  114. package/packages/datadog-instrumentations/src/router.js +8 -8
  115. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  116. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  117. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  118. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  119. package/packages/datadog-instrumentations/src/undici.js +2 -2
  120. package/packages/datadog-instrumentations/src/url.js +5 -5
  121. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  122. package/packages/datadog-instrumentations/src/when.js +1 -1
  123. package/packages/datadog-instrumentations/src/winston.js +1 -1
  124. package/packages/datadog-instrumentations/src/ws.js +150 -41
  125. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  126. package/packages/datadog-plugin-ai/src/index.js +1 -1
  127. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  128. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  129. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  130. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  131. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  132. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  133. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  134. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  135. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  136. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  137. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  138. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  139. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  140. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  141. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  142. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  143. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  144. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  145. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  146. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  147. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  148. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  150. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  151. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  152. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  153. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  154. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  155. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  156. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  157. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  158. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  159. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  160. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  161. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  162. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  163. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  164. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  165. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  166. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  167. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  168. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  169. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  170. package/packages/datadog-plugin-cucumber/src/index.js +17 -23
  171. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +73 -56
  172. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  173. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  174. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  175. package/packages/datadog-plugin-dns/src/index.js +1 -1
  176. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  177. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  178. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  179. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  180. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  181. package/packages/datadog-plugin-express/src/index.js +1 -1
  182. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  183. package/packages/datadog-plugin-fs/src/index.js +2 -2
  184. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  185. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +10 -10
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  188. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  189. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  190. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  191. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  192. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  193. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  194. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  195. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  196. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  197. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  198. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  199. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  200. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  201. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  202. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  203. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  204. package/packages/datadog-plugin-http/src/client.js +10 -10
  205. package/packages/datadog-plugin-http/src/index.js +1 -1
  206. package/packages/datadog-plugin-http/src/server.js +23 -8
  207. package/packages/datadog-plugin-http2/src/client.js +6 -6
  208. package/packages/datadog-plugin-http2/src/index.js +1 -1
  209. package/packages/datadog-plugin-http2/src/server.js +1 -1
  210. package/packages/datadog-plugin-jest/src/index.js +67 -31
  211. package/packages/datadog-plugin-jest/src/util.js +8 -2
  212. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  213. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  214. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  215. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  216. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  217. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  218. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  219. package/packages/datadog-plugin-mocha/src/index.js +15 -27
  220. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  221. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  222. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  223. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  224. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  225. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  226. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  227. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  228. package/packages/datadog-plugin-next/src/index.js +4 -4
  229. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  230. package/packages/datadog-plugin-openai/src/index.js +1 -1
  231. package/packages/datadog-plugin-openai/src/services.js +3 -3
  232. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  233. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  234. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  235. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  236. package/packages/datadog-plugin-pg/src/index.js +2 -2
  237. package/packages/datadog-plugin-playwright/src/index.js +22 -19
  238. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +118 -0
  239. package/packages/datadog-plugin-prisma/src/index.js +132 -10
  240. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  241. package/packages/datadog-plugin-redis/src/index.js +2 -2
  242. package/packages/datadog-plugin-restify/src/index.js +1 -1
  243. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  244. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  245. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  246. package/packages/datadog-plugin-router/src/index.js +31 -22
  247. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  248. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  249. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  250. package/packages/datadog-plugin-undici/src/index.js +5 -5
  251. package/packages/datadog-plugin-vitest/src/index.js +42 -25
  252. package/packages/datadog-plugin-ws/src/close.js +10 -11
  253. package/packages/datadog-plugin-ws/src/index.js +1 -1
  254. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  255. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  256. package/packages/datadog-plugin-ws/src/server.js +25 -12
  257. package/packages/datadog-plugin-ws/src/util.js +48 -16
  258. package/packages/datadog-shimmer/src/shimmer.js +3 -3
  259. package/packages/dd-trace/index.js +2 -2
  260. package/packages/dd-trace/src/agent/info.js +2 -2
  261. package/packages/dd-trace/src/agent/url.js +1 -1
  262. package/packages/dd-trace/src/aiguard/client.js +3 -3
  263. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  264. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  265. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  266. package/packages/dd-trace/src/appsec/activation.js +1 -1
  267. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  268. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  269. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  270. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  271. package/packages/dd-trace/src/appsec/channels.js +1 -1
  272. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  273. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  274. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  275. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  278. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  279. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  280. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  281. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  282. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  283. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  284. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  285. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  286. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  287. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  288. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  289. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  290. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  291. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  292. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  293. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  294. package/packages/dd-trace/src/appsec/iast/path-line.js +7 -6
  295. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  296. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  297. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  298. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  308. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  309. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  310. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  311. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  312. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  313. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  314. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  315. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  323. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  324. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  325. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  326. package/packages/dd-trace/src/appsec/index.js +20 -22
  327. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  328. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  329. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  330. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  331. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  332. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  333. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  334. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  335. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  336. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  337. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  338. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  339. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  340. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  341. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  342. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  343. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  344. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  345. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  346. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  347. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  348. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  349. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  350. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  351. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  352. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  353. package/packages/dd-trace/src/azure_metadata.js +16 -9
  354. package/packages/dd-trace/src/baggage.js +1 -1
  355. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  356. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  357. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  358. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +9 -9
  359. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
  360. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  363. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  364. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
  365. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  366. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +20 -1
  367. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  368. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  369. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  370. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  371. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +107 -0
  372. package/packages/dd-trace/src/ci-visibility/telemetry.js +38 -2
  373. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  374. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +50 -7
  375. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  376. package/packages/dd-trace/src/config/defaults.js +1 -1
  377. package/packages/dd-trace/src/config/git_properties.js +1 -1
  378. package/packages/dd-trace/src/config/helper.js +2 -2
  379. package/packages/dd-trace/src/config/index.js +612 -622
  380. package/packages/dd-trace/src/config/remote_config.js +1 -1
  381. package/packages/dd-trace/src/config/stable.js +2 -2
  382. package/packages/dd-trace/src/config/supported-configurations.json +1 -0
  383. package/packages/dd-trace/src/constants.js +3 -3
  384. package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
  385. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  386. package/packages/dd-trace/src/datastreams/context.js +1 -1
  387. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  388. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  389. package/packages/dd-trace/src/datastreams/index.js +8 -8
  390. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  391. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  392. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  393. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  394. package/packages/dd-trace/src/datastreams/size.js +3 -3
  395. package/packages/dd-trace/src/datastreams/writer.js +3 -3
  396. package/packages/dd-trace/src/debugger/config.js +2 -1
  397. package/packages/dd-trace/src/debugger/constants.js +7 -0
  398. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  399. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  400. package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
  401. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  402. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  403. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  404. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  405. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  406. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  407. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  410. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  411. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  412. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  413. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  414. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  415. package/packages/dd-trace/src/debugger/index.js +95 -37
  416. package/packages/dd-trace/src/dogstatsd.js +14 -9
  417. package/packages/dd-trace/src/encode/0.4.js +7 -6
  418. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  419. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  420. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  421. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  422. package/packages/dd-trace/src/exporters/agent/index.js +1 -1
  423. package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
  424. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  425. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  426. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  427. package/packages/dd-trace/src/exporters/common/request.js +41 -21
  428. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  429. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  430. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  431. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  432. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  433. package/packages/dd-trace/src/flare/index.js +3 -3
  434. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  435. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  436. package/packages/dd-trace/src/id.js +2 -2
  437. package/packages/dd-trace/src/iitm.js +1 -1
  438. package/packages/dd-trace/src/lambda/context.js +27 -0
  439. package/packages/dd-trace/src/lambda/handler.js +6 -19
  440. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  441. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  442. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  443. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  444. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  445. package/packages/dd-trace/src/llmobs/index.js +2 -4
  446. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  447. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  448. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  449. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  450. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  451. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  452. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  453. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  454. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  455. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  456. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  457. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  458. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  459. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  460. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  461. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  462. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  463. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  464. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  465. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  466. package/packages/dd-trace/src/llmobs/util.js +1 -1
  467. package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
  468. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  469. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  470. package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
  471. package/packages/dd-trace/src/log/channels.js +2 -2
  472. package/packages/dd-trace/src/log/index.js +2 -2
  473. package/packages/dd-trace/src/log/log.js +1 -1
  474. package/packages/dd-trace/src/log/writer.js +2 -6
  475. package/packages/dd-trace/src/noop/span.js +2 -2
  476. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  477. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  478. package/packages/dd-trace/src/openfeature/index.js +2 -2
  479. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  480. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  481. package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
  482. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  483. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  484. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  485. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  486. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  488. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  489. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  490. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  491. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  492. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  493. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  494. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  495. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  496. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  497. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  498. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  499. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  500. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  501. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  502. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  503. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  504. package/packages/dd-trace/src/opentracing/span.js +20 -20
  505. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  506. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  507. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  508. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  509. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  510. package/packages/dd-trace/src/plugin_manager.js +6 -6
  511. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  512. package/packages/dd-trace/src/plugins/ci_plugin.js +164 -37
  513. package/packages/dd-trace/src/plugins/database.js +1 -1
  514. package/packages/dd-trace/src/plugins/index.js +1 -1
  515. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  516. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  517. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  518. package/packages/dd-trace/src/plugins/producer.js +6 -5
  519. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  520. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  521. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  522. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  523. package/packages/dd-trace/src/plugins/util/git.js +46 -47
  524. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  525. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  526. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  527. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  528. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  529. package/packages/dd-trace/src/plugins/util/test.js +49 -41
  530. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  531. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  532. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  533. package/packages/dd-trace/src/plugins/util/web.js +13 -12
  534. package/packages/dd-trace/src/priority_sampler.js +4 -4
  535. package/packages/dd-trace/src/process-tags/index.js +2 -2
  536. package/packages/dd-trace/src/profiler.js +1 -1
  537. package/packages/dd-trace/src/profiling/config.js +14 -22
  538. package/packages/dd-trace/src/profiling/constants.js +2 -2
  539. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  540. package/packages/dd-trace/src/profiling/exporters/agent.js +28 -29
  541. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  542. package/packages/dd-trace/src/profiling/index.js +1 -1
  543. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  544. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  545. package/packages/dd-trace/src/profiling/profiler.js +23 -23
  546. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  547. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  548. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  549. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  550. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  551. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  552. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  553. package/packages/dd-trace/src/proxy.js +13 -13
  554. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  555. package/packages/dd-trace/src/remote_config/index.js +15 -15
  556. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  557. package/packages/dd-trace/src/ritm.js +1 -1
  558. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  559. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  560. package/packages/dd-trace/src/serverless.js +1 -1
  561. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  562. package/packages/dd-trace/src/service-naming/index.js +1 -1
  563. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  564. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  565. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  566. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  567. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  568. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  569. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  570. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  571. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  572. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  573. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  574. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  575. package/packages/dd-trace/src/span_format.js +4 -4
  576. package/packages/dd-trace/src/span_sampler.js +1 -1
  577. package/packages/dd-trace/src/span_stats.js +11 -11
  578. package/packages/dd-trace/src/spanleak.js +1 -1
  579. package/packages/dd-trace/src/standalone/index.js +1 -1
  580. package/packages/dd-trace/src/standalone/product.js +2 -2
  581. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  582. package/packages/dd-trace/src/startup-log.js +3 -2
  583. package/packages/dd-trace/src/tagger.js +3 -1
  584. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  585. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  586. package/packages/dd-trace/src/telemetry/index.js +1 -1
  587. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  588. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  589. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  590. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  591. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  592. package/packages/dd-trace/src/tracer.js +3 -2
  593. package/packages/dd-trace/src/util.js +1 -1
  594. package/scripts/preinstall.js +1 -1
  595. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  596. package/vendor/dist/@datadog/source-map/index.js +1 -1
  597. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  598. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  599. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  600. package/vendor/dist/astring/index.js +1 -1
  601. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  602. package/vendor/dist/escape-string-regexp/index.js +1 -1
  603. package/vendor/dist/esquery/index.js +1 -1
  604. package/vendor/dist/ignore/index.js +1 -1
  605. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  606. package/vendor/dist/jest-docblock/index.js +1 -1
  607. package/vendor/dist/jsonpath-plus/index.js +1 -1
  608. package/vendor/dist/limiter/index.js +1 -1
  609. package/vendor/dist/lodash.sortby/index.js +1 -1
  610. package/vendor/dist/lru-cache/index.js +1 -1
  611. package/vendor/dist/meriyah/index.js +1 -1
  612. package/vendor/dist/module-details-from-path/index.js +1 -1
  613. package/vendor/dist/mutexify/promise/index.js +1 -1
  614. package/vendor/dist/opentracing/index.js +1 -1
  615. package/vendor/dist/path-to-regexp/index.js +1 -1
  616. package/vendor/dist/pprof-format/index.js +1 -1
  617. package/vendor/dist/protobufjs/index.js +1 -1
  618. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  619. package/vendor/dist/retry/index.js +1 -1
  620. package/vendor/dist/rfdc/index.js +1 -1
  621. package/vendor/dist/semifies/index.js +1 -1
  622. package/vendor/dist/shell-quote/index.js +1 -1
  623. package/vendor/dist/source-map/index.js +1 -1
  624. package/vendor/dist/source-map/lib/util/index.js +1 -1
  625. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  626. package/vendor/dist/ttl-set/index.js +1 -1
  627. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  628. package/packages/datadog-plugin-prisma/src/engine.js +0 -81
@@ -7,11 +7,11 @@ const {
7
7
  SCHEMA_NAME,
8
8
  SCHEMA_OPERATION,
9
9
  SCHEMA_WEIGHT,
10
- SCHEMA_TYPE
10
+ SCHEMA_TYPE,
11
11
  } = require('../../dd-trace/src/constants')
12
12
  const log = require('../../dd-trace/src/log')
13
13
  const {
14
- SchemaBuilder
14
+ SchemaBuilder,
15
15
  } = require('../../dd-trace/src/datastreams')
16
16
 
17
17
  class SchemaExtractor {
@@ -39,7 +39,7 @@ class SchemaExtractor {
39
39
  Enum: ['enum', null],
40
40
  Type: ['type', null],
41
41
  map: ['map', null],
42
- repeated: ['array', null]
42
+ repeated: ['array', null],
43
43
  }
44
44
 
45
45
  return typeFormatMapping[type] || ['string', null]
@@ -31,8 +31,8 @@ class RedisPlugin extends CachePlugin {
31
31
  'db.name': db || '0',
32
32
  [`${this._spanType}.raw_command`]: formatCommand(normalizedCommand, args),
33
33
  'out.host': connectionOptions.host,
34
- [CLIENT_PORT_KEY]: connectionOptions.port
35
- }
34
+ [CLIENT_PORT_KEY]: connectionOptions.port,
35
+ },
36
36
  }, ctx)
37
37
 
38
38
  return ctx.currentStore
@@ -21,7 +21,7 @@ class RestifyPlugin extends RouterPlugin {
21
21
  configure (config) {
22
22
  return super.configure({
23
23
  ...config,
24
- middleware: false // not supported
24
+ middleware: false, // not supported
25
25
  })
26
26
  }
27
27
  }
@@ -27,8 +27,8 @@ class RheaConsumerPlugin extends ConsumerPlugin {
27
27
  meta: {
28
28
  component: 'rhea',
29
29
  'amqp.link.source.address': name,
30
- 'amqp.link.role': 'receiver'
31
- }
30
+ 'amqp.link.role': 'receiver',
31
+ },
32
32
  }, ctx)
33
33
 
34
34
  if (
@@ -9,7 +9,7 @@ class RheaPlugin extends CompositePlugin {
9
9
  static get plugins () {
10
10
  return {
11
11
  producer: ProducerPlugin,
12
- consumer: ConsumerPlugin
12
+ consumer: ConsumerPlugin,
13
13
  }
14
14
  }
15
15
  }
@@ -23,8 +23,8 @@ class RheaProducerPlugin extends ProducerPlugin {
23
23
  'amqp.link.target.address': name,
24
24
  'amqp.link.role': 'sender',
25
25
  'out.host': host,
26
- [CLIENT_PORT_KEY]: port
27
- }
26
+ [CLIENT_PORT_KEY]: port,
27
+ },
28
28
  }, ctx)
29
29
 
30
30
  return ctx.currentStore
@@ -9,26 +9,31 @@ const { COMPONENT } = require('../../dd-trace/src/constants')
9
9
  class RouterPlugin extends WebPlugin {
10
10
  static id = 'router'
11
11
 
12
+ #storeStacks = new WeakMap()
13
+ #contexts = new WeakMap()
14
+
12
15
  constructor (...args) {
13
16
  super(...args)
14
17
 
15
- this._storeStack = []
16
- this._contexts = new WeakMap()
17
-
18
18
  this.addSub(`apm:${this.constructor.id}:middleware:enter`, ({ req, name, route }) => {
19
- const childOf = this._getActive(req) || this._getStoreSpan()
19
+ const childOf = this.#getActive(req) || this.#getStoreSpan()
20
20
 
21
21
  if (!childOf) return
22
22
 
23
- const span = this._getMiddlewareSpan(name, childOf)
24
- const context = this._createContext(req, route, childOf)
23
+ const span = this.#getMiddlewareSpan(name, childOf)
24
+ const context = this.#createContext(req, route, childOf)
25
25
 
26
26
  if (childOf !== span) {
27
27
  context.middleware.push(span)
28
28
  }
29
29
 
30
30
  const store = storage('legacy').getStore()
31
- this._storeStack.push(store)
31
+ let storeStack = this.#storeStacks.get(req)
32
+ if (!storeStack) {
33
+ storeStack = []
34
+ this.#storeStacks.set(req, storeStack)
35
+ }
36
+ storeStack.push(store)
32
37
  this.enter(span, store)
33
38
 
34
39
  web.patch(req)
@@ -36,7 +41,7 @@ class RouterPlugin extends WebPlugin {
36
41
  })
37
42
 
38
43
  this.addSub(`apm:${this.constructor.id}:middleware:next`, ({ req }) => {
39
- const context = this._contexts.get(req)
44
+ const context = this.#contexts.get(req)
40
45
 
41
46
  if (!context) return
42
47
 
@@ -44,7 +49,7 @@ class RouterPlugin extends WebPlugin {
44
49
  })
45
50
 
46
51
  this.addSub(`apm:${this.constructor.id}:middleware:finish`, ({ req }) => {
47
- const context = this._contexts.get(req)
52
+ const context = this.#contexts.get(req)
48
53
 
49
54
  if (!context || context.middleware.length === 0) return
50
55
 
@@ -52,7 +57,11 @@ class RouterPlugin extends WebPlugin {
52
57
  })
53
58
 
54
59
  this.addSub(`apm:${this.constructor.id}:middleware:exit`, ({ req }) => {
55
- const savedStore = this._storeStack.pop()
60
+ const storeStack = this.#storeStacks.get(req)
61
+ const savedStore = storeStack && storeStack.pop()
62
+ if (storeStack && storeStack.length === 0) {
63
+ this.#storeStacks.delete(req)
64
+ }
56
65
  const span = savedStore && savedStore.span
57
66
  this.enter(span, savedStore)
58
67
  })
@@ -62,7 +71,7 @@ class RouterPlugin extends WebPlugin {
62
71
 
63
72
  if (!this.config.middleware) return
64
73
 
65
- const span = this._getActive(req)
74
+ const span = this.#getActive(req)
66
75
 
67
76
  if (!span) return
68
77
 
@@ -70,7 +79,7 @@ class RouterPlugin extends WebPlugin {
70
79
  })
71
80
 
72
81
  this.addSub('apm:http:server:request:finish', ({ req }) => {
73
- const context = this._contexts.get(req)
82
+ const context = this.#contexts.get(req)
74
83
 
75
84
  if (!context) return
76
85
 
@@ -82,8 +91,8 @@ class RouterPlugin extends WebPlugin {
82
91
  })
83
92
  }
84
93
 
85
- _getActive (req) {
86
- const context = this._contexts.get(req)
94
+ #getActive (req) {
95
+ const context = this.#contexts.get(req)
87
96
 
88
97
  if (!context) return
89
98
  if (context.middleware.length === 0) return context.span
@@ -91,13 +100,13 @@ class RouterPlugin extends WebPlugin {
91
100
  return context.middleware.at(-1)
92
101
  }
93
102
 
94
- _getStoreSpan () {
103
+ #getStoreSpan () {
95
104
  const store = storage('legacy').getStore()
96
105
 
97
106
  return store && store.span
98
107
  }
99
108
 
100
- _getMiddlewareSpan (name, childOf) {
109
+ #getMiddlewareSpan (name, childOf) {
101
110
  if (this.config.middleware === false) {
102
111
  return childOf
103
112
  }
@@ -107,8 +116,8 @@ class RouterPlugin extends WebPlugin {
107
116
  integrationName: this.constructor.id,
108
117
  tags: {
109
118
  [COMPONENT]: this.constructor.id,
110
- 'resource.name': name || '<anonymous>'
111
- }
119
+ 'resource.name': name || '<anonymous>',
120
+ },
112
121
  })
113
122
 
114
123
  analyticsSampler.sample(span, this.config.measured)
@@ -116,8 +125,8 @@ class RouterPlugin extends WebPlugin {
116
125
  return span
117
126
  }
118
127
 
119
- _createContext (req, route, span) {
120
- let context = this._contexts.get(req)
128
+ #createContext (req, route, span) {
129
+ let context = this.#contexts.get(req)
121
130
 
122
131
  if (!route || route === '/' || route === '*') {
123
132
  route = ''
@@ -137,10 +146,10 @@ class RouterPlugin extends WebPlugin {
137
146
  span,
138
147
  stack: [route],
139
148
  route,
140
- middleware: []
149
+ middleware: [],
141
150
  }
142
151
 
143
- this._contexts.set(req, context)
152
+ this.#contexts.set(req, context)
144
153
  }
145
154
 
146
155
  return context
@@ -9,7 +9,7 @@ const {
9
9
  TEST_BROWSER_DRIVER_VERSION,
10
10
  TEST_BROWSER_NAME,
11
11
  TEST_BROWSER_VERSION,
12
- TEST_TYPE
12
+ TEST_TYPE,
13
13
  } = require('../../dd-trace/src/plugins/util/test')
14
14
  const { SPAN_TYPE } = require('../../../ext/tags')
15
15
 
@@ -37,7 +37,7 @@ class SeleniumPlugin extends CiPlugin {
37
37
  seleniumVersion,
38
38
  browserName,
39
39
  browserVersion,
40
- isRumActive
40
+ isRumActive,
41
41
  }) => {
42
42
  const store = storage('legacy').getStore()
43
43
  const span = store?.span
@@ -13,8 +13,8 @@ class SharedbPlugin extends ServerPlugin {
13
13
  resource: getReadableResourceName(actionName, request.c, request.q),
14
14
  kind: 'server',
15
15
  meta: {
16
- 'sharedb.action': actionName
17
- }
16
+ 'sharedb.action': actionName,
17
+ },
18
18
  }, ctx)
19
19
 
20
20
  if (this.config.hooks && this.config.hooks.receive) {
@@ -22,8 +22,8 @@ class TediousPlugin extends DatabasePlugin {
22
22
  [CLIENT_PORT_KEY]: ctx.connectionConfig.options.port,
23
23
  'db.user': ctx.connectionConfig.userName || ctx.connectionConfig.authentication.options.userName,
24
24
  'db.name': ctx.connectionConfig.options.database,
25
- 'db.instance': ctx.connectionConfig.options.instanceName
26
- }
25
+ 'db.instance': ctx.connectionConfig.options.instanceName,
26
+ },
27
27
  }, ctx)
28
28
 
29
29
  // SQL Server includes comments when caching queries
@@ -71,14 +71,14 @@ class UndiciPlugin extends HttpClientPlugin {
71
71
  'span.kind': 'client',
72
72
  'http.method': method,
73
73
  'http.url': uri,
74
- 'out.host': hostname
74
+ 'out.host': hostname,
75
75
  },
76
76
  metrics: {
77
- [CLIENT_PORT_KEY]: port ? Number.parseInt(port, 10) : undefined
77
+ [CLIENT_PORT_KEY]: port ? Number.parseInt(port, 10) : undefined,
78
78
  },
79
79
  service: this.serviceName({ pluginConfig: this.config, sessionDetails: { host: hostname, port } }),
80
80
  resource: method,
81
- type: 'http'
81
+ type: 'http',
82
82
  }, false)
83
83
 
84
84
  // Disable recording if not allowed
@@ -108,7 +108,7 @@ class UndiciPlugin extends HttpClientPlugin {
108
108
  requestContexts.set(request, {
109
109
  span,
110
110
  store,
111
- uri
111
+ uri,
112
112
  })
113
113
 
114
114
  // Enter the span context
@@ -285,7 +285,7 @@ function normalizeConfig (config) {
285
285
  return {
286
286
  ...config,
287
287
  validateStatus,
288
- hooks
288
+ hooks,
289
289
  }
290
290
  }
291
291
 
@@ -32,13 +32,13 @@ const {
32
32
  getLibraryCapabilitiesTags,
33
33
  TEST_RETRY_REASON_TYPES,
34
34
  isModifiedTest,
35
- TEST_IS_MODIFIED
35
+ TEST_IS_MODIFIED,
36
36
  } = require('../../dd-trace/src/plugins/util/test')
37
37
  const { COMPONENT } = require('../../dd-trace/src/constants')
38
38
  const {
39
39
  TELEMETRY_EVENT_CREATED,
40
40
  TELEMETRY_EVENT_FINISHED,
41
- TELEMETRY_TEST_SESSION
41
+ TELEMETRY_TEST_SESSION,
42
42
  } = require('../../dd-trace/src/ci-visibility/telemetry')
43
43
  const { DD_MAJOR } = require('../../../version')
44
44
 
@@ -69,7 +69,7 @@ class VitestPlugin extends CiPlugin {
69
69
  testManagementTests,
70
70
  testSuiteAbsolutePath,
71
71
  testName,
72
- onDone
72
+ onDone,
73
73
  }) => {
74
74
  const testSuite = getTestSuitePath(testSuiteAbsolutePath, this.repositoryRoot)
75
75
  const { isAttemptToFix } = this.getTestProperties(testManagementTests, testSuite, testName)
@@ -101,7 +101,7 @@ class VitestPlugin extends CiPlugin {
101
101
  this.addSub('ci:vitest:is-early-flake-detection-faulty', ({
102
102
  knownTests,
103
103
  testFilepaths,
104
- onDone
104
+ onDone,
105
105
  }) => {
106
106
  const isFaulty = getIsFaultyEarlyFlakeDetection(
107
107
  testFilepaths.map(testFilepath => getTestSuitePath(testFilepath, this.repositoryRoot)),
@@ -124,14 +124,14 @@ class VitestPlugin extends CiPlugin {
124
124
  isRetryReasonEfd,
125
125
  isRetryReasonAttemptToFix,
126
126
  isRetryReasonAtr,
127
- isModified
127
+ isModified,
128
128
  } = ctx
129
129
 
130
130
  const testSuite = getTestSuitePath(testSuiteAbsolutePath, this.repositoryRoot)
131
131
  const store = storage('legacy').getStore()
132
132
 
133
133
  const extraTags = {
134
- [TEST_SOURCE_FILE]: testSuite
134
+ [TEST_SOURCE_FILE]: testSuite,
135
135
  }
136
136
  if (isRetry) {
137
137
  extraTags[TEST_IS_RETRY] = 'true'
@@ -206,9 +206,7 @@ class VitestPlugin extends CiPlugin {
206
206
 
207
207
  this.addSub('ci:vitest:test:pass', ({ span, task }) => {
208
208
  if (span) {
209
- this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
210
- hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS]
211
- })
209
+ this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', this.getTestTelemetryTags(span))
212
210
  span.setTag(TEST_STATUS, 'pass')
213
211
  span.finish(this.taskToFinishTime.get(task))
214
212
  finishAllTraceSpans(span)
@@ -222,7 +220,7 @@ class VitestPlugin extends CiPlugin {
222
220
  shouldSetProbe,
223
221
  promises,
224
222
  hasFailedAllRetries,
225
- attemptToFixFailed
223
+ attemptToFixFailed,
226
224
  }) => {
227
225
  if (!span) {
228
226
  return
@@ -236,9 +234,7 @@ class VitestPlugin extends CiPlugin {
236
234
  promises.setProbePromise = setProbePromise
237
235
  }
238
236
  }
239
- this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
240
- hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS]
241
- })
237
+ this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', this.getTestTelemetryTags(span))
242
238
  span.setTag(TEST_STATUS, 'fail')
243
239
 
244
240
  if (error) {
@@ -269,12 +265,10 @@ class VitestPlugin extends CiPlugin {
269
265
  [TEST_SOURCE_START]: 1, // we can't get the proper start line in vitest
270
266
  [TEST_STATUS]: 'skip',
271
267
  ...(isDisabled ? { [TEST_MANAGEMENT_IS_DISABLED]: 'true' } : {}),
272
- ...(isNew ? { [TEST_IS_NEW]: 'true' } : {})
268
+ ...(isNew ? { [TEST_IS_NEW]: 'true' } : {}),
273
269
  }
274
270
  )
275
- this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
276
- hasCodeowners: !!testSpan.context()._tags[TEST_CODE_OWNERS]
277
- })
271
+ this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', this.getTestTelemetryTags(testSpan))
278
272
  testSpan.finish()
279
273
  })
280
274
 
@@ -285,7 +279,7 @@ class VitestPlugin extends CiPlugin {
285
279
  this.frameworkVersion = frameworkVersion
286
280
  const testSessionSpanContext = this.tracer.extract('text_map', {
287
281
  'x-datadog-trace-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_SESSION_ID'),
288
- 'x-datadog-parent-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_MODULE_ID')
282
+ 'x-datadog-parent-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_MODULE_ID'),
289
283
  })
290
284
 
291
285
  const trimmedCommand = DD_MAJOR < 6 ? this.command : 'vitest run'
@@ -294,14 +288,14 @@ class VitestPlugin extends CiPlugin {
294
288
  const metadataTags = {}
295
289
  for (const testLevel of TEST_LEVEL_EVENT_TYPES) {
296
290
  metadataTags[testLevel] = {
297
- [TEST_SESSION_NAME]: testSessionName
291
+ [TEST_SESSION_NAME]: testSessionName,
298
292
  }
299
293
  }
300
294
  if (this.tracer._exporter.addMetadataTags) {
301
295
  const libraryCapabilitiesTags = getLibraryCapabilitiesTags(this.constructor.id)
302
296
  metadataTags.test = {
303
297
  ...metadataTags.test,
304
- ...libraryCapabilitiesTags
298
+ ...libraryCapabilitiesTags,
305
299
  }
306
300
  this.tracer._exporter.addMetadataTags(metadataTags)
307
301
  }
@@ -326,8 +320,8 @@ class VitestPlugin extends CiPlugin {
326
320
  tags: {
327
321
  [COMPONENT]: this.constructor.id,
328
322
  ...this.testEnvironmentMetadata,
329
- ...testSuiteMetadata
330
- }
323
+ ...testSuiteMetadata,
324
+ },
331
325
  })
332
326
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_CREATED, 'suite')
333
327
  const store = storage('legacy').getStore()
@@ -374,7 +368,7 @@ class VitestPlugin extends CiPlugin {
374
368
  isEarlyFlakeDetectionFaulty,
375
369
  isTestManagementTestsEnabled,
376
370
  vitestPool,
377
- onFinish
371
+ onFinish,
378
372
  }) => {
379
373
  this.testSessionSpan.setTag(TEST_STATUS, status)
380
374
  this.testModuleSpan.setTag(TEST_STATUS, status)
@@ -401,14 +395,37 @@ class VitestPlugin extends CiPlugin {
401
395
  this.testModuleSpan.finish()
402
396
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'module')
403
397
  this.testSessionSpan.finish()
404
- this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'session')
398
+ this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'session', {
399
+ hasFailedTestReplay: this.libraryConfig?.isDiEnabled || undefined,
400
+ })
405
401
  finishAllTraceSpans(this.testSessionSpan)
406
402
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
407
403
  provider: this.ciProviderName,
408
- autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
404
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER'),
409
405
  })
410
406
  this.tracer._exporter.flush(onFinish)
411
407
  })
408
+
409
+ this.addSub('ci:vitest:coverage-report', ({ rootDir, onDone }) => {
410
+ this.handleCoverageReport(rootDir, onDone)
411
+ })
412
+ }
413
+
414
+ /**
415
+ * Handles the coverage report by discovering and uploading it if enabled.
416
+ * @param {string} rootDir - The root directory where coverage reports are located.
417
+ * @param {Function} [onDone] - Callback to signal completion.
418
+ */
419
+ handleCoverageReport (rootDir, onDone) {
420
+ if (!this.libraryConfig?.isCoverageReportUploadEnabled) {
421
+ onDone()
422
+ return
423
+ }
424
+ this.uploadCoverageReports({
425
+ rootDir,
426
+ testEnvironmentMetadata: this.testEnvironmentMetadata,
427
+ onDone,
428
+ })
412
429
  }
413
430
 
414
431
  getTestProperties (testManagementTests, testSuite, testName) {
@@ -4,12 +4,12 @@ const TracingPlugin = require('../../dd-trace/src/plugins/tracing.js')
4
4
  const {
5
5
  WEBSOCKET_PTR_KIND,
6
6
  SPAN_POINTER_DIRECTION,
7
- SPAN_POINTER_DIRECTION_NAME
7
+ SPAN_POINTER_DIRECTION_NAME,
8
8
  } = require('../../dd-trace/src/constants')
9
9
  const {
10
10
  incrementWebSocketCounter,
11
11
  buildWebSocketSpanPointerHash,
12
- hasDistributedTracingContext
12
+ hasDistributedTracingContext,
13
13
  } = require('./util')
14
14
 
15
15
  class WSClosePlugin extends TracingPlugin {
@@ -21,14 +21,14 @@ class WSClosePlugin extends TracingPlugin {
21
21
  bindStart (ctx) {
22
22
  const {
23
23
  traceWebsocketMessagesInheritSampling,
24
- traceWebsocketMessagesSeparateTraces
24
+ traceWebsocketMessagesSeparateTraces,
25
25
  } = this.config
26
26
 
27
27
  const { code, data, socket, isPeerClose } = ctx
28
28
  if (!socket?.spanContext) return
29
29
 
30
30
  const spanKind = isPeerClose ? 'consumer' : 'producer'
31
- const spanTags = socket.spanContext.spanTags
31
+ const spanTags = socket.spanTags
32
32
  const path = spanTags['resource.name'].split(' ')[1]
33
33
  const service = this.serviceName({ pluginConfig: this.config })
34
34
  const span = this.startSpan(this.operationName(), {
@@ -37,9 +37,9 @@ class WSClosePlugin extends TracingPlugin {
37
37
  'resource.name': `websocket ${path}`,
38
38
  'span.type': 'websocket',
39
39
  'span.kind': spanKind,
40
- 'websocket.close.code': code
40
+ 'websocket.close.code': code,
41
41
 
42
- }
42
+ },
43
43
  }, ctx)
44
44
 
45
45
  if (data?.toString().length > 0) {
@@ -76,14 +76,13 @@ class WSClosePlugin extends TracingPlugin {
76
76
  linkAttributes['dd.kind'] = isIncoming ? 'executed_by' : 'resuming'
77
77
 
78
78
  // Add span pointer for context propagation
79
- if (this.config.traceWebsocketMessagesEnabled && ctx.socket.handshakeSpan) {
80
- const handshakeSpan = ctx.socket.handshakeSpan
79
+ if (this.config.traceWebsocketMessagesEnabled && ctx.socket.spanContext) {
80
+ const handshakeContext = ctx.socket.spanContext
81
81
 
82
82
  // Only add span pointers if distributed tracing is enabled and handshake has distributed context
83
- if (hasDistributedTracingContext(handshakeSpan, ctx.socket)) {
83
+ if (hasDistributedTracingContext(handshakeContext, ctx.socket)) {
84
84
  const counterType = isIncoming ? 'receiveCounter' : 'sendCounter'
85
85
  const counter = incrementWebSocketCounter(ctx.socket, counterType)
86
- const handshakeContext = handshakeSpan.context()
87
86
 
88
87
  const ptrHash = buildWebSocketSpanPointerHash(
89
88
  handshakeContext._traceId,
@@ -111,7 +110,7 @@ class WSClosePlugin extends TracingPlugin {
111
110
 
112
111
  ctx.span.addLink({
113
112
  context: ctx.socket.spanContext,
114
- attributes: linkAttributes
113
+ attributes: linkAttributes,
115
114
  })
116
115
  }
117
116
 
@@ -14,7 +14,7 @@ class WSPlugin extends CompositePlugin {
14
14
  server: WSServerPlugin,
15
15
  producer: WSProducerPlugin,
16
16
  receiver: WSReceiverPlugin,
17
- close: WSClosePlugin
17
+ close: WSClosePlugin,
18
18
  }
19
19
  }
20
20
 
@@ -4,12 +4,12 @@ const TracingPlugin = require('../../dd-trace/src/plugins/tracing.js')
4
4
  const {
5
5
  WEBSOCKET_PTR_KIND,
6
6
  SPAN_POINTER_DIRECTION,
7
- SPAN_POINTER_DIRECTION_NAME
7
+ SPAN_POINTER_DIRECTION_NAME,
8
8
  } = require('../../dd-trace/src/constants')
9
9
  const {
10
10
  incrementWebSocketCounter,
11
11
  buildWebSocketSpanPointerHash,
12
- hasDistributedTracingContext
12
+ hasDistributedTracingContext,
13
13
  } = require('./util')
14
14
 
15
15
  class WSProducerPlugin extends TracingPlugin {
@@ -22,7 +22,7 @@ class WSProducerPlugin extends TracingPlugin {
22
22
  const { byteLength, socket, binary } = ctx
23
23
  if (!socket.spanContext) return
24
24
 
25
- const spanTags = socket.spanContext.spanTags
25
+ const spanTags = socket.spanTags
26
26
  const path = spanTags['resource.name'].split(' ')[1]
27
27
  const opCode = binary ? 'binary' : 'text'
28
28
  const service = this.serviceName({ pluginConfig: this.config })
@@ -36,8 +36,8 @@ class WSProducerPlugin extends TracingPlugin {
36
36
 
37
37
  },
38
38
  metrics: {
39
- 'websocket.message.length': byteLength
40
- }
39
+ 'websocket.message.length': byteLength,
40
+ },
41
41
 
42
42
  }, ctx)
43
43
 
@@ -61,13 +61,12 @@ class WSProducerPlugin extends TracingPlugin {
61
61
  const linkAttributes = { 'dd.kind': 'resuming' }
62
62
 
63
63
  // Add span pointer for context propagation
64
- if (this.config.traceWebsocketMessagesEnabled && ctx.socket.handshakeSpan) {
65
- const handshakeSpan = ctx.socket.handshakeSpan
64
+ if (this.config.traceWebsocketMessagesEnabled && ctx.socket.spanContext) {
65
+ const handshakeContext = ctx.socket.spanContext
66
66
 
67
67
  // Only add span pointers if distributed tracing is enabled and handshake has distributed context
68
- if (hasDistributedTracingContext(handshakeSpan, ctx.socket)) {
68
+ if (hasDistributedTracingContext(handshakeContext, ctx.socket)) {
69
69
  const counter = incrementWebSocketCounter(ctx.socket, 'sendCounter')
70
- const handshakeContext = handshakeSpan.context()
71
70
 
72
71
  const ptrHash = buildWebSocketSpanPointerHash(
73
72
  handshakeContext._traceId,
@@ -4,12 +4,12 @@ const TracingPlugin = require('../../dd-trace/src/plugins/tracing.js')
4
4
  const {
5
5
  WEBSOCKET_PTR_KIND,
6
6
  SPAN_POINTER_DIRECTION,
7
- SPAN_POINTER_DIRECTION_NAME
7
+ SPAN_POINTER_DIRECTION_NAME,
8
8
  } = require('../../dd-trace/src/constants')
9
9
  const {
10
10
  incrementWebSocketCounter,
11
11
  buildWebSocketSpanPointerHash,
12
- hasDistributedTracingContext
12
+ hasDistributedTracingContext,
13
13
  } = require('./util')
14
14
 
15
15
  class WSReceiverPlugin extends TracingPlugin {
@@ -21,13 +21,13 @@ class WSReceiverPlugin extends TracingPlugin {
21
21
  bindStart (ctx) {
22
22
  const {
23
23
  traceWebsocketMessagesInheritSampling,
24
- traceWebsocketMessagesSeparateTraces
24
+ traceWebsocketMessagesSeparateTraces,
25
25
  } = this.config
26
26
 
27
27
  const { byteLength, socket, binary } = ctx
28
28
  if (!socket.spanContext) return
29
29
 
30
- const spanTags = socket.spanContext.spanTags
30
+ const spanTags = socket.spanTags
31
31
  const path = spanTags['resource.name'].split(' ')[1]
32
32
  const opCode = binary ? 'binary' : 'text'
33
33
 
@@ -43,7 +43,7 @@ class WSReceiverPlugin extends TracingPlugin {
43
43
  },
44
44
  metrics: {
45
45
  'websocket.message.length': byteLength,
46
- }
46
+ },
47
47
 
48
48
  }, ctx)
49
49
 
@@ -72,13 +72,12 @@ class WSReceiverPlugin extends TracingPlugin {
72
72
  const linkAttributes = { 'dd.kind': 'executed_by' }
73
73
 
74
74
  // Add span pointer for context propagation
75
- if (this.config.traceWebsocketMessagesEnabled && ctx.socket.handshakeSpan) {
76
- const handshakeSpan = ctx.socket.handshakeSpan
75
+ if (this.config.traceWebsocketMessagesEnabled && ctx.socket.spanContext) {
76
+ const handshakeContext = ctx.socket.spanContext
77
77
 
78
78
  // Only add span pointers if distributed tracing is enabled and handshake has distributed context
79
- if (hasDistributedTracingContext(handshakeSpan, ctx.socket)) {
79
+ if (hasDistributedTracingContext(handshakeContext, ctx.socket)) {
80
80
  const counter = incrementWebSocketCounter(ctx.socket, 'receiveCounter')
81
- const handshakeContext = handshakeSpan.context()
82
81
 
83
82
  const ptrHash = buildWebSocketSpanPointerHash(
84
83
  handshakeContext._traceId,