dd-trace 5.83.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 (630) hide show
  1. package/LICENSE-3rdparty.csv +0 -1
  2. package/ci/cypress/polyfills.js +1 -1
  3. package/ci/init.js +5 -5
  4. package/ext/exporters.js +1 -1
  5. package/ext/formats.js +1 -1
  6. package/ext/index.js +1 -1
  7. package/ext/kinds.js +1 -1
  8. package/ext/priority.js +1 -1
  9. package/ext/scopes.js +1 -1
  10. package/ext/tags.js +1 -1
  11. package/ext/types.js +1 -1
  12. package/index.d.ts +115 -2
  13. package/initialize.mjs +47 -31
  14. package/loader-hook.mjs +35 -22
  15. package/package.json +36 -33
  16. package/packages/datadog-code-origin/index.js +12 -10
  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/compiler.js +6 -0
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +1 -0
  65. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  66. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  67. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +74 -17
  68. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  69. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  70. package/packages/datadog-instrumentations/src/hono.js +6 -6
  71. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  72. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  73. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  74. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  75. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  76. package/packages/datadog-instrumentations/src/jest.js +250 -106
  77. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  78. package/packages/datadog-instrumentations/src/knex.js +2 -2
  79. package/packages/datadog-instrumentations/src/koa.js +3 -1
  80. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  81. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  82. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  83. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  84. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  85. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  86. package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
  87. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  88. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  89. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  90. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  91. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  92. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  93. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  94. package/packages/datadog-instrumentations/src/multer.js +1 -1
  95. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  96. package/packages/datadog-instrumentations/src/net.js +6 -6
  97. package/packages/datadog-instrumentations/src/next.js +6 -6
  98. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  99. package/packages/datadog-instrumentations/src/openai.js +24 -24
  100. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  101. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  103. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  104. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  105. package/packages/datadog-instrumentations/src/passport.js +1 -1
  106. package/packages/datadog-instrumentations/src/pg.js +3 -3
  107. package/packages/datadog-instrumentations/src/pino.js +2 -2
  108. package/packages/datadog-instrumentations/src/playwright.js +71 -67
  109. package/packages/datadog-instrumentations/src/prisma.js +24 -78
  110. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  111. package/packages/datadog-instrumentations/src/promise.js +1 -1
  112. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  113. package/packages/datadog-instrumentations/src/q.js +2 -2
  114. package/packages/datadog-instrumentations/src/redis.js +2 -2
  115. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  116. package/packages/datadog-instrumentations/src/router.js +8 -8
  117. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  118. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  119. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  120. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  121. package/packages/datadog-instrumentations/src/undici.js +2 -2
  122. package/packages/datadog-instrumentations/src/url.js +5 -5
  123. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  124. package/packages/datadog-instrumentations/src/when.js +1 -1
  125. package/packages/datadog-instrumentations/src/winston.js +1 -1
  126. package/packages/datadog-instrumentations/src/ws.js +128 -41
  127. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  128. package/packages/datadog-plugin-ai/src/index.js +1 -1
  129. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  130. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  131. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  132. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  133. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  134. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  135. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  136. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  137. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  138. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  139. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  140. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  141. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  142. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  143. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  144. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  145. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  146. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  147. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  148. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  150. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  151. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  152. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  153. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  154. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  155. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  156. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  157. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  158. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  159. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  160. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  161. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  162. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  163. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  164. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  165. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  166. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  167. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  168. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  169. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  170. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  171. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  172. package/packages/datadog-plugin-cucumber/src/index.js +46 -45
  173. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
  174. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  175. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  176. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  177. package/packages/datadog-plugin-dns/src/index.js +1 -1
  178. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  179. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  180. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  181. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  182. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  183. package/packages/datadog-plugin-express/src/index.js +1 -1
  184. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  185. package/packages/datadog-plugin-fs/src/index.js +2 -2
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
  188. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  189. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  190. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  191. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  192. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  193. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  194. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  195. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  196. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  197. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  198. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  199. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  200. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  201. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  202. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  203. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  204. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  205. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  206. package/packages/datadog-plugin-http/src/client.js +10 -10
  207. package/packages/datadog-plugin-http/src/index.js +1 -1
  208. package/packages/datadog-plugin-http2/src/client.js +6 -6
  209. package/packages/datadog-plugin-http2/src/index.js +1 -1
  210. package/packages/datadog-plugin-http2/src/server.js +1 -1
  211. package/packages/datadog-plugin-jest/src/index.js +39 -22
  212. package/packages/datadog-plugin-jest/src/util.js +1 -1
  213. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  214. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  215. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  216. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  217. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  218. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  219. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  220. package/packages/datadog-plugin-mocha/src/index.js +12 -12
  221. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  222. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  223. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  224. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  225. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  226. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  227. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  228. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  229. package/packages/datadog-plugin-next/src/index.js +4 -4
  230. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  231. package/packages/datadog-plugin-openai/src/index.js +1 -1
  232. package/packages/datadog-plugin-openai/src/services.js +3 -3
  233. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  234. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  235. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  236. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  237. package/packages/datadog-plugin-pg/src/index.js +2 -2
  238. package/packages/datadog-plugin-playwright/src/index.js +42 -42
  239. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
  240. package/packages/datadog-plugin-prisma/src/index.js +129 -10
  241. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  242. package/packages/datadog-plugin-redis/src/index.js +2 -2
  243. package/packages/datadog-plugin-restify/src/index.js +1 -1
  244. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  245. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  246. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  247. package/packages/datadog-plugin-router/src/index.js +3 -3
  248. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  249. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  250. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  251. package/packages/datadog-plugin-undici/src/index.js +5 -5
  252. package/packages/datadog-plugin-vitest/src/index.js +39 -18
  253. package/packages/datadog-plugin-ws/src/close.js +10 -11
  254. package/packages/datadog-plugin-ws/src/index.js +1 -1
  255. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  256. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  257. package/packages/datadog-plugin-ws/src/server.js +17 -12
  258. package/packages/datadog-plugin-ws/src/util.js +48 -16
  259. package/packages/datadog-shimmer/src/shimmer.js +5 -8
  260. package/packages/dd-trace/index.js +2 -2
  261. package/packages/dd-trace/src/agent/info.js +57 -0
  262. package/packages/dd-trace/src/agent/url.js +28 -0
  263. package/packages/dd-trace/src/aiguard/client.js +3 -3
  264. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  265. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  266. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  267. package/packages/dd-trace/src/appsec/activation.js +1 -1
  268. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  269. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  270. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  271. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  272. package/packages/dd-trace/src/appsec/channels.js +1 -1
  273. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  274. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  275. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  278. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  279. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  280. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  281. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  282. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  283. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  284. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  285. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  286. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  287. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  288. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  289. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  290. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  291. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  292. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  293. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  294. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  295. package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
  296. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  297. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  298. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  308. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  309. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  310. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  311. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  312. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  313. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  314. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  315. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  323. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  324. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  325. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  326. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  327. package/packages/dd-trace/src/appsec/index.js +65 -27
  328. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  329. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  330. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  331. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  332. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  333. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  334. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  335. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  336. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  337. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  338. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  339. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  340. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  341. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  342. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  343. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  344. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  345. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  346. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  347. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  348. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  349. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  350. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  351. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  352. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  353. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  354. package/packages/dd-trace/src/azure_metadata.js +16 -9
  355. package/packages/dd-trace/src/baggage.js +1 -1
  356. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  357. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  358. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  359. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
  360. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +11 -11
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +8 -6
  363. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  364. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  365. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +39 -20
  366. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  367. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
  368. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  369. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  370. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  371. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  372. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
  373. package/packages/dd-trace/src/ci-visibility/telemetry.js +8 -4
  374. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  375. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
  376. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  377. package/packages/dd-trace/src/config/defaults.js +1 -1
  378. package/packages/dd-trace/src/config/git_properties.js +1 -1
  379. package/packages/dd-trace/src/config/helper.js +2 -2
  380. package/packages/dd-trace/src/config/index.js +645 -641
  381. package/packages/dd-trace/src/config/remote_config.js +2 -1
  382. package/packages/dd-trace/src/config/stable.js +2 -2
  383. package/packages/dd-trace/src/config/supported-configurations.json +2 -1
  384. package/packages/dd-trace/src/constants.js +3 -3
  385. package/packages/dd-trace/src/crashtracking/crashtracker.js +8 -11
  386. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  387. package/packages/dd-trace/src/datastreams/context.js +1 -1
  388. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  389. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  390. package/packages/dd-trace/src/datastreams/index.js +8 -8
  391. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  392. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  393. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  394. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  395. package/packages/dd-trace/src/datastreams/size.js +3 -3
  396. package/packages/dd-trace/src/datastreams/writer.js +5 -11
  397. package/packages/dd-trace/src/debugger/config.js +2 -1
  398. package/packages/dd-trace/src/debugger/constants.js +7 -0
  399. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  400. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  401. package/packages/dd-trace/src/debugger/devtools_client/config.js +6 -12
  402. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  403. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  404. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  405. package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +10 -11
  406. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  407. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  410. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  411. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  412. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  413. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  414. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  415. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  416. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  417. package/packages/dd-trace/src/debugger/index.js +95 -37
  418. package/packages/dd-trace/src/dogstatsd.js +17 -18
  419. package/packages/dd-trace/src/encode/0.4.js +7 -6
  420. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  421. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  422. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  423. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  424. package/packages/dd-trace/src/exporters/agent/index.js +5 -9
  425. package/packages/dd-trace/src/exporters/agent/writer.js +5 -4
  426. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  427. package/packages/dd-trace/src/exporters/common/{agent-info-exporter.js → buffering-exporter.js} +12 -39
  428. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  429. package/packages/dd-trace/src/exporters/common/request.js +28 -8
  430. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  431. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  432. package/packages/dd-trace/src/exporters/span-stats/index.js +4 -11
  433. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  434. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  435. package/packages/dd-trace/src/flare/index.js +3 -3
  436. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  437. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  438. package/packages/dd-trace/src/id.js +1 -1
  439. package/packages/dd-trace/src/iitm.js +1 -1
  440. package/packages/dd-trace/src/lambda/handler.js +1 -1
  441. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  442. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  443. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  444. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  445. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  446. package/packages/dd-trace/src/llmobs/index.js +2 -4
  447. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  448. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  449. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  450. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  451. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  452. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  453. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  454. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  455. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  456. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  457. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  458. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  459. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  460. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  461. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  462. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  463. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  464. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  465. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  466. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  467. package/packages/dd-trace/src/llmobs/util.js +1 -1
  468. package/packages/dd-trace/src/llmobs/writers/base.js +11 -17
  469. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  470. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  471. package/packages/dd-trace/src/llmobs/writers/util.js +4 -10
  472. package/packages/dd-trace/src/log/channels.js +2 -2
  473. package/packages/dd-trace/src/log/index.js +46 -31
  474. package/packages/dd-trace/src/log/log.js +1 -1
  475. package/packages/dd-trace/src/log/writer.js +14 -79
  476. package/packages/dd-trace/src/noop/span.js +2 -2
  477. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  478. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  479. package/packages/dd-trace/src/openfeature/index.js +2 -2
  480. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  481. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  482. package/packages/dd-trace/src/openfeature/writers/base.js +14 -20
  483. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  484. package/packages/dd-trace/src/openfeature/writers/util.js +4 -9
  485. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  486. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  488. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  489. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  490. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  491. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  492. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  493. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  494. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  495. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  496. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  497. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  498. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  499. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  500. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  501. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  502. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  503. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  504. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  505. package/packages/dd-trace/src/opentracing/span.js +20 -20
  506. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  507. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  508. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  509. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  510. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  511. package/packages/dd-trace/src/plugin_manager.js +6 -6
  512. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  513. package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
  514. package/packages/dd-trace/src/plugins/database.js +1 -1
  515. package/packages/dd-trace/src/plugins/index.js +1 -1
  516. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  517. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  518. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  519. package/packages/dd-trace/src/plugins/producer.js +6 -5
  520. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  521. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  522. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  523. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  524. package/packages/dd-trace/src/plugins/util/git.js +20 -18
  525. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  526. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  527. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  528. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  529. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  530. package/packages/dd-trace/src/plugins/util/test.js +46 -40
  531. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  532. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  533. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  534. package/packages/dd-trace/src/plugins/util/web.js +12 -12
  535. package/packages/dd-trace/src/priority_sampler.js +4 -4
  536. package/packages/dd-trace/src/process-tags/index.js +2 -2
  537. package/packages/dd-trace/src/profiler.js +1 -1
  538. package/packages/dd-trace/src/profiling/config.js +11 -14
  539. package/packages/dd-trace/src/profiling/constants.js +2 -2
  540. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  541. package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
  542. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  543. package/packages/dd-trace/src/profiling/index.js +1 -1
  544. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  545. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  546. package/packages/dd-trace/src/profiling/profiler.js +21 -23
  547. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  548. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  549. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  550. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  551. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  552. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  553. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  554. package/packages/dd-trace/src/proxy.js +13 -13
  555. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  556. package/packages/dd-trace/src/remote_config/capabilities.js +1 -0
  557. package/packages/dd-trace/src/remote_config/index.js +17 -22
  558. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  559. package/packages/dd-trace/src/ritm.js +1 -1
  560. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  561. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  562. package/packages/dd-trace/src/serverless.js +1 -1
  563. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  564. package/packages/dd-trace/src/service-naming/index.js +1 -1
  565. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  566. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  567. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  568. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  569. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  570. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  571. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  572. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  573. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  574. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  575. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  576. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  577. package/packages/dd-trace/src/span_format.js +4 -4
  578. package/packages/dd-trace/src/span_sampler.js +1 -1
  579. package/packages/dd-trace/src/span_stats.js +11 -11
  580. package/packages/dd-trace/src/spanleak.js +1 -1
  581. package/packages/dd-trace/src/standalone/index.js +1 -1
  582. package/packages/dd-trace/src/standalone/product.js +2 -2
  583. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  584. package/packages/dd-trace/src/startup-log.js +4 -4
  585. package/packages/dd-trace/src/tagger.js +3 -1
  586. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  587. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  588. package/packages/dd-trace/src/telemetry/index.js +1 -1
  589. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  590. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  591. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  592. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  593. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  594. package/packages/dd-trace/src/tracer.js +3 -2
  595. package/packages/dd-trace/src/util.js +1 -1
  596. package/scripts/preinstall.js +1 -1
  597. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  598. package/vendor/dist/@datadog/source-map/index.js +1 -1
  599. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  600. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  601. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  602. package/vendor/dist/astring/index.js +1 -1
  603. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  604. package/vendor/dist/escape-string-regexp/index.js +1 -1
  605. package/vendor/dist/esquery/index.js +1 -1
  606. package/vendor/dist/ignore/index.js +1 -1
  607. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  608. package/vendor/dist/jest-docblock/index.js +1 -1
  609. package/vendor/dist/jsonpath-plus/index.js +1 -1
  610. package/vendor/dist/limiter/index.js +1 -1
  611. package/vendor/dist/lodash.sortby/index.js +1 -1
  612. package/vendor/dist/lru-cache/index.js +1 -1
  613. package/vendor/dist/meriyah/index.js +1 -1
  614. package/vendor/dist/module-details-from-path/index.js +1 -1
  615. package/vendor/dist/mutexify/promise/index.js +1 -1
  616. package/vendor/dist/opentracing/index.js +1 -1
  617. package/vendor/dist/path-to-regexp/index.js +1 -1
  618. package/vendor/dist/pprof-format/index.js +1 -1
  619. package/vendor/dist/protobufjs/index.js +1 -1
  620. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  621. package/vendor/dist/retry/index.js +1 -1
  622. package/vendor/dist/rfdc/index.js +1 -1
  623. package/vendor/dist/semifies/index.js +1 -1
  624. package/vendor/dist/shell-quote/index.js +1 -1
  625. package/vendor/dist/source-map/index.js +1 -1
  626. package/vendor/dist/source-map/lib/util/index.js +1 -1
  627. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  628. package/vendor/dist/ttl-set/index.js +1 -1
  629. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  630. package/packages/datadog-plugin-prisma/src/engine.js +0 -81
