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
@@ -1,22 +1,141 @@
1
1
  'use strict'
2
2
 
3
- const CompositePlugin = require('../../dd-trace/src/plugins/composite')
3
+ const DatabasePlugin = require('../../dd-trace/src/plugins/database')
4
+ const { CLIENT_PORT_KEY } = require('../../dd-trace/src/constants')
5
+ const DatadogTracingHelper = require('./datadog-tracing-helper')
4
6
 
5
- const PrismaClientPlugin = require('./client')
6
- const PrismaEnginePlugin = require('./engine')
7
+ const databaseDriverMapper = {
8
+ postgresql: {
9
+ type: 'sql',
10
+ 'db.type': 'postgres',
11
+ },
12
+ mysql: {
13
+ type: 'sql',
14
+ 'db.type': 'mysql',
15
+ },
16
+ mongodb: {
17
+ type: 'mongodb',
18
+ 'db.type': 'mongodb',
19
+ },
20
+ sqlite: {
21
+ type: 'sql',
22
+ 'db.type': 'sqlite',
23
+ },
24
+ }
7
25
 
8
- class PrismaPlugin extends CompositePlugin {
26
+ class PrismaPlugin extends DatabasePlugin {
9
27
  static id = 'prisma'
10
- static get plugins () {
11
- return {
12
- client: PrismaClientPlugin,
13
- engine: PrismaEnginePlugin
28
+ static system = 'prisma'
29
+ static prefix = 'tracing:apm:prisma'
30
+
31
+ constructor (...args) {
32
+ super(...args)
33
+
34
+ // Subscribe to helper initialization to inject callbacks
35
+ this.addSub('apm:prisma:helper:init', (prismaHelperCtx) => {
36
+ prismaHelperCtx.helper = new DatadogTracingHelper(prismaHelperCtx.dbConfig, this)
37
+ })
38
+ }
39
+
40
+ startEngineSpan (ctx) {
41
+ const { engineSpan, allEngineSpans, childOf, dbConfig } = ctx
42
+ const service = this.serviceName({ pluginConfig: this.config, system: this.system })
43
+ const spanName = engineSpan.name.slice(14) // remove 'prisma:engine:' prefix
44
+ const options = {
45
+ childOf,
46
+ resource: spanName,
47
+ service,
48
+ kind: engineSpan.kind,
49
+ meta: {
50
+ prisma: {
51
+ name: spanName,
52
+ type: 'engine',
53
+ },
54
+ },
55
+ }
56
+
57
+ if (spanName === 'db_query') {
58
+ const query = engineSpan.attributes['db.query.text']
59
+ const originalStatement = this.maybeTruncate(query)
60
+ const type = databaseDriverMapper[engineSpan.attributes['db.system']]?.type
61
+ const dbType = databaseDriverMapper[engineSpan.attributes['db.system']]?.['db.type']
62
+
63
+ options.resource = originalStatement
64
+ options.type = type || engineSpan.attributes['db.system']
65
+ options.meta['db.type'] = dbType || engineSpan.attributes['db.system']
66
+ options.meta['db.name'] = dbConfig?.database
67
+ options.meta['db.user'] = dbConfig?.user
68
+ options.meta['out.host'] = dbConfig?.host
69
+ options.meta[CLIENT_PORT_KEY] = dbConfig?.port
14
70
  }
71
+
72
+ const activeSpan = this.startSpan(this.operationName({ operation: 'engine' }), options)
73
+ activeSpan._startTime = hrTimeToUnixTimeMs(engineSpan.startTime)
74
+ for (const span of allEngineSpans) {
75
+ if (span.parentId === engineSpan.id) {
76
+ const startCtx = { engineSpan: span, allEngineSpans, childOf: activeSpan, dbConfig }
77
+ this.startEngineSpan(startCtx)
78
+ }
79
+ }
80
+ const unixEndTime = hrTimeToUnixTimeMs(engineSpan.endTime)
81
+ activeSpan.finish(unixEndTime)
15
82
  }
16
83
 
17
- configure (config) {
18
- return super.configure(config)
84
+ bindStart (ctx) {
85
+ const service = this.serviceName({ pluginConfig: this.config })
86
+ const resource = formatResourceName(ctx.resourceName, ctx.attributes)
87
+
88
+ const options = { service, resource }
89
+
90
+ if (ctx.resourceName === 'operation') {
91
+ options.meta = {
92
+ prisma: {
93
+ method: ctx.attributes.method,
94
+ model: ctx.attributes.model,
95
+ type: 'client',
96
+ },
97
+ }
98
+ }
99
+ const operationName = this.operationName({ operation: 'client' })
100
+ this.startSpan(operationName, options, ctx)
101
+
102
+ return ctx.currentStore
19
103
  }
104
+
105
+ end (ctx) {
106
+ // Only synchronous operations would have `result` on `end`.
107
+ if (Object.hasOwn(ctx, 'result')) {
108
+ this.finish(ctx)
109
+ }
110
+ }
111
+
112
+ bindAsyncStart (ctx) {
113
+ return this.bindFinish(ctx)
114
+ }
115
+
116
+ asyncStart (ctx) {
117
+ this.finish(ctx)
118
+ }
119
+
120
+ error (error) {
121
+ this.addError(error)
122
+ }
123
+ }
124
+
125
+ function formatResourceName (resource, attributes) {
126
+ if (attributes?.name) {
127
+ return `${attributes.name}`.trim()
128
+ }
129
+ if (attributes?.model && attributes.method) {
130
+ return `${attributes.model}.${attributes.method}`.trim()
131
+ }
132
+ return resource
133
+ }
134
+
135
+ // Opentelemetry time format is defined here
136
+ // https://github.com/open-telemetry/opentelemetry-js/blob/cbc912d/api/src/common/Time.ts#L19-L30.
137
+ function hrTimeToUnixTimeMs ([seconds, nanoseconds]) {
138
+ return seconds * 1000 + nanoseconds / 1e6
20
139
  }
21
140
 
22
141
  module.exports = PrismaPlugin
@@ -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
@@ -107,8 +107,8 @@ class RouterPlugin extends WebPlugin {
107
107
  integrationName: this.constructor.id,
108
108
  tags: {
109
109
  [COMPONENT]: this.constructor.id,
110
- 'resource.name': name || '<anonymous>'
111
- }
110
+ 'resource.name': name || '<anonymous>',
111
+ },
112
112
  })
113
113
 
114
114
  analyticsSampler.sample(span, this.config.measured)
@@ -137,7 +137,7 @@ class RouterPlugin extends WebPlugin {
137
137
  span,
138
138
  stack: [route],
139
139
  route,
140
- middleware: []
140
+ middleware: [],
141
141
  }
142
142
 
143
143
  this._contexts.set(req, 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'
@@ -207,7 +207,7 @@ class VitestPlugin extends CiPlugin {
207
207
  this.addSub('ci:vitest:test:pass', ({ span, task }) => {
208
208
  if (span) {
209
209
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
210
- hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS]
210
+ hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS],
211
211
  })
212
212
  span.setTag(TEST_STATUS, 'pass')
213
213
  span.finish(this.taskToFinishTime.get(task))
@@ -222,7 +222,7 @@ class VitestPlugin extends CiPlugin {
222
222
  shouldSetProbe,
223
223
  promises,
224
224
  hasFailedAllRetries,
225
- attemptToFixFailed
225
+ attemptToFixFailed,
226
226
  }) => {
227
227
  if (!span) {
228
228
  return
@@ -237,7 +237,7 @@ class VitestPlugin extends CiPlugin {
237
237
  }
238
238
  }
239
239
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
240
- hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS]
240
+ hasCodeowners: !!span.context()._tags[TEST_CODE_OWNERS],
241
241
  })
