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
@@ -1,9 +1,8 @@
1
1
  'use strict'
2
2
 
3
- const { addHook, channel } = require('./helpers/instrument')
3
+ const path = require('path')
4
4
  const shimmer = require('../../datadog-shimmer')
5
5
  const log = require('../../dd-trace/src/log')
6
- const path = require('path')
7
6
  const {
8
7
  getCoveredFilenamesFromCoverage,
9
8
  JEST_WORKER_TRACE_PAYLOAD_CODE,
@@ -21,6 +20,7 @@ const {
21
20
  getJestTestName,
22
21
  getJestSuitesToRun
23
22
  } = require('../../datadog-plugin-jest/src/util')
23
+ const { addHook, channel } = require('./helpers/instrument')
24
24
 
25
25
  const testSessionStartCh = channel('ci:jest:session:start')
26
26
  const testSessionFinishCh = channel('ci:jest:session:finish')
@@ -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
  channel,
5
8
  addHook
6
9
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
-
9
- const log = require('../../dd-trace/src/log')
10
10
 
11
11
  const producerStartCh = channel('apm:kafkajs:produce:start')
12
12
  const producerCommitCh = channel('apm:kafkajs:produce:commit')
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const { addHook, channel } = require('./helpers/instrument')
4
5
  const { wrapThen } = require('./helpers/promise')
5
- const shimmer = require('../../datadog-shimmer')
6
6
 
7
7
  const startRawQueryCh = channel('datadog:knex:raw:start')
8
8
  const rawQuerySubscribes = channel('datadog:knex:raw:subscribes')
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook,
6
7
  AsyncResource
7
8
  } = require('./helpers/instrument')
8
- const shimmer = require('../../datadog-shimmer')
9
9
 