@@ -3,7 +3,7 @@
3
3
  const log = require('../../log')
4
4
  const { stableStringify } = require('../otlp/otlp_transformer_base')
5
5
  const {
6
- METRIC_TYPES, TEMPORALITY, DEFAULT_HISTOGRAM_BUCKETS, DEFAULT_MAX_MEASUREMENT_QUEUE_SIZE
6
+ METRIC_TYPES, TEMPORALITY, DEFAULT_HISTOGRAM_BUCKETS, DEFAULT_MAX_MEASUREMENT_QUEUE_SIZE,
7
7
  } = require('./constants')
8
8
 
9
9
  /**
@@ -138,7 +138,7 @@ class PeriodicMetricReader {
138
138
  */
139
139
  forceFlush () {
140
140
  if (this.#isShutdown) {
141
- log.warn(`PeriodicMetricReader is shutdown. ${this.#droppedCount} measurement(s) were dropped`)
141
+ log.warn('PeriodicMetricReader is shutdown. %d measurement(s) were dropped', this.#droppedCount)
142
142
  return
143
143
  }
144
144
  this.#collectAndExport()
@@ -210,10 +210,8 @@ class PeriodicMetricReader {
210
210
  }
211
211
 
212
212
  if (this.#droppedCount > 0) {
213
- log.warn(
214
- `Metric queue exceeded limit (max: ${DEFAULT_MAX_MEASUREMENT_QUEUE_SIZE}). ` +
215
- `Dropping ${this.#droppedCount} measurements. `
216
- )
213
+ log.warn('Metric queue exceeded limit (max: %d). Dropping %d measurements.',
214
+ DEFAULT_MAX_MEASUREMENT_QUEUE_SIZE, this.#droppedCount)
217
215
  this.#droppedCount = 0
218
216
  }
219
217
 
@@ -296,7 +294,7 @@ class MetricAggregator {
296
294
  instrumentationScope,
297
295
  value,
298
296
  attributes,
299
- timestamp
297
+ timestamp,
300
298
  } = measurement
301
299
 
302
300
  const scopeKey = this.#getScopeKey(instrumentationScope)
@@ -308,9 +306,11 @@ class MetricAggregator {
308
306
  if (!metric) {
309
307
  if (metricsMap.size >= this.#maxBatchedQueueSize) {
310
308
  log.warn(
311
- `Metric queue exceeded limit (max: ${this.#maxBatchedQueueSize}). ` +
312
- `Dropping metric: ${metricKey}, value: ${value}. ` +
313
- 'Consider increasing OTEL_BSP_MAX_QUEUE_SIZE or decreasing OTEL_METRIC_EXPORT_INTERVAL.'
309
+ // eslint-disable-next-line @stylistic/max-len
310
+ 'Metric queue exceeded limit (max: %d). Dropping metric: %s, value: %s. Consider increasing OTEL_BSP_MAX_QUEUE_SIZE or decreasing OTEL_METRIC_EXPORT_INTERVAL.',
311
+ this.#maxBatchedQueueSize,
312
+ metricKey,
313
+ value
314
314
  )
315
315
  continue
316
316
  }
@@ -321,7 +321,7 @@ class MetricAggregator {
321
321
  type,
322
322
  instrumentationScope,
323
323
  temporality: this.#getTemporality(type),
324
- dataPointMap: new Map()
324
+ dataPointMap: new Map(),
325
325
  }
326
326
  metricsMap.set(metricKey, metric)
327
327
  }
@@ -398,14 +398,14 @@ class MetricAggregator {
398
398
  const lastState = lastExportedState.get(stateKey) || {
399
399
  count: 0,
400
400
  sum: 0,
401
- bucketCounts: new Array(dataPoint.bucketCounts.length).fill(0)
401
+ bucketCounts: new Array(dataPoint.bucketCounts.length).fill(0),
402
402
  }
403
403
  const currentState = {
404
404
  count: dataPoint.count,
405
405
  sum: dataPoint.sum,
406
406
  min: dataPoint.min,
407
407
  max: dataPoint.max,
408
- bucketCounts: [...dataPoint.bucketCounts]
408
+ bucketCounts: [...dataPoint.bucketCounts],
409
409
  }
410
410
  dataPoint.count = currentState.count - lastState.count
411
411
  dataPoint.sum = currentState.sum - lastState.sum
@@ -455,7 +455,7 @@ class MetricAggregator {
455
455
  if (!cumulativeState.has(stateKey)) {
456
456
  cumulativeState.set(stateKey, {
457
457
  value: 0,
458
- startTime: metric.temporality === TEMPORALITY.CUMULATIVE ? this.#startTime : timestamp
458
+ startTime: metric.temporality === TEMPORALITY.CUMULATIVE ? this.#startTime : timestamp,
459
459
  })
460
460
  }
461
461
 
@@ -465,7 +465,7 @@ class MetricAggregator {
465
465
  const dataPoint = this.#findOrCreateDataPoint(metric, attributes, attrKey, () => ({
466
466
  startTimeUnixNano: state.startTime,
467
467
  timeUnixNano: timestamp,
468
- value: 0
468
+ value: 0,
469
469
  }))
470
470
 
471
471
  dataPoint.value = state.value
@@ -485,7 +485,7 @@ class MetricAggregator {
485
485
  #aggregateLastValue (metric, value, attributes, attrKey, timestamp) {
486
486
  const dataPoint = this.#findOrCreateDataPoint(metric, attributes, attrKey, () => ({
487
487
  timeUnixNano: timestamp,
488
- value: 0
488
+ value: 0,
489
489
  }))
490
490
 
491
491
  dataPoint.value = value
@@ -514,7 +514,7 @@ class MetricAggregator {
514
514
  min: Infinity,
515
515
  max: -Infinity,
516
516
  bucketCounts: new Array(DEFAULT_HISTOGRAM_BUCKETS.length + 1).fill(0),
517
- startTime: metric.temporality === TEMPORALITY.CUMULATIVE ? this.#startTime : timestamp
517
+ startTime: metric.temporality === TEMPORALITY.CUMULATIVE ? this.#startTime : timestamp,
518
518
  })
519
519
  }