242
242
  span.setTag(TEST_STATUS, 'fail')
243
243
 
@@ -269,11 +269,11 @@ class VitestPlugin extends CiPlugin {
269
269
  [TEST_SOURCE_START]: 1, // we can't get the proper start line in vitest
270
270
  [TEST_STATUS]: 'skip',
271
271
  ...(isDisabled ? { [TEST_MANAGEMENT_IS_DISABLED]: 'true' } : {}),
272
- ...(isNew ? { [TEST_IS_NEW]: 'true' } : {})
272
+ ...(isNew ? { [TEST_IS_NEW]: 'true' } : {}),
273
273
  }
274
274
  )
275
275
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_FINISHED, 'test', {
276
- hasCodeowners: !!testSpan.context()._tags[TEST_CODE_OWNERS]
276
+ hasCodeowners: !!testSpan.context()._tags[TEST_CODE_OWNERS],
277
277
  })
278
278
  testSpan.finish()
279
279
  })
@@ -285,7 +285,7 @@ class VitestPlugin extends CiPlugin {
285
285
  this.frameworkVersion = frameworkVersion
286
286
  const testSessionSpanContext = this.tracer.extract('text_map', {
287
287
  'x-datadog-trace-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_SESSION_ID'),
288
- 'x-datadog-parent-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_MODULE_ID')
288
+ 'x-datadog-parent-id': getValueFromEnvSources('DD_CIVISIBILITY_TEST_MODULE_ID'),
289
289
  })
