dd-trace 5.81.0 → 5.82.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 (321) hide show
  1. package/index.d.ts +7 -0
  2. package/loader-hook.mjs +7 -2
  3. package/package.json +13 -18
  4. package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
  5. package/packages/datadog-esbuild/index.js +8 -7
  6. package/packages/datadog-esbuild/src/utils.js +14 -2
  7. package/packages/datadog-instrumentations/src/aerospike.js +3 -2
  8. package/packages/datadog-instrumentations/src/ai.js +2 -2
  9. package/packages/datadog-instrumentations/src/amqp10.js +1 -1
  10. package/packages/datadog-instrumentations/src/amqplib.js +4 -4
  11. package/packages/datadog-instrumentations/src/anthropic.js +2 -2
  12. package/packages/datadog-instrumentations/src/apollo-server-core.js +2 -2
  13. package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
  14. package/packages/datadog-instrumentations/src/apollo.js +3 -2
  15. package/packages/datadog-instrumentations/src/avsc.js +1 -1
  16. package/packages/datadog-instrumentations/src/aws-sdk.js +1 -1
  17. package/packages/datadog-instrumentations/src/azure-event-hubs.js +4 -3
  18. package/packages/datadog-instrumentations/src/azure-functions.js +2 -2
  19. package/packages/datadog-instrumentations/src/azure-service-bus.js +3 -4
  20. package/packages/datadog-instrumentations/src/bluebird.js +1 -1
  21. package/packages/datadog-instrumentations/src/bullmq.js +11 -0
  22. package/packages/datadog-instrumentations/src/bunyan.js +1 -1
  23. package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
  24. package/packages/datadog-instrumentations/src/child_process.js +2 -2
  25. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +3 -3
  26. package/packages/datadog-instrumentations/src/couchbase.js +1 -1
  27. package/packages/datadog-instrumentations/src/crypto.js +1 -1
  28. package/packages/datadog-instrumentations/src/cucumber.js +12 -13
  29. package/packages/datadog-instrumentations/src/cypress.js +1 -1
  30. package/packages/datadog-instrumentations/src/dns.js +1 -1
  31. package/packages/datadog-instrumentations/src/elasticsearch.js +1 -1
  32. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +1 -1
  33. package/packages/datadog-instrumentations/src/express.js +1 -1
  34. package/packages/datadog-instrumentations/src/fs.js +1 -1
  35. package/packages/datadog-instrumentations/src/generic-pool.js +1 -1
  36. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +137 -15
  37. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -3
  38. package/packages/datadog-instrumentations/src/google-genai.js +3 -3
  39. package/packages/datadog-instrumentations/src/graphql.js +1 -1
  40. package/packages/datadog-instrumentations/src/grpc/client.js +1 -1
  41. package/packages/datadog-instrumentations/src/grpc/server.js +1 -1
  42. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
  43. package/packages/datadog-instrumentations/src/helpers/hook.js +1 -1
  44. package/packages/datadog-instrumentations/src/helpers/hooks.js +4 -1
  45. package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -1
  46. package/packages/datadog-instrumentations/src/helpers/register.js +6 -4
  47. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -2
  48. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +106 -0
  49. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -1
  50. package/packages/datadog-instrumentations/src/helpers/router-helper.js +1 -1
  51. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +9 -0
  52. package/packages/datadog-instrumentations/src/hono.js +55 -10
  53. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  54. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  55. package/packages/datadog-instrumentations/src/jest.js +2 -2
  56. package/packages/datadog-instrumentations/src/kafkajs.js +3 -3
  57. package/packages/datadog-instrumentations/src/knex.js +1 -1
  58. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  59. package/packages/datadog-instrumentations/src/light-my-request.js +93 -0
  60. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  61. package/packages/datadog-instrumentations/src/lodash.js +1 -2
  62. package/packages/datadog-instrumentations/src/mariadb.js +1 -2
  63. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  64. package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
  65. package/packages/datadog-instrumentations/src/mongodb.js +1 -1
  66. package/packages/datadog-instrumentations/src/mongoose.js +1 -1
  67. package/packages/datadog-instrumentations/src/mquery.js +1 -1
  68. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  69. package/packages/datadog-instrumentations/src/mysql2.js +1 -1
  70. package/packages/datadog-instrumentations/src/net.js +1 -1
  71. package/packages/datadog-instrumentations/src/next.js +1 -1
  72. package/packages/datadog-instrumentations/src/nyc.js +1 -1
  73. package/packages/datadog-instrumentations/src/openai.js +2 -2
  74. package/packages/datadog-instrumentations/src/opensearch.js +1 -1
  75. package/packages/datadog-instrumentations/src/oracledb.js +1 -1
  76. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  77. package/packages/datadog-instrumentations/src/pg.js +3 -3
  78. package/packages/datadog-instrumentations/src/pino.js +1 -1
  79. package/packages/datadog-instrumentations/src/playwright.js +1 -1
  80. package/packages/datadog-instrumentations/src/prisma.js +52 -37
  81. package/packages/datadog-instrumentations/src/process.js +1 -1
  82. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  83. package/packages/datadog-instrumentations/src/promise.js +1 -1
  84. package/packages/datadog-instrumentations/src/protobufjs.js +1 -1
  85. package/packages/datadog-instrumentations/src/q.js +1 -1
  86. package/packages/datadog-instrumentations/src/redis.js +1 -1
  87. package/packages/datadog-instrumentations/src/rhea.js +1 -1
  88. package/packages/datadog-instrumentations/src/selenium.js +1 -1
  89. package/packages/datadog-instrumentations/src/sequelize.js +1 -2
  90. package/packages/datadog-instrumentations/src/sharedb.js +1 -1
  91. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  92. package/packages/datadog-instrumentations/src/undici.js +4 -4
  93. package/packages/datadog-instrumentations/src/url.js +1 -1
  94. package/packages/datadog-instrumentations/src/vitest.js +1 -1
  95. package/packages/datadog-instrumentations/src/vm.js +1 -1
  96. package/packages/datadog-instrumentations/src/when.js +1 -1
  97. package/packages/datadog-instrumentations/src/winston.js +1 -1
  98. package/packages/datadog-instrumentations/src/ws.js +3 -2
  99. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  100. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  101. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  102. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  103. package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +4 -4
  104. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
  105. package/packages/datadog-plugin-aws-sdk/src/util.js +3 -3
  106. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  107. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +19 -5
  108. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  109. package/packages/datadog-plugin-azure-service-bus/src/producer.js +4 -0
  110. package/packages/datadog-plugin-bullmq/src/consumer.js +60 -0
  111. package/packages/datadog-plugin-bullmq/src/index.js +18 -0
  112. package/packages/datadog-plugin-bullmq/src/producer.js +178 -0
  113. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  114. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  115. package/packages/datadog-plugin-express/src/index.js +1 -1
  116. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  117. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +13 -3
  118. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +171 -12
  119. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -2
  120. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +160 -13
  121. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +217 -0
  122. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  123. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  124. package/packages/datadog-plugin-graphql/src/resolve.js +1 -1
  125. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  126. package/packages/datadog-plugin-http/src/client.js +2 -1
  127. package/packages/datadog-plugin-http/src/index.js +25 -5
  128. package/packages/datadog-plugin-http2/src/client.js +2 -2
  129. package/packages/datadog-plugin-http2/src/index.js +1 -1
  130. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  131. package/packages/datadog-plugin-langchain/src/index.js +1 -1
  132. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  133. package/packages/datadog-plugin-mongodb-core/src/index.js +6 -2
  134. package/packages/datadog-plugin-openai/src/index.js +1 -1
  135. package/packages/datadog-plugin-openai/src/stream-helpers.js +30 -10
  136. package/packages/datadog-plugin-openai/src/tracing.js +2 -2
  137. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  138. package/packages/datadog-plugin-ws/src/close.js +56 -3
  139. package/packages/datadog-plugin-ws/src/index.js +4 -0
  140. package/packages/datadog-plugin-ws/src/producer.js +39 -4
  141. package/packages/datadog-plugin-ws/src/receiver.js +39 -3
  142. package/packages/datadog-plugin-ws/src/server.js +13 -1
  143. package/packages/datadog-plugin-ws/src/util.js +107 -0
  144. package/packages/datadog-shimmer/src/shimmer.js +2 -2
  145. package/packages/dd-trace/src/aiguard/sdk.js +3 -3
  146. package/packages/dd-trace/src/appsec/graphql.js +2 -2
  147. package/packages/dd-trace/src/appsec/iast/analyzers/code-injection-analyzer.js +1 -1
  148. package/packages/dd-trace/src/appsec/iast/analyzers/command-injection-analyzer.js +1 -1
  149. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  150. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +1 -1
  151. package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +1 -1
  152. package/packages/dd-trace/src/appsec/iast/analyzers/ldap-injection-analyzer.js +1 -1
  153. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +3 -3
  154. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +1 -1
  155. package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +1 -1
  156. package/packages/dd-trace/src/appsec/iast/analyzers/untrusted-deserialization-analyzer.js +1 -1
  157. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +1 -1
  158. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  159. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +3 -2
  160. package/packages/dd-trace/src/appsec/iast/analyzers/weak-randomness-analyzer.js +1 -1
  161. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +3 -3
  162. package/packages/dd-trace/src/appsec/iast/index.js +5 -5
  163. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +1 -1
  164. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +1 -2
  165. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +1 -1
  166. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -1
  167. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +10 -14
  168. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +1 -1
  169. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +1 -1
  170. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +3 -3
  171. package/packages/dd-trace/src/appsec/index.js +8 -8
  172. package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
  173. package/packages/dd-trace/src/appsec/rasp/index.js +1 -1
  174. package/packages/dd-trace/src/appsec/rasp/lfi.js +1 -1
  175. package/packages/dd-trace/src/appsec/rc-products.js +10 -0
  176. package/packages/dd-trace/src/appsec/recommended.json +230 -3
  177. package/packages/dd-trace/src/appsec/remote_config.js +177 -0
  178. package/packages/dd-trace/src/appsec/reporter.js +3 -3
  179. package/packages/dd-trace/src/appsec/rule_manager.js +37 -20
  180. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  181. package/packages/dd-trace/src/appsec/sdk/set_user.js +1 -1
  182. package/packages/dd-trace/src/appsec/sdk/track_event.js +2 -2
  183. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +2 -2
  184. package/packages/dd-trace/src/appsec/user_tracking.js +2 -2
  185. package/packages/dd-trace/src/appsec/waf/index.js +17 -3
  186. package/packages/dd-trace/src/appsec/waf/waf_manager.js +11 -0
  187. package/packages/dd-trace/src/azure_metadata.js +8 -2
  188. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +6 -0
  189. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -2
  190. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +1 -1
  191. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
  192. package/packages/dd-trace/src/config/remote_config.js +34 -0
  193. package/packages/dd-trace/src/config.js +29 -28
  194. package/packages/dd-trace/src/config_defaults.js +2 -1
  195. package/packages/dd-trace/src/constants.js +5 -0
  196. package/packages/dd-trace/src/crashtracking/crashtracker.js +10 -1
  197. package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
  198. package/packages/dd-trace/src/datastreams/index.js +1 -1
  199. package/packages/dd-trace/src/datastreams/pathway.js +7 -7
  200. package/packages/dd-trace/src/datastreams/processor.js +2 -2
  201. package/packages/dd-trace/src/datastreams/writer.js +2 -2
  202. package/packages/dd-trace/src/debugger/config.js +1 -0
  203. package/packages/dd-trace/src/debugger/devtools_client/config.js +1 -1
  204. package/packages/dd-trace/src/debugger/devtools_client/index.js +7 -2
  205. package/packages/dd-trace/src/debugger/devtools_client/send.js +3 -3
  206. package/packages/dd-trace/src/debugger/devtools_client/session.js +1 -1
  207. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +5 -5
  208. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +2 -2
  209. package/packages/dd-trace/src/debugger/devtools_client/state.js +1 -1
  210. package/packages/dd-trace/src/debugger/devtools_client/status.js +2 -2
  211. package/packages/dd-trace/src/debugger/index.js +1 -1
  212. package/packages/dd-trace/src/dogstatsd.js +3 -2
  213. package/packages/dd-trace/src/encode/0.4.js +1 -1
  214. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +2 -2
  215. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
  216. package/packages/dd-trace/src/encode/span-stats.js +6 -1
  217. package/packages/dd-trace/src/exporter.js +2 -2
  218. package/packages/dd-trace/src/exporters/agent/index.js +1 -1
  219. package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +1 -1
  220. package/packages/dd-trace/src/exporters/common/request.js +2 -2
  221. package/packages/dd-trace/src/exporters/common/writer.js +1 -1
  222. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  223. package/packages/dd-trace/src/external-logger/src/index.js +1 -2
  224. package/packages/dd-trace/src/flare/index.js +1 -1
  225. package/packages/dd-trace/src/guardrails/index.js +6 -3
  226. package/packages/dd-trace/src/id.js +1 -1
  227. package/packages/dd-trace/src/index.js +1 -1
  228. package/packages/dd-trace/src/lambda/handler.js +4 -4
  229. package/packages/dd-trace/src/lambda/index.js +1 -1
  230. package/packages/dd-trace/src/lambda/runtime/patch.js +4 -4
  231. package/packages/dd-trace/src/lambda/runtime/ritm.js +1 -1
  232. package/packages/dd-trace/src/llmobs/constants/tags.js +7 -1
  233. package/packages/dd-trace/src/llmobs/index.js +8 -9
  234. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +38 -7
  235. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +30 -9
  236. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +3 -3
  237. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +2 -2
  238. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +1 -1
  239. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +1 -1
  240. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/embedding.js +1 -1
  241. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/llm.js +1 -1
  242. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  243. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +16 -0
  244. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +16 -1
  245. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +22 -10
  246. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +1 -1
  247. package/packages/dd-trace/src/llmobs/sdk.js +15 -22
  248. package/packages/dd-trace/src/llmobs/span_processor.js +9 -13
  249. package/packages/dd-trace/src/llmobs/telemetry.js +3 -4
  250. package/packages/dd-trace/src/llmobs/writers/base.js +2 -2
  251. package/packages/dd-trace/src/llmobs/writers/spans.js +1 -2
  252. package/packages/dd-trace/src/log/index.js +1 -1
  253. package/packages/dd-trace/src/noop/proxy.js +2 -2
  254. package/packages/dd-trace/src/noop/span.js +1 -1
  255. package/packages/dd-trace/src/openfeature/index.js +2 -2
  256. package/packages/dd-trace/src/openfeature/noop.js +14 -14
  257. package/packages/dd-trace/src/openfeature/remote_config.js +31 -0
  258. package/packages/dd-trace/src/openfeature/writers/base.js +5 -5
  259. package/packages/dd-trace/src/openfeature/writers/exposures.js +9 -9
  260. package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -2
  261. package/packages/dd-trace/src/opentelemetry/logs/logger.js +1 -1
  262. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +4 -4
  263. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +9 -8
  264. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  265. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +2 -2
  266. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +4 -4
  267. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +36 -11
  268. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +11 -10
  269. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +1 -1
  270. package/packages/dd-trace/src/opentelemetry/span.js +2 -2
  271. package/packages/dd-trace/src/opentelemetry/tracer.js +3 -3
  272. package/packages/dd-trace/src/opentracing/propagation/text_map.js +24 -8
  273. package/packages/dd-trace/src/opentracing/span.js +3 -3
  274. package/packages/dd-trace/src/opentracing/tracer.js +5 -5
  275. package/packages/dd-trace/src/payload-tagging/index.js +6 -2
  276. package/packages/dd-trace/src/plugin_manager.js +1 -1
  277. package/packages/dd-trace/src/plugins/apollo.js +1 -1
  278. package/packages/dd-trace/src/plugins/ci_plugin.js +27 -27
  279. package/packages/dd-trace/src/plugins/database.js +1 -1
  280. package/packages/dd-trace/src/plugins/index.js +5 -1
  281. package/packages/dd-trace/src/plugins/log_plugin.js +1 -1
  282. package/packages/dd-trace/src/plugins/outbound.js +1 -1
  283. package/packages/dd-trace/src/plugins/tracing.js +1 -1
  284. package/packages/dd-trace/src/plugins/util/ci.js +1 -1
  285. package/packages/dd-trace/src/plugins/util/git.js +8 -8
  286. package/packages/dd-trace/src/plugins/util/stacktrace.js +1 -1
  287. package/packages/dd-trace/src/plugins/util/test.js +24 -24
  288. package/packages/dd-trace/src/plugins/util/user-provided-git.js +1 -1
  289. package/packages/dd-trace/src/plugins/util/web.js +8 -5
  290. package/packages/dd-trace/src/priority_sampler.js +15 -16
  291. package/packages/dd-trace/src/process-tags/index.js +31 -29
  292. package/packages/dd-trace/src/profiling/config.js +32 -21
  293. package/packages/dd-trace/src/profiling/exporter_cli.js +4 -4
  294. package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
  295. package/packages/dd-trace/src/profiling/index.js +1 -1
  296. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  297. package/packages/dd-trace/src/profiling/profiler.js +4 -5
  298. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  299. package/packages/dd-trace/src/profiling/profilers/events.js +2 -2
  300. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  301. package/packages/dd-trace/src/proxy.js +12 -18
  302. package/packages/dd-trace/src/remote_config/index.js +541 -137
  303. package/packages/dd-trace/src/require-package-json.js +1 -1
  304. package/packages/dd-trace/src/ritm.js +50 -27
  305. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +1 -1
  306. package/packages/dd-trace/src/serverless.js +16 -0
  307. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
  308. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
  309. package/packages/dd-trace/src/span_format.js +1 -1
  310. package/packages/dd-trace/src/span_processor.js +2 -2
  311. package/packages/dd-trace/src/span_stats.js +6 -4
  312. package/packages/dd-trace/src/standalone/index.js +1 -1
  313. package/packages/dd-trace/src/startup-log.js +3 -3
  314. package/packages/dd-trace/src/supported-configurations.json +3 -0
  315. package/packages/dd-trace/src/telemetry/dependencies.js +3 -3
  316. package/packages/dd-trace/src/telemetry/endpoints.js +8 -8
  317. package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
  318. package/packages/dd-trace/src/telemetry/telemetry.js +11 -6
  319. package/packages/dd-trace/src/tracer.js +3 -3
  320. package/packages/dd-trace/src/tracer_metadata.js +19 -15
  321. package/packages/dd-trace/src/remote_config/manager.js +0 -368