520
520
 
@@ -542,7 +542,7 @@ class MetricAggregator {
542
542
  min: Infinity,
543
543
  max: -Infinity,
544
544
  bucketCounts: new Array(DEFAULT_HISTOGRAM_BUCKETS.length + 1).fill(0),
545
- explicitBounds: DEFAULT_HISTOGRAM_BUCKETS
545
+ explicitBounds: DEFAULT_HISTOGRAM_BUCKETS,
546
546
  }))
547
547
 
548
548
  dataPoint.count = state.count
@@ -44,12 +44,12 @@ class OtlpHttpExporterBase {
44
44
  timeout,
45
45
  headers: {
46
46
  'Content-Type': isJson ? 'application/json' : 'application/x-protobuf',
47
- ...this.#parseAdditionalHeaders(headers)
48
- }
47
+ ...this.#parseAdditionalHeaders(headers),
48
+ },
49
49
  }
50
50
  this.telemetryTags = [
51
51
  'protocol:http',
52
- `encoding:${isJson ? 'json' : 'protobuf'}`
52
+ `encoding:${isJson ? 'json' : 'protobuf'}`,
53
53
  ]
54
54
  }
55
55
 
@@ -79,8 +79,8 @@ class OtlpHttpExporterBase {
79
79
  ...this.options,
80
80
  headers: {
81
81
  ...this.options.headers,
82
- 'Content-Length': payload.length
83
- }
82
+ 'Content-Length': payload.length,
83
+ },
84
84
  }