290
290
 
291
291
  const trimmedCommand = DD_MAJOR < 6 ? this.command : 'vitest run'
@@ -294,14 +294,14 @@ class VitestPlugin extends CiPlugin {
294
294
  const metadataTags = {}
295
295
  for (const testLevel of TEST_LEVEL_EVENT_TYPES) {
296
296
  metadataTags[testLevel] = {
297
- [TEST_SESSION_NAME]: testSessionName
297
+ [TEST_SESSION_NAME]: testSessionName,
298
298
  }
299
299
  }
300
300
  if (this.tracer._exporter.addMetadataTags) {
301
301
  const libraryCapabilitiesTags = getLibraryCapabilitiesTags(this.constructor.id)
302
302
  metadataTags.test = {
303
303
  ...metadataTags.test,
304
- ...libraryCapabilitiesTags
304
+ ...libraryCapabilitiesTags,
305
305
  }
306
306
  this.tracer._exporter.addMetadataTags(metadataTags)
307
307
  }
@@ -326,8 +326,8 @@ class VitestPlugin extends CiPlugin {
326
326
  tags: {
327
327
  [COMPONENT]: this.constructor.id,
328
328
  ...this.testEnvironmentMetadata,
329
- ...testSuiteMetadata
330
- }
329
+ ...testSuiteMetadata,
330
+ },
331
331
  })
332
332
  this.telemetry.ciVisEvent(TELEMETRY_EVENT_CREATED, 'suite')
333
333
  const store = storage('legacy').getStore()
@@ -374,7 +374,7 @@ class VitestPlugin extends CiPlugin {
374
374
  isEarlyFlakeDetectionFaulty,
375
375
  isTestManagementTestsEnabled,
376
376
  vitestPool,
377
- onFinish
377
+ onFinish,
378
378
  }) => {
379
379
  this.testSessionSpan.setTag(TEST_STATUS, status)
380
380
  this.testModuleSpan.setTag(TEST_STATUS, status)
@@ -405,10 +405,31 @@ class VitestPlugin extends CiPlugin {
405
405
  finishAllTraceSpans(this.testSessionSpan)
406
406
  this.telemetry.count(TELEMETRY_TEST_SESSION, {
407
407
  provider: this.ciProviderName,
408
- autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER')
408
+ autoInjected: !!getValueFromEnvSources('DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER'),
409
409
  })
410
410
  this.tracer._exporter.flush(onFinish)
411
411
  })
412
+
413
+ this.addSub('ci:vitest:coverage-report', ({ rootDir, onDone }) => {
414
+ this.handleCoverageReport(rootDir, onDone)
415
+ })
416
+ }
417
+
418
+ /**
419
+ * Handles the coverage report by discovering and uploading it if enabled.
420
+ * @param {string} rootDir - The root directory where coverage reports are located.
421
+ * @param {Function} [onDone] - Callback to signal completion.
422
+ */
423
+ handleCoverageReport (rootDir, onDone) {
424
+ if (!this.libraryConfig?.isCoverageReportUploadEnabled) {
425
+ onDone()
426
+ return
427
+ }
428
+ this.uploadCoverageReports({
429
+ rootDir,
430
+ testEnvironmentMetadata: this.testEnvironmentMetadata,
431
+ onDone,
432
+ })
412
433
  }
413
434
 
414
435
  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,