10
10
  function isString (value) {
11
11
  // eslint-disable-next-line unicorn/no-instanceof-builtins
@@ -0,0 +1,93 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * light-my-request instrumentation
5
+ *
6
+ * This instrumentation enables dd-trace to capture spans for Fastify inject() calls
7
+ * which use light-my-request internally. Without this, inject() bypasses the HTTP
8
+ * server instrumentation since it doesn't go through http.Server.emit('request').
9
+ *
10
+ * This is critical for platforms like Platformatic that use undici-thread-interceptor
11
+ * to route requests between worker threads using Fastify inject().
12
+ */
13
+
14
+ const shimmer = require('../../datadog-shimmer')
15
+ const {
16
+ channel,
17
+ addHook
18
+ } = require('./helpers/instrument')
19
+
20
+ // Reuse the same channels as HTTP server instrumentation
21
+ const startServerCh = channel('apm:http:server:request:start')
22
+ const exitServerCh = channel('apm:http:server:request:exit')
23
+ const errorServerCh = channel('apm:http:server:request:error')
24
+ const finishServerCh = channel('apm:http:server:request:finish')
25
+
26
+ addHook({ name: 'light-my-request', versions: ['>=3'] }, (lightMyRequest) => {
27
+ // Wrap the inject function
28
+ return shimmer.wrapFunction(lightMyRequest, lightMyRequest => {
29
+ return function wrappedInject (dispatchFunc, options, callback) {
30
+ // If no subscribers, use original behavior
31
+ if (!startServerCh.hasSubscribers) {
32
+ return lightMyRequest.apply(this, arguments)
33
+ }
34
+
35
+ // Wrap the dispatch function to add tracing
36
+ const wrappedDispatch = wrapDispatchFunc(dispatchFunc)
37
+
38
+ // Call original with wrapped dispatch
39
+ return lightMyRequest.call(this, wrappedDispatch, options, callback)
40
+ }
41
+ })
42
+ })
43
+
44
+ function wrapDispatchFunc (dispatchFunc) {
45
+ return function tracedDispatch (req, res) {
46
+ const abortController = new AbortController()
47
+
48
+ // Link res.req like HTTP instrumentation does
49
+ res.req = req
50
+
51
+ // Publish start event (same as HTTP server)
52
+ startServerCh.publish({ req, res, abortController })
53
+
54
+ // Track when response finishes via 'finish' event (like HTTP instrumentation)
55
+ let finishCalled = false
56
+ const onFinish = () => {
57
+ if (!finishCalled) {
58
+ finishCalled = true
59
+ finishServerCh.publish({ req })
60
+ }
61
+ }
62
+
63
+ // light-my-request Response emits 'finish' when done
64
+ if (res.on && typeof res.on === 'function') {
65
+ res.on('finish', onFinish)
66
+ res.on('close', onFinish)
67
+ }
68
+
69
+ // Also wrap end() as fallback
70
+ const originalEnd = res.end
71
+ if (originalEnd) {
72
+ res.end = function wrappedEnd () {
73
+ const result = originalEnd.apply(this, arguments)
74
+ // Trigger finish if events don't fire
75
+ setImmediate(onFinish)
76
+ return result
77
+ }
78
+ }
79
+
80
+ try {
81
+ if (abortController.signal.aborted) {
82
+ return
83
+ }
84
+
85
+ return dispatchFunc.call(this, req, res)
86
+ } catch (err) {
87
+ errorServerCh.publish(err)
88
+ throw err
89
+ } finally {
90
+ exitServerCh.publish({ req })
91
+ }
92
+ }
93
+ }
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { addHook, AsyncResource } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { addHook, AsyncResource } = require('./helpers/instrument')
5
5
 
6
6
  function wrapRequest (original) {
7
7
  return function () {
@@ -1,8 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { channel, addHook } = require('./helpers/instrument')
4
-
5
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { channel, addHook } = require('./helpers/instrument')
6
5
 
7
6
  addHook({ name: 'lodash', versions: ['>=4'] }, lodash => {
8
7
  const lodashOperationCh = channel('datadog:lodash:operation')
@@ -1,8 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { channel, addHook } = require('./helpers/instrument')
4
-
5
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { channel, addHook } = require('./helpers/instrument')
6
5
 
7
6
  const commandAddCh = channel('apm:mariadb:command:add')
8
7
  const connectionStartCh = channel('apm:mariadb:connection:start')
@@ -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: 'memcached', versions: ['>=2.2'] }, Memcached => {
10
10
  const startCh = channel('apm:memcached:command:start')
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const {
4
5
  channel,
5
6
  addHook,
6
7
  AsyncResource
7
8
  } = require('./helpers/instrument')
8
- const shimmer = require('../../datadog-shimmer')
9
9
 
10
10
  const startCh = channel('apm:mongodb:query:start')
11
11
  const finishCh = channel('apm:mongodb:query:finish')
@@ -2,11 +2,11 @@
2
2
 
3
3
  require('./mongodb-core')
4
4
 
5
+ const shimmer = require('../../datadog-shimmer')
5
6
  const {
6
7
  channel,
7
8
  addHook
8
9
  } = require('./helpers/instrument')
9
- const shimmer = require('../../datadog-shimmer')
10
10
 
11
11
  // collection methods with filter
12
12
  const collectionMethodsWithFilter = [
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
+ const shimmer = require('../../datadog-shimmer')
3
4
  const { addHook, channel } = require('./helpers/instrument')
4
5
  const { wrapThen } = require('./helpers/promise')
5
- const shimmer = require('../../datadog-shimmer')
6
6
 
7
7
  const startCh = channel('datadog:mongoose:model:filter:start')
8
8
  const finishCh = channel('datadog:mongoose:model:filter:finish')
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
3
  const dc = require('dc-polyfill')
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
  const prepareCh = channel('datadog:mquery:filter:prepare')
11
11
  const tracingCh = dc.tracingChannel('datadog:mquery:filter')
@@ -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
  addHook({ name: 'mysql', file: 'lib/Connection.js', versions: ['>=2'] }, Connection => {
7
7
  const startCh = channel('apm:mysql:query:start')
@@ -2,9 +2,9 @@
2
2
 
3
3
  const { errorMonitor } = require('node:events')
4
4
 
5
- const { channel, addHook } = require('./helpers/instrument')
6
5
  const shimmer = require('../../datadog-shimmer')
7
6
  const satisfies = require('../../../vendor/dist/semifies')
7
+ const { channel, addHook } = require('./helpers/instrument')
8
8
 
9
9
  function wrapConnection (Connection, version) {
10
10
  const startCh = channel('apm:mysql2:query:start')
@@ -2,8 +2,8 @@
2
2
 
3
3
  const { errorMonitor } = require('events')
4
4
 
5
- const { channel, addHook } = require('./helpers/instrument')
6
5
  const shimmer = require('../../datadog-shimmer')
6
+ const { channel, addHook } = require('./helpers/instrument')
7
7
 
8
8
  const startICPCh = channel('apm:net:ipc:start')
9
9
  const finishICPCh = channel('apm:net:ipc:finish')
@@ -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 startChannel = channel('apm:next:request:start')
7
7
  const finishChannel = channel('apm:next:request:finish')
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
- const { addHook, channel } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
5
4
  const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { addHook, channel } = require('./helpers/instrument')
6
6
 
7
7
  const codeCoverageWrapCh = channel('ci:nyc:wrap')
8
8
 
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
3
+ const dc = require('dc-polyfill')
4
4
  const shimmer = require('../../datadog-shimmer')
5
+ const { addHook } = require('./helpers/instrument')
5
6
 
6
- const dc = require('dc-polyfill')
7
7
  const ch = dc.tracingChannel('apm:openai:request')
8
8
  const onStreamedChunkCh = dc.channel('apm:openai:request:chunk')
9
9
 
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
4
+ const { addHook } = require('./helpers/instrument')
5
5
  const { createWrapRequest, createWrapGetConnection } = require('./elasticsearch')
6
6
 
7
7
  addHook({ name: '@opensearch-project/opensearch', file: 'lib/Transport.js', versions: ['>=1'] }, Transport => {
@@ -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 connectionAttributes = new WeakMap()
10
10
  const poolAttributes = new WeakMap()
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const { addHook } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
5
4
  const tracer = require('../../dd-trace')
6
5
  const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
6
+ const { addHook } = require('./helpers/instrument')
7
7
 
8
8
  const otelSdkEnabled = getEnvironmentVariable('DD_TRACE_OTEL_ENABLED') ||
9
9
  getEnvironmentVariable('OTEL_SDK_DISABLED')
@@ -1,10 +1,12 @@
1
1
  'use strict'
2
2
 
3
+ const { errorMonitor } = require('node:events')
4
+
5
+ const shimmer = require('../../datadog-shimmer')
3
6
  const {
4
7
  channel,
5
8
  addHook
6
9
  } = require('./helpers/instrument')
7
- const shimmer = require('../../datadog-shimmer')
8
10
 
9
11
  const startCh = channel('apm:pg:query:start')
10
12
  const finishCh = channel('apm:pg:query:finish')
@@ -13,8 +15,6 @@ const errorCh = channel('apm:pg:query:error')
13
15
  const startPoolQueryCh = channel('datadog:pg:pool:query:start')
14
16
  const finishPoolQueryCh = channel('datadog:pg:pool:query:finish')
15
17
 
16
- const { errorMonitor } = require('node:events')
17
-
18
18
  addHook({ name: 'pg', versions: ['>=8.0.3'], file: 'lib/native/client.js' }, Client => {
19
19
  shimmer.wrap(Client.prototype, 'query', query => wrapQuery(query))
20
20
  return Client
@@ -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
  function wrapPino (symbol, wrapper, pino) {
10
10
  return function pinoWithTrace () {
@@ -2,7 +2,6 @@
2
2
 
3
3
  const satisfies = require('../../../vendor/dist/semifies')
4
4
 
5
- const { addHook, channel } = require('./helpers/instrument')
6
5
  const shimmer = require('../../datadog-shimmer')
7
6
  const {
8
7
  parseAnnotations,
@@ -15,6 +14,7 @@ const {
15
14
  getEnvironmentVariable
16
15
  } = require('../../dd-trace/src/config-helper')
17
16
  const { DD_MAJOR } = require('../../../version')
17
+ const { addHook, channel } = require('./helpers/instrument')
18
18
 
19
19
  const testStartCh = channel('ci:playwright:test:start')
20
20
  const testFinishCh = channel('ci:playwright:test:finish')
@@ -1,12 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- channel,
5
- addHook
6
- } = require('./helpers/instrument')
3
+ const tracingChannel = require('dc-polyfill').tracingChannel
7
4
 
5
+ const { channel, addHook } = require('./helpers/instrument')
8
6
  const prismaEngineStart = channel('apm:prisma:engine:start')
9
- const tracingChannel = require('dc-polyfill').tracingChannel
10
7
  const clientCH = tracingChannel('apm:prisma:client')
11
8
 
12
9
  const allowedClientSpanOperations = new Set([
@@ -15,14 +12,20 @@ const allowedClientSpanOperations = new Set([
15
12
  'transaction'
16
13
  ])
17
14
 
18
- class TracingHelper {
15
+ class DatadogTracingHelper {
19
16
  dbConfig = null
17
+
18
+ constructor (dbConfig = null) {
19
+ this.dbConfig = dbConfig
20
+ }
21
+
20
22
  isEnabled () {
21
23
  return true
22
24
  }
23
25
 
24
26
  // needs a sampled tracecontext to generate engine spans
25
27
  getTraceParent (context) {
28
+ // TODO: Fix the id
26
29
  return '00-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbbbbb-01' // valid sampled traceparent
27
30
  }
28
31
 
@@ -34,7 +37,9 @@ class TracingHelper {
34
37
  }
35
38
  }
36
39
 
37
- getActiveContext () {}
40
+ getActiveContext () {
41
+ // TODO: Fix context
42
+ }
38
43
 
39
44
  runInChildSpan (options, callback) {
40
45
  if (typeof options === 'string') {
@@ -63,42 +68,52 @@ class TracingHelper {
63
68
  }
64
69
  }
65
70
 
66
- addHook({ name: '@prisma/client', versions: ['>=6.1.0'] }, (prisma, version) => {
67
- const tracingHelper = new TracingHelper()
68
-
69
- // we need to patch the prototype to get db config since this works for ESM and CJS alike.
70
- const originalRequest = prisma.PrismaClient.prototype._request
71
- prisma.PrismaClient.prototype._request = function () {
72
- if (!tracingHelper.dbConfig) {
73
- const inlineDatasources = this._engine?.config.inlineDatasources
74
- const overrideDatasources = this._engine?.config.overrideDatasources
75
- const datasources = inlineDatasources?.db.url?.value ?? overrideDatasources?.db?.url
76
- if (datasources) {
77
- const result = parseDBString(datasources)
78
- tracingHelper.setDbString(result)
71
+ const prismaHook = (runtime, versions, name, isIitm) => {
72
+ const originalGetPrismaClient = runtime.getPrismaClient
73
+
74
+ if (!originalGetPrismaClient) return runtime
75
+ const datadogTracingHelper = new DatadogTracingHelper()
76
+
77
+ const wrappedGetPrismaClient = function (config) {
78
+ const datasources = config.inlineDatasources?.db.url?.value
79
+ if (datasources) {
80
+ const dbConfig = parseDBString(datasources)
81
+ datadogTracingHelper.setDbString(dbConfig)
82
+ }
83
+
84
+ const PrismaClient = originalGetPrismaClient.call(this, config)
85
+ return class WrappedPrismaClientClass extends PrismaClient {
86
+ constructor (clientConfig) {
87
+ super(clientConfig)
88
+ this._tracingHelper = datadogTracingHelper
89
+ this._engine.tracingHelper = datadogTracingHelper
79
90
  }
80
91
  }
81
- return originalRequest.apply(this, arguments)
82
92
  }
83
93
 
84
- /*
85
- * This is taking advantage of the built in tracing support from Prisma.
86
- * The below variable is setting a global tracing helper that Prisma uses
87
- * to enable OpenTelemetry.
88
- */
89
- // https://github.com/prisma/prisma/blob/478293bbfce91e41ceff02f2a0b03bb8acbca03e/packages/instrumentation/src/PrismaInstrumentation.ts#L42
90
- const versions = version.split('.')
91
- if (versions[0] === '6' && versions[1] < 4) {
92
- global.PRISMA_INSTRUMENTATION = {
93
- helper: tracingHelper
94
- }
95
- } else {
96
- global[`V${versions[0]}_PRISMA_INSTRUMENTATION`] = {
97
- helper: tracingHelper
98
- }
94
+ if (isIitm) {
95
+ runtime.getPrismaClient = wrappedGetPrismaClient
96
+ return runtime
99
97
  }
100
98
 
101
- return prisma
99
+ return new Proxy(runtime, {
100
+ get (target, prop) {
101
+ if (prop === 'getPrismaClient') {
102
+ return wrappedGetPrismaClient
103
+ }
104
+ return target[prop]
105
+ }
106
+ })
107
+ }
108
+
109
+ const prismaConfigs = [
110
+ { name: '@prisma/client', versions: ['>=6.1.0 <7.0.0'], filePattern: 'runtime/library.*' },
111
+ { name: './runtime/library.js', versions: ['>=6.1.0 <7.0.0'], file: 'runtime/library.js' },
112
+ { name: '@prisma/client', versions: ['>=7.0.0'], filePattern: 'runtime/client.*' }
113
+ ]
114
+
115
+ prismaConfigs.forEach(config => {
116
+ addHook(config, prismaHook)
102
117
  })
103
118
 
104
119
  function parseDBString (dbString) {
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
- const shimmer = require('../../datadog-shimmer')
4
3
  const { channel } = require('dc-polyfill')
4
+ const shimmer = require('../../datadog-shimmer')
5
5
 
6
6
  const startSetUncaughtExceptionCaptureCallback = channel('datadog:process:setUncaughtExceptionCaptureCallback:start')
7
7
 
@@ -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
  addHook({
8
8
  name: 'promise-js',
@@ -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
  addHook({
8
8
  name: 'promise',
@@ -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:protobufjs:serialize-start')
8
8
  const deserializeChannel = dc.channel('apm:protobufjs:deserialize-end')
9
9
 
@@ -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
  addHook({
8
8
  name: 'q',
@@ -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:redis:command:start')
10
10
  const finishCh = channel('apm:redis:command:finish')
@@ -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 circularBufferConstructor = Symbol('circularBufferConstructor')
10
10
  const inFlightDeliveries = Symbol('inFlightDeliveries')
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
- const { addHook, channel } = require('./helpers/instrument')
4
3
  const shimmer = require('../../datadog-shimmer')
5
4
  const { getEnvironmentVariable } = require('../../dd-trace/src/config-helper')
5
+ const { addHook, channel } = require('./helpers/instrument')
6
6
 
7
7
  const ciSeleniumDriverGetStartCh = channel('ci:selenium:driver:get')
8
8
 
@@ -1,12 +1,11 @@
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
8
 
8
- const shimmer = require('../../datadog-shimmer')
9
-
10
9
  addHook({ name: 'sequelize', versions: ['>=4'], file: ['lib/sequelize.js'] }, Sequelize => {
11
10
  const startCh = channel('datadog:sequelize:query:start')
12
11
  const finishCh = channel('datadog:sequelize:query:finish')
@@ -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
  /**
10
10
  * @description The enum values in this map are not exposed from ShareDB, so the keys are hard-coded here.