85
85
 
86
86
  const req = http.request(options, (res) => {
@@ -101,7 +101,7 @@ class OtlpHttpExporterBase {
101
101
  })
102
102
 
103
103
  req.on('error', (error) => {
104
- log.error(`Error sending OTLP ${this.signalType}:`, error)
104
+ log.error('Error sending OTLP %s:', this.signalType, error)
105
105
  resultCallback({ code: 1, error })
106
106
  })
107
107
 
@@ -28,8 +28,11 @@ class OtlpTransformerBase {
28
28
  constructor (resourceAttributes, protocol, signalType) {
29
29
  this.#resourceAttributes = this.transformAttributes(resourceAttributes)
30
30
  if (protocol === 'grpc') {
31
- log.warn(`OTLP gRPC protocol is not supported for ${signalType}. ` +
32
- 'Defaulting to http/protobuf. gRPC protobuf support may be added in a future release.')
31
+ log.warn(
32
+ // eslint-disable-next-line @stylistic/max-len
33
+ 'OTLP gRPC protocol is not supported for %s. Defaulting to http/protobuf. gRPC protobuf support may be added in a future release.',
34
+ signalType
35
+ )
33
36
  protocol = 'http/protobuf'
34
37
  }
35
38
  this.protocol = protocol
@@ -68,7 +71,7 @@ class OtlpTransformerBase {
68
71
  transformResource () {
69
72
  return {
70
73
  attributes: this.#resourceAttributes,
71
- droppedAttributesCount: 0
74
+ droppedAttributesCount: 0,
72
75
  }
73
76
  }
74
77
 
@@ -81,7 +84,7 @@ class OtlpTransformerBase {
81
84
  transformAttributes (attributes) {
82
85
  return Object.entries(attributes).map(([key, value]) => ({
83
86
  key,
84
- value: this.transformAnyValue(value)
87
+ value: this.transformAnyValue(value),
85
88
  }))
86
89
  }
87
90
 
@@ -96,7 +99,7 @@ class OtlpTransformerBase {
96
99
 
97
100
  return Object.entries(attributes).map(([key, value]) => ({
98
101
  key,
99
- value: { stringValue: String(value) }
102
+ value: { stringValue: String(value) },
100
103
  }))
101
104
  }
102
105
 
@@ -121,8 +124,8 @@ class OtlpTransformerBase {
121
124
  } else if (Array.isArray(value)) {
122
125
  return {
123
126
  arrayValue: {
124
- values: value.map(v => this.transformAnyValue(v))
125
- }
127
+ values: value.map(v => this.transformAnyValue(v)),
128
+ },
126
129
  }
127
130
  }
128
131
  // Fallback for any unexpected types
@@ -29,7 +29,7 @@ function getProtobufTypes () {
29
29
  protoLogsService,
30
30
  protoSeverityNumber,
31
31
  protoMetricsService,
32
- protoAggregationTemporality
32
+ protoAggregationTemporality,
33
33
  }
34
34
  }
35
35
  // Load the proto files
@@ -40,7 +40,7 @@ function getProtobufTypes () {
40
40
  'logs.proto',
41
41
  'logs_service.proto',
42
42
  'metrics.proto',
43
- 'metrics_service.proto'
43
+ 'metrics_service.proto',
44
44
  ].map(file => path.join(protoDir, file))
45
45
 
46
46
  _root = protobuf.loadSync(protoFiles)
@@ -57,7 +57,7 @@ function getProtobufTypes () {
57
57
  protoLogsService,
58
58
  protoSeverityNumber,
59
59
  protoMetricsService,
60
- protoAggregationTemporality
60
+ protoAggregationTemporality,
61
61
  }
62
62
  }
63
63
 
@@ -40,7 +40,7 @@ const spanKindNames = {
40
40
  [api.SpanKind.SERVER]: kinds.SERVER,
41
41
  [api.SpanKind.CLIENT]: kinds.CLIENT,
42
42
  [api.SpanKind.PRODUCER]: kinds.PRODUCER,
43
- [api.SpanKind.CONSUMER]: kinds.CONSUMER
43
+ [api.SpanKind.CONSUMER]: kinds.CONSUMER,
44
44
  }
45
45
 
46
46
  /**
@@ -147,9 +147,9 @@ class Span {
147
147
  tags: {
148
148
  [SERVICE_NAME]: _tracer._service,
149
149
  [RESOURCE_NAME]: spanName,
150
- [SPAN_KIND]: spanKindNames[kind]
150
+ [SPAN_KIND]: spanKindNames[kind],
151
151
  },
152
- links
152
+ links,
153
153
  }, _tracer._debug)
154
154
 
155
155
  if (attributes) {
@@ -226,20 +226,20 @@ class Span {
226
226
  }
227
227
 
228
228
  addLinks (links) {
229
- links.forEach(link => this.addLink(link))
229
+ for (const link of links) this.addLink(link)
230
230
  return this
231
231
  }
232
232
 
233
233
  addSpanPointer (ptrKind, ptrDir, ptrHash) {
234
234
  const zeroContext = new SpanContext({
235
235
  traceId: id('0'),
236
- spanId: id('0')
236
+ spanId: id('0'),
237
237
  })
238
238
  const attributes = {
239
239
  'ptr.kind': ptrKind,
240
240
  'ptr.dir': ptrDir,
241
241
  'ptr.hash': ptrHash,
242
- 'link.kind': 'span-pointer'
242
+ 'link.kind': 'span-pointer',
243
243
  }
244
244
  return this.addLink(zeroContext, attributes)
245
245
  }
@@ -250,7 +250,7 @@ class Span {
250
250
  if (code === 2) {
251
251
  this._ddSpan.addTags({
252
252
  [ERROR_MESSAGE]: message,
253
- [IGNORE_OTEL_ERROR]: false
253
+ [IGNORE_OTEL_ERROR]: false,
254
254
  })
255
255
  }
256
256
  }
@@ -295,7 +295,7 @@ class Span {
295
295
  [ERROR_TYPE]: exception.name,
296
296
  [ERROR_MESSAGE]: exception.message,
297
297
  [ERROR_STACK]: exception.stack,
298
- [IGNORE_OTEL_ERROR]: this._ddSpan.context()._tags[IGNORE_OTEL_ERROR] ?? true
298
+ [IGNORE_OTEL_ERROR]: this._ddSpan.context()._tags[IGNORE_OTEL_ERROR] ?? true,
299
299
  })
300
300
  const attributes = {}
301
301
  if (exception.message) attributes['exception.message'] = exception.message
@@ -9,7 +9,7 @@ function newContext () {
9
9
  const spanId = id()
10
10
  return new DatadogSpanContext({
11
11
  traceId: spanId,
12
- spanId
12
+ spanId,
13
13
  })
14
14
  }
15
15
 
@@ -46,5 +46,5 @@ class MultiSpanProcessor extends NoopSpanProcessor {
46
46
 
47
47
  module.exports = {
48
48
  MultiSpanProcessor,
49
- NoopSpanProcessor
49
+ NoopSpanProcessor,
50
50
  }
@@ -43,7 +43,7 @@ function normalizeLinkContext (context) {
43
43
  traceId: id(context.traceId, 16),
44
44
  spanId: id(context.spanId, 16),
45
45
  sampling,
46
- tracestate
46
+ tracestate,
47
47
  })
48
48
  }
49
49
 
@@ -70,7 +70,7 @@ class Tracer {
70
70
  sampling: parentSpanContext._sampling,
71
71
  baggageItems: { ...parentSpanContext._baggageItems },
72
72
  trace: parentSpanContext._trace,
73
- tracestate: parentSpanContext._tracestate
73
+ tracestate: parentSpanContext._tracestate,
74
74
  })
75
75
  }
76
76
 
@@ -118,7 +118,7 @@ class Tracer {
118
118
  }
119
119
 
120
120
  const spanContext = new SpanContext({
121
- traceId: id(traceId, 16), spanId: id(), tags: meta, parentId: id(spanId, 16)
121
+ traceId: id(traceId, 16), spanId: id(), tags: meta, parentId: id(spanId, 16),
122
122
  })
123
123
 
124
124
  spanContext._sampling = { priority: samplingPriority }
@@ -151,7 +151,7 @@ class Tracer {
151
151
 
152
152
  links.push({
153
153
  context: ddContext,
154
- attributes: sanitizeAttributes(link.attributes)
154
+ attributes: sanitizeAttributes(link.attributes),
155
155
  })
156
156
  }
157
157
  }
@@ -37,7 +37,7 @@ class LogPropagator {
37
37
  const lo = carrier.dd.trace_id.slice(16, 32)
38
38
  const spanContext = new DatadogSpanContext({
39
39
  traceId: id(lo, 16),
40
- spanId: id(carrier.dd.span_id, 10)
40
+ spanId: id(carrier.dd.span_id, 10),
41
41
  })
42
42
 
43
43
  spanContext._trace.tags['_dd.p.tid'] = hi
@@ -46,7 +46,7 @@ class LogPropagator {
46
46
  }
47
47
  return new DatadogSpanContext({
48
48
  traceId: id(carrier.dd.trace_id, 10),
49
- spanId: id(carrier.dd.span_id, 10)
49
+ spanId: id(carrier.dd.span_id, 10),
50
50
  })
51
51
  }
52
52
  }
@@ -83,6 +83,7 @@ class TextMapPropagator {
83
83
  injectCh.publish({ spanContext, carrier })
84
84
  }
85
85
 
86
+ // eslint-disable-next-line eslint-rules/eslint-log-printf-style
86
87
  log.debug(() => `Inject into carrier: ${JSON.stringify(pick(carrier, logKeys))}.`)
87
88
  }
88
89
 
@@ -95,6 +96,7 @@ class TextMapPropagator {
95
96
  extractCh.publish({ spanContext, carrier })
96
97
  }
97
98
 
99
+ // eslint-disable-next-line eslint-rules/eslint-log-printf-style
98
100
  log.debug(() => {
99
101
  const keys = JSON.stringify(pick(carrier, logKeys))
100
102
  const styles = this._config.tracePropagationStyle.extract.join(', ')
@@ -263,7 +265,7 @@ class TextMapPropagator {
263
265
  const {
264
266
  _sampling: { priority, mechanism },
265
267
  _tracestate: ts = new TraceState(),
266
- _trace: { origin, tags }
268
+ _trace: { origin, tags },
267
269
  } = spanContext
268
270
 
269
271
  carrier[traceparentKey] = spanContext.toTraceparent()
@@ -393,7 +395,7 @@ class TextMapPropagator {
393
395
  extractedContext.toTraceId(true) !== context.toTraceId(true)) {
394
396
  const link = {
395
397
  context: extractedContext,
396
- attributes: { reason: 'terminated_context', context_headers: extractor }
398
+ attributes: { reason: 'terminated_context', context_headers: extractor },
397
399
  }
398
400
  context._links.push(link)
399
401
  }
@@ -409,8 +411,8 @@ class TextMapPropagator {
409
411
  context,
410
412
  attributes:
411
413
  {
412
- reason: 'propagation_behavior_extract', context_headers: style
413
- }
414
+ reason: 'propagation_behavior_extract', context_headers: style,
415
+ },
414
416
  })
415
417
  }
416
418
  this._extractBaggageItems(carrier, context)
@@ -466,7 +468,7 @@ class TextMapPropagator {
466
468
  traceId: id(),
467
469
  spanId: null,
468
470
  sampling: { priority },
469
- isRemote: true
471
+ isRemote: true,
470
472
  })
471
473
  }
472
474
 
@@ -517,7 +519,7 @@ class TextMapPropagator {
517
519
  isRemote: true,
518
520
  sampling: { priority: Number.parseInt(flags, 10) & 1 ? 1 : 0 },
519
521
  traceparent,
520
- tracestate
522
+ tracestate,
521
523
  })
522
524
 
523
525
  this._extract128BitTraceId(traceId, spanContext)
@@ -582,7 +584,7 @@ class TextMapPropagator {
582
584
  return new DatadogSpanContext({
583
585
  traceId: id(carrier[traceKey], radix),
584
586
  spanId: id(carrier[spanKey], radix),
585
- isRemote: true
587
+ isRemote: true,
586
588
  })
587
589
  }
588
590
 
@@ -621,16 +623,16 @@ class TextMapPropagator {
621
623
  if (parts[0] === 'd') {
622
624
  return {
623
625
  [b3SampledKey]: '1',
624
- [b3FlagsKey]: '1'
626
+ [b3FlagsKey]: '1',
625
627
  }
626
628
  } else if (parts.length === 1) {
627
629
  return {
628
- [b3SampledKey]: parts[0]
630
+ [b3SampledKey]: parts[0],
629
631
  }
630
632
  }
631
633
  const b3 = {
632
634
  [b3TraceKey]: parts[0],
633
- [b3SpanKey]: parts[1]
635
+ [b3SpanKey]: parts[1],
634
636
  }
635
637
 
636
638
  if (parts[2]) {
@@ -654,13 +656,13 @@ class TextMapPropagator {
654
656
 
655
657
  _extractLegacyBaggageItems (carrier, spanContext) {
656
658
  if (this._config.legacyBaggageEnabled) {
657
- Object.keys(carrier).forEach(key => {
659
+ for (const key of Object.keys(carrier)) {
658
660
  const match = key.match(baggageExpr)
659
661
 
660
662
  if (match) {
661
663
  spanContext._baggageItems[match[1]] = carrier[key]
662
664
  }
663
- })
665
+ }
664
666
  }
665
667
  }
666
668
 
@@ -18,6 +18,7 @@ class DSMTextMapPropagator {
18
18
 
19
19
  this._injectDatadogDSMContext(ctx, carrier)
20
20
 
21
+ // eslint-disable-next-line eslint-rules/eslint-log-printf-style
21
22
  log.debug(() => `Inject into carrier (DSM): ${JSON.stringify(pick(carrier, logKeys))}.`)
22
23
  }
23
24
 
@@ -28,6 +29,7 @@ class DSMTextMapPropagator {
28
29
 
29
30
  if (!dsmContext) return dsmContext
30
31
 
32
+ // eslint-disable-next-line eslint-rules/eslint-log-printf-style
31
33
  log.debug(() => `Extract from carrier (DSM): ${JSON.stringify(pick(carrier, logKeys))}.`)
32
34
  return dsmContext
33
35
  }
@@ -28,7 +28,7 @@ const ALLOWED = new Set(['string', 'number', 'boolean'])
28
28
 
29
29
  const integrationCounters = {
30
30
  spans_created: {},
31
- spans_finished: {}
31
+ spans_finished: {},
32
32
  }
33
33
 
34
34
  const startCh = channel('dd-trace:span:start')
@@ -43,7 +43,7 @@ function getIntegrationCounter (event, integration) {
43
43
 
44
44
  const counter = tracerMetrics.count(event, [
45
45
  `integration_name:${integration.toLowerCase()}`,
46
- `otel_enabled:${OTEL_ENABLED}`
46
+ `otel_enabled:${OTEL_ENABLED}`,
47
47
  ])
48
48
 
49
49
  integrationCounters[event][integration] = counter
@@ -88,7 +88,7 @@ class DatadogSpan {
88
88
 
89
89
  this._links = fields.links?.map(link => ({
90
90
  context: link.context._ddContext ?? link.context,
91
- attributes: this._sanitizeAttributes(link.attributes)
91
+ attributes: this._sanitizeAttributes(link.attributes),
92
92
  })) ?? []
93
93
 
94
94
  if (DD_TRACE_EXPERIMENTAL_SPAN_COUNTS && finishedRegistry) {
@@ -123,7 +123,7 @@ class DatadogSpan {
123
123
  ...this,
124
124
  _parentTracer: `[${this._parentTracer.constructor.name}]`,
125
125
  _prioritySampler: `[${this._prioritySampler.constructor.name}]`,
126
- _processor: `[${this._processor.constructor.name}]`
126
+ _processor: `[${this._processor.constructor.name}]`,
127
127
  }
128
128
  }
129
129
 
@@ -139,7 +139,7 @@ class DatadogSpan {
139
139
  parentId: spanContext._parentId,
140
140
  service: spanContext._tags['service.name'],
141
141
  name: spanContext._name,
142
- resource
142
+ resource,
143
143
  })
144
144
 
145
145
  return `Span${json}`
@@ -208,25 +208,27 @@ class DatadogSpan {
208
208
 
209
209
  this._links.push({
210
210
  context: context._ddContext ?? context,
211
- attributes: this._sanitizeAttributes(attributes)
211
+ attributes: this._sanitizeAttributes(attributes),
212
212
  })
213
213
  }
214
214
 
215
215
  addLinks (links) {
216
- links.forEach(link => this.addLink(link))
216
+ for (const link of links) {
217
+ this.addLink(link)
218
+ }
217
219
  return this
218
220
  }
219
221
 
220
222
  addSpanPointer (ptrKind, ptrDir, ptrHash) {
221
223
  const zeroContext = new SpanContext({
222
224
  traceId: id('0'),
223
- spanId: id('0')
225
+ spanId: id('0'),
224
226
  })
225
227
  const attributes = {
226
228
  'ptr.kind': ptrKind,
227
229
  'ptr.dir': ptrDir,
228
230
  'ptr.hash': ptrHash,
229
- 'link.kind': 'span-pointer'
231
+ 'link.kind': 'span-pointer',
230
232
  }
231
233
  this.addLink({ context: zeroContext, attributes })
232
234
  }
@@ -234,7 +236,7 @@ class DatadogSpan {
234
236
  addEvent (name, attributesOrStartTime, startTime) {
235
237
  const event = { name }
236
238
  if (attributesOrStartTime) {
237
- if (typeof attributesOrStartTime === 'object') { // eslint-disable-line eslint-rules/eslint-safe-typeof-object
239
+ if (typeof attributesOrStartTime === 'object') {
238
240
  event.attributes = this._sanitizeEventAttributes(attributesOrStartTime)
239
241
  } else {
240
242
  startTime = attributesOrStartTime
@@ -297,23 +299,21 @@ class DatadogSpan {
297
299
  }
298
300
  }
299
301
 
300
- Object.entries(attributes).forEach(entry => {
301
- const [key, value] = entry
302
+ for (const [key, value] of Object.entries(attributes)) {
302
303
  addArrayOrScalarAttributes(key, value)
303
- })
304
+ }
304
305
  return sanitizedAttributes
305
306
  }
306
307
 
307
308
  _sanitizeEventAttributes (attributes = {}) {
308
309
  const sanitizedAttributes = {}
309
310
 
310
- for (const key in attributes) {
311
- const value = attributes[key]
311
+ for (const [key, value] of Object.entries(attributes)) {
312
312
  if (Array.isArray(value)) {
313
313
  const newArray = []
314
- for (const subkey in value) {
315
- if (ALLOWED.has(typeof value[subkey])) {
316
- newArray.push(value[subkey])
314
+ for (const subvalue of Object.values(value)) {
315
+ if (ALLOWED.has(typeof subvalue)) {
316
+ newArray.push(subvalue)
317
317
  } else {
318
318
  log.warn('Dropping span event attribute. It is not of an allowed type')
319
319
  }
@@ -351,7 +351,7 @@ class DatadogSpan {
351
351
  sampling: parent._sampling,
352
352
  baggageItems: { ...parent._baggageItems },
353
353
  trace: parent._trace,
354
- tracestate: parent._tracestate
354
+ tracestate: parent._tracestate,
355
355
  })
356
356
 
357
357
  if (!spanContext._trace.startTime) {
@@ -362,7 +362,7 @@ class DatadogSpan {
362
362
  startTime = dateNow()
363
363
  spanContext = new SpanContext({
364
364
  traceId: spanId,
365
- spanId
365
+ spanId,
366
366
  })
367
367
  spanContext._trace.startTime = startTime
368
368
 
@@ -27,7 +27,7 @@ class DatadogSpanContext {
27
27
  this._trace = props.trace || {
28
28
  started: [],
29
29
  finished: [],
30
- tags: {}
30
+ tags: {},
31
31
  }
32
32
  this._otelSpanContext = undefined
33
33
  }
@@ -38,8 +38,8 @@ class DatadogSpanContext {
38
38
  _trace: {
39
39
  ...this._trace,
40
40
  started: '[Array]',
41
- finished: '[Array]'
42
- }
41
+ finished: '[Array]',
42
+ },
43
43
  }
44
44
  }
45
45
 
@@ -40,7 +40,7 @@ class DatadogTracer {
40
40
  [formats.HTTP_HEADERS]: new HttpPropagator(config),
41
41
  [formats.BINARY]: new BinaryPropagator(config),
42
42
  [formats.LOG]: new LogPropagator(config),
43
- [formats.TEXT_MAP_DSM]: new DSMTextMapPropagator(config)
43
+ [formats.TEXT_MAP_DSM]: new DSMTextMapPropagator(config),
44
44
  }
45
45
  if (config.reportHostname) {
46
46
  this._hostname = os.hostname()
@@ -54,7 +54,7 @@ class DatadogTracer {
54
54
 
55
55
  // as per spec, allow the setting of service name through options
56
56
  const tags = {
57
- 'service.name': options?.tags?.service ? String(options.tags.service) : this._service
57
+ 'service.name': options?.tags?.service ? String(options.tags.service) : this._service,
58
58
  }
59
59
 
60
60
  // As per unified service tagging spec if a span is created with a service name different from the global
@@ -71,7 +71,7 @@ class DatadogTracer {
71
71
  hostname: this._hostname,
72
72
  traceId128BitGenerationEnabled: this._traceId128BitGenerationEnabled,
73
73
  integrationName: options.integrationName,
74
- links: options.links
74
+ links: options.links,
75
75
  }, this._debug)
76
76
 
77
77
  span.addTags(this._config.tags)
@@ -19,7 +19,7 @@ function getSDKRules (sdk, requestInput, responseInput) {
19
19
  // the rules to the same object.
20
20
  request: [...serviceRules.request, ...requestInput],
21
21
  response: [...serviceRules.response, ...responseInput],
22
- expand: serviceRules.expand
22
+ expand: serviceRules.expand,
23
23
  }
24
24
  }
25
25
  return sdkServiceRules