package/index.d.ts CHANGED
@@ -191,6 +191,7 @@ interface Plugins {
191
191
  "azure-event-hubs": tracer.plugins.azure_event_hubs;
192
192
  "azure-functions": tracer.plugins.azure_functions;
193
193
  "azure-service-bus": tracer.plugins.azure_service_bus;
194
+ "bullmq": tracer.plugins.bullmq;
194
195
  "bunyan": tracer.plugins.bunyan;
195
196
  "cassandra-driver": tracer.plugins.cassandra_driver;
196
197
  "child_process": tracer.plugins.child_process;
@@ -1757,6 +1758,12 @@ declare namespace tracer {
1757
1758
  * [logInjection](interfaces/traceroptions.html#logInjection) option is enabled
1758
1759
  * on the tracer.
1759
1760
  */
1761
+ /**
1762
+ * This plugin automatically instruments the
1763
+ * [bullmq](https://github.com/npmjs/package/bullmq) message queue library.
1764
+ */
1765
+ interface bullmq extends Instrumentation {}
1766
+
1760
1767
  interface bunyan extends Integration {}
1761
1768
 
1762
1769
  /**
package/loader-hook.mjs CHANGED
@@ -1,8 +1,9 @@
1
- import regexpEscapeModule from './vendor/dist/escape-string-regexp/index.js'
2
1
  import * as iitm from 'import-in-the-middle/hook.mjs'
2
+ import regexpEscapeModule from './vendor/dist/escape-string-regexp/index.js'
3
3
  import hooks from './packages/datadog-instrumentations/src/helpers/hooks.js'
4
4
  import configHelper from './packages/dd-trace/src/config-helper.js'
5
5
  import * as rewriterLoader from './packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs'
6
+ import { isRelativeRequire } from './packages/datadog-instrumentations/src/helpers/shared-utils.js'
6
7
 
7
8
  const regexpEscape = regexpEscapeModule.default
8
9
 
@@ -28,7 +29,11 @@ function addInstrumentations (data) {
28
29
  const instrumentations = Object.keys(hooks)
29
30
 
30
31
  for (const moduleName of instrumentations) {
31
- data.include.push(new RegExp(`node_modules/${moduleName}/(?!node_modules).+`), moduleName)
32
+ // Skip instrumentation hooks with relative module names
33
+ // since there is no current business need of instrumenting imports outside of the node_modules folder
34
+ if (!isRelativeRequire(moduleName)) {
35
+ data.include.push(new RegExp(`node_modules/${moduleName}/(?!node_modules).+`), moduleName)
36
+ }
32
37
  }
33
38
  }
34
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dd-trace",
3
- "version": "5.81.0",
3
+ "version": "5.82.0",
4
4
  "description": "Datadog APM tracing client for JavaScript",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -28,8 +28,8 @@
28
28
  "test:debugger": "mocha -r 'packages/dd-trace/test/setup/mocha.js' 'packages/dd-trace/test/debugger/**/*.spec.js'",
29
29
  "test:debugger:ci": "nyc --no-clean --include 'packages/dd-trace/src/debugger/**/*.js' -- npm run test:debugger",
30
30
  "test:eslint-rules": "node eslint-rules/*.test.mjs",
31
- "test:trace:core": "tap packages/dd-trace/test/*.spec.js \"packages/dd-trace/test/{ci-visibility,datastreams,encode,exporters,opentelemetry,opentracing,plugins,remote_config,service-naming,standalone,telemetry,external-logger}/**/*.spec.js\"",
32
- "test:trace:core:ci": "npm run test:trace:core -- --coverage --nyc-arg=--include=\"packages/dd-trace/src/**/*.js\"",
31
+ "test:trace:core": "node scripts/mocha-parallel-files.js --expose-gc --timeout 30000 --require packages/dd-trace/test/setup/mocha.js -- \"packages/dd-trace/test/*.spec.js\" \"packages/dd-trace/test/{ci-visibility,config,datastreams,encode,exporters,opentelemetry,opentracing,plugins,remote_config,service-naming,standalone,telemetry,external-logger}/**/*.spec.js\"",
32
+ "test:trace:core:ci": "nyc --no-clean --include \"packages/dd-trace/src/**/*.js\" -- npm run test:trace:core",
33
33
  "test:trace:guardrails": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/dd-trace/test/guardrails/**/*.spec.js\"",
34
34
  "test:trace:guardrails:ci": "nyc --no-clean --include \"packages/dd-trace/src/guardrails/**/*.js\" -- npm run test:trace:guardrails",
35
35
  "test:esbuild": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/datadog-esbuild/test/**/*.spec.js\"",
@@ -38,8 +38,8 @@
38
38
  "test:instrumentations:ci": "yarn services && nyc --no-clean --include \"packages/datadog-instrumentations/src/@($(echo $PLUGINS)).js\" --include \"packages/datadog-instrumentations/src/@($(echo $PLUGINS))/**/*.js\" -- npm run test:instrumentations",
39
39
  "test:instrumentations:misc": "mocha -r 'packages/dd-trace/test/setup/mocha.js' 'packages/datadog-instrumentations/test/*/**/*.spec.js'",
40
40
  "test:instrumentations:misc:ci": "nyc --no-clean --include 'packages/datadog-instrumentations/src/**/*.js' -- npm run test:instrumentations:misc",
41
- "test:core": "tap \"packages/datadog-core/test/**/*.spec.js\"",
42
- "test:core:ci": "npm run test:core -- --coverage --nyc-arg=--include=\"packages/datadog-core/src/**/*.js\"",
41
+ "test:core": "node scripts/mocha-parallel-files.js --expose-gc --timeout 30000 -- \"packages/datadog-core/test/**/*.spec.js\"",
42
+ "test:core:ci": "nyc --no-clean --include \"packages/datadog-core/src/**/*.js\" -- npm run test:core",
43
43
  "test:lambda": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/dd-trace/test/lambda/**/*.spec.js\"",
44
44
  "test:lambda:ci": "nyc --no-clean --include \"packages/dd-trace/src/lambda/**/*.js\" -- npm run test:lambda",
45
45
  "test:llmobs:sdk": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" --exclude \"packages/dd-trace/test/llmobs/plugins/**/*.spec.js\" \"packages/dd-trace/test/llmobs/**/*.spec.js\" ",
@@ -48,12 +48,12 @@
48
48
  "test:llmobs:plugins:ci": "yarn services && nyc --no-clean --include \"packages/dd-trace/src/llmobs/**/*.js\" -- npm run test:llmobs:plugins",
49
49
  "test:openfeature": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/dd-trace/test/openfeature/*.spec.js\"",
50
50
  "test:openfeature:ci": "nyc --no-clean --include \"packages/dd-trace/src/openfeature/**/*.js\" -- npm run test:openfeature",
51
- "test:plugins": "mocha -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/datadog-plugin-@($(echo $PLUGINS))/test/**/@($(echo ${SPEC:-'*'})).spec.js\"",
51
+ "test:plugins": "mocha --expose-gc -r \"packages/dd-trace/test/setup/mocha.js\" \"packages/datadog-plugin-@($(echo $PLUGINS))/test/**/@($(echo ${SPEC:-'*'}))*.spec.js\"",
52
52
  "test:plugins:ci": "yarn services && nyc --no-clean --include \"packages/datadog-plugin-@($(echo $PLUGINS))/src/**/*.js\" -- npm run test:plugins",
53
53
  "test:plugins:ci:flaky": "yarn services && nyc --no-clean --include \"packages/datadog-plugin-@($(echo $PLUGINS))/src/**/*.js\" -- npm run test:plugins -- --bail --retries 2",
54
54
  "test:plugins:upstream": "node ./packages/dd-trace/test/plugins/suite.js",
55
- "test:profiler": "tap \"packages/dd-trace/test/profiling/**/*.spec.js\"",
56
- "test:profiler:ci": "npm run test:profiler -- --coverage --nyc-arg=--include=\"packages/dd-trace/src/profiling/**/*.js\"",
55
+ "test:profiler": "node scripts/mocha-parallel-files.js --expose-gc --timeout 30000 --require packages/dd-trace/test/setup/mocha.js -- \"packages/dd-trace/test/profiling/**/*.spec.js\"",
56
+ "test:profiler:ci": "nyc --no-clean --include \"packages/dd-trace/src/profiling/**/*.js\" -- npm run test:profiler",
57
57
  "test:integration": "mocha --timeout 60000 -r \"packages/dd-trace/test/setup/core.js\" \"integration-tests/*.spec.js\"",
58
58
  "test:integration:aiguard": "mocha --timeout 60000 -r \"packages/dd-trace/test/setup/core.js\" \"integration-tests/aiguard/*.spec.js\"",
59
59
  "test:integration:appsec": "mocha --timeout 60000 -r \"packages/dd-trace/test/setup/core.js\" \"integration-tests/appsec/*.spec.js\"",
@@ -95,7 +95,7 @@
95
95
  },
96
96
  "homepage": "https://github.com/DataDog/dd-trace-js#readme",
97
97
  "engines": {
98
- "node": ">=18"
98
+ "node": ">=18 <26"
99
99
  },
100
100
  "files": [
101
101
  "/package.json",
@@ -127,7 +127,7 @@
127
127
  ],
128
128
  "dependencies": {
129
129
  "dc-polyfill": "^0.1.10",
130
- "import-in-the-middle": "^1.14.2"
130
+ "import-in-the-middle": "2.0.0"
131
131
  },
132
132
  "optionalDependencies": {
133
133
  "@datadog/libdatadog": "0.7.0",
@@ -135,7 +135,7 @@
135
135
  "@datadog/native-iast-taint-tracking": "4.1.0",
136
136
  "@datadog/native-metrics": "3.1.1",
137
137
  "@datadog/openfeature-node-server": "^0.2.0",
138
- "@datadog/pprof": "5.12.0",
138
+ "@datadog/pprof": "5.13.1",
139
139
  "@datadog/wasm-js-rewriter": "5.0.1",
140
140
  "@opentelemetry/api": ">=1.0.0 <1.10.0",
141
141
  "@opentelemetry/api-logs": "<1.0.0"
@@ -148,16 +148,13 @@
148
148
  "@openfeature/core": "^1.8.1",
149
149
  "@openfeature/server-sdk": "~1.20.0",
150
150
  "@stylistic/eslint-plugin": "^5.5.0",
151
- "@types/chai": "^4.3.16",
152
151
  "@types/mocha": "^10.0.10",
153
152
  "@types/node": "^18.19.106",
154
153
  "@types/sinon": "^21.0.0",
155
- "@types/tap": "^15.0.12",
156
154
  "axios": "^1.12.2",
157
155
  "benchmark": "^2.1.4",
158
156
  "body-parser": "^2.2.0",
159
157
  "bun": "1.3.3",
160
- "chai": "^4.5.0",
161
158
  "eslint": "^9.39.0",
162
159
  "eslint-plugin-cypress": "^5.2.0",
163
160
  "eslint-plugin-import": "^2.32.0",
@@ -176,16 +173,14 @@
176
173
  "mocha-multi-reporters": "^1.5.1",
177
174
  "multer": "^2.0.2",
178
175
  "nock": "^13.5.6",
179
- "nyc": "^15.1.0",
176
+ "nyc": "^17.1.0",
180
177
  "octokit": "^5.0.3",
181
178
  "opentracing": ">=0.14.7",
182
179
  "proxyquire": "^2.1.3",
183
180
  "retry": "^0.13.1",
184
181
  "semifies": "^1.0.0",
185
182
  "semver": "^7.7.2",
186
- "sinon": "^21.0.0",
187
- "sinon-chai": "^3.7.0",
188
- "tap": "^16.3.10",
183
+ "sinon": "^21.0.1",
189
184
  "tiktoken": "^1.0.21",
190
185
  "typescript": "^5.9.2",
191
186
  "workerpool": "^10.0.0",
@@ -8,7 +8,7 @@ const digitRegex = /^\d+$/
8
8
  * Also supports array-keys. For example:
9
9
  * { 'a.0.b': 'value' } -> { a: [{ b: 'value' }] }
10
10
  *
11
- * @param {Object} tags - Key/value pairs of tags
11
+ * @param {object} tags - Key/value pairs of tags
12
12
  * @returns Object - Parsed tags
13
13
  */
14
14
  module.exports = function parseTags (tags) {
@@ -2,13 +2,18 @@
2
2
 
3
3
  /* eslint-disable no-console */
4
4
 
5
+ const { execSync } = require('child_process')
6
+ const fs = require('fs')
7
+ const RAW_BUILTINS = require('module').builtinModules
8
+ const path = require('path')
9
+ const { pathToFileURL, fileURLToPath } = require('url')
10
+
5
11
  const instrumentations = require('../datadog-instrumentations/src/helpers/instrumentations.js')
6
- const hooks = require('../datadog-instrumentations/src/helpers/hooks.js')
12
+
7
13
  const extractPackageAndModulePath = require(
8
14
  '../datadog-instrumentations/src/helpers/extract-package-and-module-path.js'
9
15
  )
10
-
11
- const { pathToFileURL, fileURLToPath } = require('url')
16
+ const hooks = require('../datadog-instrumentations/src/helpers/hooks.js')
12
17
  const { processModule, isESMFile } = require('./src/utils.js')
13
18
 
14
19
  const ESM_INTERCEPTED_SUFFIX = '._dd_esbuild_intercepted'
@@ -36,11 +41,7 @@ for (const instrumentation of Object.values(instrumentations)) {
36
41
  }
37
42
  }
38
43
 
39
- const RAW_BUILTINS = require('module').builtinModules
40
44
  const CHANNEL = 'dd-trace:bundler:load'
41
- const path = require('path')
42
- const fs = require('fs')
43
- const { execSync } = require('child_process')
44
45
 
45
46
  const builtins = new Set()
46
47
 
@@ -7,8 +7,20 @@ const path = require('node:path')
7
7
  const { NODE_MAJOR, NODE_MINOR } = require('../../../version.js')
8
8
 
9
9
  const getExportsImporting = (url) => import(url).then(Object.keys)
10
+ let getExportsModulePromise
11
+
12
+ const loadGetExportsModule = () => {
13
+ if (!getExportsModulePromise) {
14
+ getExportsModulePromise = import('import-in-the-middle/lib/get-exports.mjs')
15
+ }
16
+ return getExportsModulePromise
17
+ }
18
+
10
19
  const getExports = NODE_MAJOR >= 20 || (NODE_MAJOR === 18 && NODE_MINOR >= 19)
11
- ? require('import-in-the-middle/lib/get-exports.js')
20
+ ? async (srcUrl, context, getSource) => {
21
+ const mod = await loadGetExportsModule()
22
+ return mod.getExports(srcUrl, context, getSource)
23
+ }
12
24
  : getExportsImporting
13
25
 
14
26
  function isStarExportLine (line) {
@@ -168,7 +180,7 @@ async function processModule ({ path, internal, context, excludeDefault }) {
168
180
  *
169
181
  * @param {string} fullPathToModule File to analize
170
182
  * @param {string} [modulePackageJsonPath] Path of the package.json
171
- * @param {Object} [packageJson] The content of the module package.json
183
+ * @param {object} [packageJson] The content of the module package.json
172
184
  * @returns {boolean}
173
185
  */
174
186
  function isESMFile (fullPathToModule, modulePackageJsonPath, packageJson = {}) {
@@ -1,11 +1,12 @@
1
1
  'use strict'
2
2
 
3
+ const tracingChannel = require('dc-polyfill').tracingChannel
4
+
5
+ const shimmer = require('../../datadog-shimmer')
3
6
  const {
4
7
  addHook
5
8
  } = require('./helpers/instrument')
6
- const shimmer = require('../../datadog-shimmer')
7
9
 
8
- const tracingChannel = require('dc-polyfill').tracingChannel
9
10
  const ch = tracingChannel('apm:aerospike:command')
10
11
 
11
12
  function wrapCreateCommand (createCommand) {
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
3
+ const { channel, tracingChannel } = require('dc-polyfill')
4
4
  const shimmer = require('../../datadog-shimmer')
5
+ const { addHook } = require('./helpers/instrument')
5
6
 
6
- const { channel, tracingChannel } = require('dc-polyfill')
7
7
  const toolCreationChannel = channel('dd-trace:vercel-ai:tool')
8
8
 
9
9
  const TRACED_FUNCTIONS = {
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  addHook({ name: 'amqp10', file: 'lib/sender_link.js', versions: ['>=3'] }, SenderLink => {
10
10
  const startCh = channel('apm:amqp10:send:start')
@@ -1,13 +1,13 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- channel,
5
- addHook
6
- } = require('./helpers/instrument')
7
3
  const kebabCase = require('../../datadog-core/src/utils/src/kebabcase')
8
4
  const shimmer = require('../../datadog-shimmer')
9
5
 
10
6
  const { NODE_MAJOR, NODE_MINOR } = require('../../../version')
7
+ const {
8
+ channel,
9
+ addHook
10
+ } = require('./helpers/instrument')
11
11
  const MIN_VERSION = ((NODE_MAJOR > 22) || (NODE_MAJOR === 22 && NODE_MINOR >= 2)) ? '>=0.5.3' : '>=0.5.0'
12
12
 
13
13
  const commandStartCh = channel('apm:amqplib:command:start')
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
4
- const shimmer = require('../../datadog-shimmer')
5
3
  const { channel, tracingChannel } = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
5
+ const { addHook } = require('./helpers/instrument')
6
6
 
7
7
  const anthropicTracingChannel = tracingChannel('apm:anthropic:request')
8
8
  const onStreamedChunkCh = channel('apm:anthropic:request:chunk')
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
4
- const shimmer = require('../../datadog-shimmer')
5
3
  const dc = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
5
+ const { addHook } = require('./helpers/instrument')
6
6
 
7
7
  const requestChannel = dc.tracingChannel('datadog:apollo-server-core:request')
8
8
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  const dc = require('dc-polyfill')
4
4
 
5
- const { addHook } = require('./helpers/instrument')
6
5
  const shimmer = require('../../datadog-shimmer')
6
+ const { addHook } = require('./helpers/instrument')
7
7
 
8
8
  const graphqlMiddlewareChannel = dc.tracingChannel('datadog:apollo:middleware')
9
9
  const apolloHttpServerChannel = dc.tracingChannel('datadog:apollo:httpserver')
@@ -1,11 +1,12 @@
1
1
  'use strict'
2
2
 
3
+ const tracingChannel = require('dc-polyfill').tracingChannel
4
+
5
+ const shimmer = require('../../datadog-shimmer')
3
6
  const {
4
7
  addHook,
5
8
  channel
6
9
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
- const tracingChannel = require('dc-polyfill').tracingChannel
9
10
 
10
11
  const CHANNELS = {
11
12
  'gateway.request': tracingChannel('apm:apollo:gateway:request'),
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
3
4
  const shimmer = require('../../datadog-shimmer')
4
5
  const { addHook } = require('./helpers/instrument')
5
6
 
6
- const dc = require('dc-polyfill')
7
7
  const serializeChannel = dc.channel('apm:avsc:serialize-start')
8
8
  const deserializeChannel = dc.channel('apm:avsc:deserialize-end')
9
9
 
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { channel, addHook } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { channel, addHook } = require('./helpers/instrument')
5
5
 
6
6
  const patchedClientConfigProtocols = new WeakSet()
7
7
 
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
3
5
  const {
4
6
  addHook
5
7
  } = require('./helpers/instrument')
6
- const shimmer = require('../../datadog-shimmer')
7
- const dc = require('dc-polyfill')
8
8
 
9
9
  const producerCh = dc.tracingChannel('apm:azure-event-hubs:send')
10
10
 
@@ -13,6 +13,7 @@ addHook({
13
13
  versions: ['>=6.0.0']
14
14
  }, obj => {
15
15
  const EventHubProducerClient = obj.EventHubProducerClient
16
+
16
17
  shimmer.wrap(EventHubProducerClient.prototype, 'createBatch',
17
18
  createBatch => async function () {
18
19
  const batch = await createBatch.apply(this, arguments)
@@ -20,7 +21,7 @@ addHook({
20
21
  tryAdd => function (eventData) {
21
22
  const config = this._context.config
22
23
  const functionName = tryAdd.name
23
- return producerCh.tracePromise(
24
+ return producerCh.traceSync(
24
25
  tryAdd,
25
26
  { functionName, eventData, batch: this, config },
26
27
  this, ...arguments)
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
3
5
  const {
4
6
  addHook
5
7
  } = require('./helpers/instrument')
6
- const shimmer = require('../../datadog-shimmer')
7
- const dc = require('dc-polyfill')
8
8
 
9
9
  const azureFunctionsChannel = dc.tracingChannel('datadog:azure:functions:invoke')
10
10
 
@@ -1,12 +1,11 @@
1
1
  'use strict'
2
2
 
3
+ const dc = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
3
5
  const {
4
6
  addHook
5
7
  } = require('./helpers/instrument')
6
8
 
7
- const shimmer = require('../../datadog-shimmer')
8
- const dc = require('dc-polyfill')
9
-
10
9
  const producerCh = dc.tracingChannel('apm:azure-service-bus:send')
11
10
  const isItDefault = new WeakSet()
12
11
 
@@ -38,7 +37,7 @@ addHook({ name: '@azure/service-bus', versions: ['>=7.9.2'] }, (obj) => {
38
37
  shimmer.wrap(batch, 'tryAddMessage', tryAddMessage => function (msg) {
39
38
  const functionName = tryAddMessage.name
40
39
  const config = this._context.config
41
- return producerCh.tracePromise(
40
+ return producerCh.traceSync(
42
41
  tryAddMessage, { config, functionName, batch, msg }, this, ...arguments)
43
42
  })
44
43
  return batch
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const { addHook } = require('./helpers/instrument')
4
5
  const { wrapThen } = require('./helpers/promise')
5
- const shimmer = require('../../datadog-shimmer')
6
6
 
7
7
  function createGetNewLibraryCopyWrap (originalLib) {
8
8
  return function wrapGetNewLibraryCopy (getNewLibraryCopy) {
@@ -0,0 +1,11 @@
1
+ // AUTO-GENERATED by dd-compile
2
+ // Orchestrion rewriter handles the actual instrumentation via JSON config.
3
+ // This file registers the module hooks for the rewriter to process.
4
+
5
+ 'use strict'
6
+
7
+ const { addHook, getHooks } = require('./helpers/instrument')
8
+
9
+ for (const hook of getHooks('bullmq')) {
10
+ addHook(hook, exports => exports)
11
+ }
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  addHook({ name: 'bunyan', versions: ['>=1'] }, Logger => {
10
10
  const logCh = channel('apm:bunyan:log')
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  const startCh = channel('apm:cassandra-driver:query:start')
10
10
  const finishCh = channel('apm:cassandra-driver:query:finish')
@@ -3,11 +3,11 @@
3
3
  const { errorMonitor } = require('events')
4
4
  const util = require('util')
5
5
 
6
+ const dc = require('dc-polyfill')
7
+ const shimmer = require('../../datadog-shimmer')
6
8
  const {
7
9
  addHook
8
10
  } = require('./helpers/instrument')
9
- const shimmer = require('../../datadog-shimmer')
10
- const dc = require('dc-polyfill')
11
11
 
12
12
  const childProcessChannel = dc.tracingChannel('datadog:child_process:execution')
13
13
 
@@ -1,12 +1,12 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
4
+
5
+ const log = require('../../dd-trace/src/log')
3
6
  const {
4
7
  addHook,
5
8
  channel
6
9
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
-
9
- const log = require('../../dd-trace/src/log')
10
10
 
11
11
  // Create channels for Confluent Kafka JavaScript
12
12
  const channels = {
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
3
  const { errorMonitor } = require('events')
4
+ const shimmer = require('../../datadog-shimmer')
4
5
  const {
5
6
  channel,
6
7
  addHook
7
8
  } = require('./helpers/instrument')
8
- const shimmer = require('../../datadog-shimmer')
9
9
 
10
10
  function findCallbackIndex (args, lowerbound = 2) {
11
11
  for (let i = args.length - 1; i >= lowerbound; i--) {
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  const cryptoHashCh = channel('datadog:crypto:hashing:start')
10
10
  const cryptoCipherCh = channel('datadog:crypto:cipher:start')
@@ -1,10 +1,20 @@
1
1
  'use strict'
2
- const { createCoverageMap } = require('../../../vendor/dist/istanbul-lib-coverage')
3
2
 
4
- const { addHook, channel } = require('./helpers/instrument')
3
+ const { createCoverageMap } = require('../../../vendor/dist/istanbul-lib-coverage')
5
4
  const shimmer = require('../../datadog-shimmer')
6
5
  const log = require('../../dd-trace/src/log')
7
6
  const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
7
+ const {
8
+ getCoveredFilenamesFromCoverage,
9
+ resetCoverage,
10
+ mergeCoverage,
11
+ fromCoverageMapToCoverage,
12
+ getTestSuitePath,
13
+ CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
14
+ getIsFaultyEarlyFlakeDetection
15
+ } = require('../../dd-trace/src/plugins/util/test')
16
+ const satisfies = require('../../../vendor/dist/semifies')
17
+ const { addHook, channel } = require('./helpers/instrument')
8
18
 
9
19
  const testStartCh = channel('ci:cucumber:test:start')
10
20
  const testRetryCh = channel('ci:cucumber:test:retry')
@@ -34,17 +44,6 @@ const itrSkippedSuitesCh = channel('ci:cucumber:itr:skipped-suites')
34
44
 
35
45
  const getCodeCoverageCh = channel('ci:nyc:get-coverage')
36
46
 
37
- const {
38
- getCoveredFilenamesFromCoverage,
39
- resetCoverage,
40
- mergeCoverage,
41
- fromCoverageMapToCoverage,
42
- getTestSuitePath,
43
- CUCUMBER_WORKER_TRACE_PAYLOAD_CODE,
44
- getIsFaultyEarlyFlakeDetection
45
- } = require('../../dd-trace/src/plugins/util/test')
46
- const satisfies = require('../../../vendor/dist/semifies')
47
-
48
47
  const isMarkedAsUnskippable = (pickle) => {
49
48
  return pickle.tags.some(tag => tag.name === '@datadog:unskippable')
50
49
  }
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
4
3
  const { DD_MAJOR } = require('../../../version')
4
+ const { addHook } = require('./helpers/instrument')
5
5
 
6
6
  // No handler because this is only useful for testing.
7
7
  // Cypress plugin does not patch any library.
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { channel, addHook } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { channel, addHook } = require('./helpers/instrument')
5
5
 
6
6
  const rrtypes = {
7
7
  resolveAny: 'ANY',
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  addHook({ name: '@elastic/transport', file: 'lib/Transport.js', versions: ['>=8'] }, (exports) => {
10
10
  shimmer.wrap(exports.default.prototype, 'request', createWrapRequest('elasticsearch'))
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook
6
7
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
8
 
9
9
  const sanitizeMethodFinished = channel('datadog:express-mongo-sanitize:sanitize:finish')
10
10
  const sanitizeMiddlewareFinished = channel('datadog:express-mongo-sanitize:filter:finish')
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { createWrapRouterMethod } = require('./router')
4
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { createWrapRouterMethod } = require('./router')
5
5
  const { addHook, channel, tracingChannel } = require('./helpers/instrument')
6
6
  const {
7
7
  setRouterMountPath,