dd-trace 6.0.0-pre-10da8f2 → 6.0.0-pre-b4d004d

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 (670) hide show
  1. package/LICENSE-3rdparty.csv +25 -18
  2. package/README.md +5 -17
  3. package/ci/cypress/after-run.js +2 -0
  4. package/ci/cypress/after-spec.js +2 -0
  5. package/ci/cypress/plugin.js +10 -0
  6. package/ci/cypress/polyfills.js +25 -0
  7. package/ci/cypress/support.js +2 -0
  8. package/ci/init.js +57 -47
  9. package/ext/exporters.d.ts +3 -1
  10. package/ext/exporters.js +3 -1
  11. package/index.d.ts +709 -52
  12. package/init.js +0 -2
  13. package/initialize.mjs +14 -7
  14. package/loader-hook.mjs +52 -1
  15. package/package.json +121 -75
  16. package/packages/datadog-code-origin/index.js +39 -13
  17. package/packages/datadog-core/src/storage.js +17 -15
  18. package/packages/datadog-core/src/utils/src/kebabcase.js +4 -6
  19. package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
  20. package/packages/datadog-core/src/utils/src/pick.js +2 -2
  21. package/packages/datadog-core/src/utils/src/set.js +13 -11
  22. package/packages/datadog-core/src/utils/src/uniq.js +1 -1
  23. package/packages/datadog-esbuild/index.js +254 -60
  24. package/packages/datadog-esbuild/src/utils.js +198 -0
  25. package/packages/datadog-instrumentations/src/ai.js +151 -0
  26. package/packages/datadog-instrumentations/src/amqp10.js +19 -17
  27. package/packages/datadog-instrumentations/src/amqplib.js +57 -37
  28. package/packages/datadog-instrumentations/src/anthropic.js +115 -0
  29. package/packages/datadog-instrumentations/src/apollo-server.js +56 -3
  30. package/packages/datadog-instrumentations/src/apollo.js +9 -12
  31. package/packages/datadog-instrumentations/src/avsc.js +2 -0
  32. package/packages/datadog-instrumentations/src/aws-sdk.js +89 -62
  33. package/packages/datadog-instrumentations/src/azure-event-hubs.js +37 -0
  34. package/packages/datadog-instrumentations/src/azure-functions.js +10 -2
  35. package/packages/datadog-instrumentations/src/azure-service-bus.js +65 -0
  36. package/packages/datadog-instrumentations/src/cassandra-driver.js +51 -68
  37. package/packages/datadog-instrumentations/src/child_process.js +25 -46
  38. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +420 -0
  39. package/packages/datadog-instrumentations/src/connect.js +6 -2
  40. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  41. package/packages/datadog-instrumentations/src/couchbase.js +104 -69
  42. package/packages/datadog-instrumentations/src/cucumber.js +264 -154
  43. package/packages/datadog-instrumentations/src/cypress.js +4 -1
  44. package/packages/datadog-instrumentations/src/dd-trace-api.js +7 -0
  45. package/packages/datadog-instrumentations/src/dns.js +20 -18
  46. package/packages/datadog-instrumentations/src/elasticsearch.js +22 -26
  47. package/packages/datadog-instrumentations/src/express.js +105 -21
  48. package/packages/datadog-instrumentations/src/fastify.js +159 -38
  49. package/packages/datadog-instrumentations/src/fetch.js +1 -1
  50. package/packages/datadog-instrumentations/src/fs.js +44 -52
  51. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +35 -43
  52. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +102 -0
  53. package/packages/datadog-instrumentations/src/graphql.js +110 -132
  54. package/packages/datadog-instrumentations/src/grpc/client.js +11 -23
  55. package/packages/datadog-instrumentations/src/grpc/server.js +7 -20
  56. package/packages/datadog-instrumentations/src/hapi.js +10 -11
  57. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +20 -5
  58. package/packages/datadog-instrumentations/src/{check_require_cache.js → helpers/check-require-cache.js} +4 -4
  59. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +42 -0
  60. package/packages/datadog-instrumentations/src/helpers/fetch.js +4 -5
  61. package/packages/datadog-instrumentations/src/helpers/hook.js +29 -17
  62. package/packages/datadog-instrumentations/src/helpers/hooks.js +16 -4
  63. package/packages/datadog-instrumentations/src/helpers/instrument.js +16 -46
  64. package/packages/datadog-instrumentations/src/helpers/register.js +98 -35
  65. package/packages/datadog-instrumentations/src/helpers/router-helper.js +238 -0
  66. package/packages/datadog-instrumentations/src/hono.js +105 -0
  67. package/packages/datadog-instrumentations/src/http/client.js +16 -21
  68. package/packages/datadog-instrumentations/src/http2/client.js +1 -0
  69. package/packages/datadog-instrumentations/src/http2/server.js +14 -21
  70. package/packages/datadog-instrumentations/src/ioredis.js +20 -14
  71. package/packages/datadog-instrumentations/src/iovalkey.js +47 -0
  72. package/packages/datadog-instrumentations/src/jest.js +878 -519
  73. package/packages/datadog-instrumentations/src/kafkajs.js +65 -44
  74. package/packages/datadog-instrumentations/src/knex.js +17 -19
  75. package/packages/datadog-instrumentations/src/koa.js +2 -3
  76. package/packages/datadog-instrumentations/src/langchain.js +79 -43
  77. package/packages/datadog-instrumentations/src/ldapjs.js +3 -4
  78. package/packages/datadog-instrumentations/src/limitd-client.js +2 -1
  79. package/packages/datadog-instrumentations/src/mariadb.js +70 -65
  80. package/packages/datadog-instrumentations/src/memcached.js +17 -24
  81. package/packages/datadog-instrumentations/src/microgateway-core.js +16 -15
  82. package/packages/datadog-instrumentations/src/mocha/common.js +2 -0
  83. package/packages/datadog-instrumentations/src/mocha/main.js +212 -138
  84. package/packages/datadog-instrumentations/src/mocha/utils.js +209 -120
  85. package/packages/datadog-instrumentations/src/mocha/worker.js +16 -9
  86. package/packages/datadog-instrumentations/src/mocha.js +5 -1
  87. package/packages/datadog-instrumentations/src/moleculer/client.js +11 -13
  88. package/packages/datadog-instrumentations/src/moleculer/server.js +12 -13
  89. package/packages/datadog-instrumentations/src/mongodb-core.js +35 -32
  90. package/packages/datadog-instrumentations/src/mongodb.js +9 -13
  91. package/packages/datadog-instrumentations/src/mongoose.js +27 -30
  92. package/packages/datadog-instrumentations/src/mysql.js +30 -37
  93. package/packages/datadog-instrumentations/src/mysql2.js +61 -53
  94. package/packages/datadog-instrumentations/src/net.js +28 -30
  95. package/packages/datadog-instrumentations/src/next.js +30 -40
  96. package/packages/datadog-instrumentations/src/nyc.js +6 -2
  97. package/packages/datadog-instrumentations/src/openai.js +52 -121
  98. package/packages/datadog-instrumentations/src/oracledb.js +51 -17
  99. package/packages/datadog-instrumentations/src/orchestrion-config/index.js +86 -0
  100. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -3
  101. package/packages/datadog-instrumentations/src/pg.js +61 -61
  102. package/packages/datadog-instrumentations/src/pino.js +18 -6
  103. package/packages/datadog-instrumentations/src/playwright.js +837 -168
  104. package/packages/datadog-instrumentations/src/prisma.js +114 -0
  105. package/packages/datadog-instrumentations/src/protobufjs.js +5 -4
  106. package/packages/datadog-instrumentations/src/redis.js +35 -46
  107. package/packages/datadog-instrumentations/src/restify.js +9 -13
  108. package/packages/datadog-instrumentations/src/rhea.js +42 -54
  109. package/packages/datadog-instrumentations/src/router.js +96 -45
  110. package/packages/datadog-instrumentations/src/selenium.js +2 -0
  111. package/packages/datadog-instrumentations/src/sequelize.js +5 -15
  112. package/packages/datadog-instrumentations/src/sharedb.js +10 -16
  113. package/packages/datadog-instrumentations/src/tedious.js +20 -23
  114. package/packages/datadog-instrumentations/src/url.js +9 -17
  115. package/packages/datadog-instrumentations/src/vitest.js +557 -195
  116. package/packages/datadog-instrumentations/src/ws.js +136 -0
  117. package/packages/datadog-plugin-aerospike/src/index.js +11 -11
  118. package/packages/datadog-plugin-ai/src/index.js +17 -0
  119. package/packages/datadog-plugin-ai/src/tracing.js +33 -0
  120. package/packages/datadog-plugin-ai/src/utils.js +28 -0
  121. package/packages/datadog-plugin-amqp10/src/consumer.js +9 -5
  122. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  123. package/packages/datadog-plugin-amqp10/src/producer.js +10 -6
  124. package/packages/datadog-plugin-amqplib/src/client.js +9 -5
  125. package/packages/datadog-plugin-amqplib/src/consumer.js +8 -4
  126. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  127. package/packages/datadog-plugin-amqplib/src/producer.js +8 -4
  128. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  129. package/packages/datadog-plugin-anthropic/src/index.js +17 -0
  130. package/packages/datadog-plugin-anthropic/src/tracing.js +30 -0
  131. package/packages/datadog-plugin-apollo/src/gateway/execute.js +2 -4
  132. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +2 -4
  133. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  134. package/packages/datadog-plugin-apollo/src/gateway/plan.js +2 -4
  135. package/packages/datadog-plugin-apollo/src/gateway/postprocessing.js +2 -4
  136. package/packages/datadog-plugin-apollo/src/gateway/request.js +7 -10
  137. package/packages/datadog-plugin-apollo/src/gateway/validate.js +4 -7
  138. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  139. package/packages/datadog-plugin-avsc/src/index.js +4 -2
  140. package/packages/datadog-plugin-avsc/src/schema_iterator.js +14 -12
  141. package/packages/datadog-plugin-aws-sdk/src/base.js +152 -54
  142. package/packages/datadog-plugin-aws-sdk/src/index.js +1 -3
  143. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +3 -3
  144. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +10 -42
  145. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +208 -36
  146. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +4 -6
  147. package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +40 -51
  148. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +4 -4
  149. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +33 -31
  150. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +5 -7
  151. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +4 -6
  152. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +6 -8
  153. package/packages/datadog-plugin-aws-sdk/src/services/sfn.js +1 -1
  154. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -6
  155. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +34 -32
  156. package/packages/datadog-plugin-aws-sdk/src/services/states.js +1 -1
  157. package/packages/datadog-plugin-aws-sdk/src/services/stepfunctions.js +2 -2
  158. package/packages/datadog-plugin-aws-sdk/src/util.js +68 -9
  159. package/packages/datadog-plugin-azure-event-hubs/src/index.js +15 -0
  160. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +82 -0
  161. package/packages/datadog-plugin-azure-functions/src/index.js +110 -33
  162. package/packages/datadog-plugin-azure-service-bus/src/index.js +15 -0
  163. package/packages/datadog-plugin-azure-service-bus/src/producer.js +84 -0
  164. package/packages/datadog-plugin-bunyan/src/index.js +1 -3
  165. package/packages/datadog-plugin-cassandra-driver/src/index.js +10 -6
  166. package/packages/datadog-plugin-child_process/src/index.js +36 -16
  167. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +24 -24
  168. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/batch-consumer.js +9 -0
  169. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/consumer.js +9 -0
  170. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +25 -0
  171. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/producer.js +9 -0
  172. package/packages/datadog-plugin-connect/src/index.js +1 -3
  173. package/packages/datadog-plugin-couchbase/src/index.js +39 -19
  174. package/packages/datadog-plugin-cucumber/src/index.js +144 -86
  175. package/packages/datadog-plugin-cypress/src/after-run.js +2 -0
  176. package/packages/datadog-plugin-cypress/src/after-spec.js +2 -0
  177. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +237 -83
  178. package/packages/datadog-plugin-cypress/src/index.js +3 -3
  179. package/packages/datadog-plugin-cypress/src/plugin.js +23 -1
  180. package/packages/datadog-plugin-cypress/src/support.js +65 -17
  181. package/packages/datadog-plugin-dd-trace-api/src/index.js +3 -4
  182. package/packages/datadog-plugin-dns/src/index.js +1 -1
  183. package/packages/datadog-plugin-dns/src/lookup.js +12 -7
  184. package/packages/datadog-plugin-dns/src/lookup_service.js +8 -4
  185. package/packages/datadog-plugin-dns/src/resolve.js +7 -4
  186. package/packages/datadog-plugin-dns/src/reverse.js +8 -4
  187. package/packages/datadog-plugin-elasticsearch/src/index.js +14 -6
  188. package/packages/datadog-plugin-express/src/code_origin.js +41 -0
  189. package/packages/datadog-plugin-express/src/index.js +10 -12
  190. package/packages/datadog-plugin-express/src/tracing.js +17 -0
  191. package/packages/datadog-plugin-fastify/src/code_origin.js +2 -5
  192. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  193. package/packages/datadog-plugin-fastify/src/tracing.js +18 -3
  194. package/packages/datadog-plugin-fetch/src/index.js +2 -2
  195. package/packages/datadog-plugin-find-my-way/src/index.js +1 -3
  196. package/packages/datadog-plugin-fs/src/index.js +11 -4
  197. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +10 -6
  198. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +14 -9
  199. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  200. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +8 -4
  201. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +17 -0
  202. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +49 -0
  203. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +21 -0
  204. package/packages/datadog-plugin-graphql/src/execute.js +18 -11
  205. package/packages/datadog-plugin-graphql/src/index.js +14 -9
  206. package/packages/datadog-plugin-graphql/src/parse.js +13 -10
  207. package/packages/datadog-plugin-graphql/src/resolve.js +67 -26
  208. package/packages/datadog-plugin-graphql/src/tools/index.js +0 -1
  209. package/packages/datadog-plugin-graphql/src/tools/signature.js +0 -1
  210. package/packages/datadog-plugin-graphql/src/tools/transforms.js +0 -1
  211. package/packages/datadog-plugin-graphql/src/utils.js +2 -0
  212. package/packages/datadog-plugin-graphql/src/validate.js +13 -7
  213. package/packages/datadog-plugin-grpc/src/client.js +6 -6
  214. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  215. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  216. package/packages/datadog-plugin-grpc/src/util.js +7 -3
  217. package/packages/datadog-plugin-hapi/src/index.js +1 -3
  218. package/packages/datadog-plugin-hono/src/index.js +26 -0
  219. package/packages/datadog-plugin-http/src/client.js +34 -20
  220. package/packages/datadog-plugin-http/src/index.js +1 -1
  221. package/packages/datadog-plugin-http/src/server.js +5 -8
  222. package/packages/datadog-plugin-http2/src/client.js +39 -34
  223. package/packages/datadog-plugin-http2/src/index.js +1 -1
  224. package/packages/datadog-plugin-http2/src/server.js +23 -11
  225. package/packages/datadog-plugin-ioredis/src/index.js +1 -3
  226. package/packages/datadog-plugin-iovalkey/src/index.js +16 -0
  227. package/packages/datadog-plugin-jest/src/index.js +156 -77
  228. package/packages/datadog-plugin-jest/src/util.js +20 -10
  229. package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +9 -4
  230. package/packages/datadog-plugin-kafkajs/src/consumer.js +23 -28
  231. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  232. package/packages/datadog-plugin-kafkajs/src/producer.js +22 -10
  233. package/packages/datadog-plugin-kafkajs/src/utils.js +27 -0
  234. package/packages/datadog-plugin-koa/src/index.js +1 -3
  235. package/packages/datadog-plugin-langchain/src/handlers/default.js +0 -18
  236. package/packages/datadog-plugin-langchain/src/handlers/embedding.js +0 -45
  237. package/packages/datadog-plugin-langchain/src/handlers/language_models.js +18 -0
  238. package/packages/datadog-plugin-langchain/src/index.js +18 -13
  239. package/packages/datadog-plugin-langchain/src/tracing.js +97 -34
  240. package/packages/datadog-plugin-mariadb/src/index.js +5 -11
  241. package/packages/datadog-plugin-memcached/src/index.js +7 -3
  242. package/packages/datadog-plugin-microgateway-core/src/index.js +4 -4
  243. package/packages/datadog-plugin-mocha/src/index.js +151 -114
  244. package/packages/datadog-plugin-moleculer/src/client.js +17 -11
  245. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  246. package/packages/datadog-plugin-moleculer/src/server.js +11 -7
  247. package/packages/datadog-plugin-mongodb-core/src/index.js +71 -13
  248. package/packages/datadog-plugin-mongoose/src/index.js +20 -0
  249. package/packages/datadog-plugin-mysql/src/index.js +24 -11
  250. package/packages/datadog-plugin-mysql2/src/index.js +17 -1
  251. package/packages/datadog-plugin-net/src/index.js +1 -1
  252. package/packages/datadog-plugin-net/src/ipc.js +8 -6
  253. package/packages/datadog-plugin-net/src/tcp.js +18 -12
  254. package/packages/datadog-plugin-next/src/index.js +10 -10
  255. package/packages/datadog-plugin-nyc/src/index.js +3 -3
  256. package/packages/datadog-plugin-openai/src/index.js +1 -1
  257. package/packages/datadog-plugin-openai/src/services.js +6 -10
  258. package/packages/datadog-plugin-openai/src/stream-helpers.js +139 -0
  259. package/packages/datadog-plugin-openai/src/tracing.js +205 -485
  260. package/packages/datadog-plugin-opensearch/src/index.js +1 -3
  261. package/packages/datadog-plugin-oracledb/src/connection-parser.js +37 -0
  262. package/packages/datadog-plugin-oracledb/src/index.js +22 -19
  263. package/packages/datadog-plugin-pg/src/index.js +12 -5
  264. package/packages/datadog-plugin-pino/src/index.js +1 -3
  265. package/packages/datadog-plugin-playwright/src/index.js +257 -32
  266. package/packages/datadog-plugin-prisma/src/client.js +60 -0
  267. package/packages/datadog-plugin-prisma/src/engine.js +81 -0
  268. package/packages/datadog-plugin-prisma/src/index.js +22 -0
  269. package/packages/datadog-plugin-protobufjs/src/index.js +4 -6
  270. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +10 -9
  271. package/packages/datadog-plugin-redis/src/index.js +21 -12
  272. package/packages/datadog-plugin-restify/src/index.js +1 -3
  273. package/packages/datadog-plugin-rhea/src/consumer.js +9 -7
  274. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  275. package/packages/datadog-plugin-rhea/src/producer.js +7 -4
  276. package/packages/datadog-plugin-router/src/index.js +3 -4
  277. package/packages/datadog-plugin-selenium/src/index.js +4 -9
  278. package/packages/datadog-plugin-sharedb/src/index.js +14 -6
  279. package/packages/datadog-plugin-tedious/src/index.js +19 -13
  280. package/packages/datadog-plugin-undici/src/index.js +2 -4
  281. package/packages/datadog-plugin-vitest/src/index.js +197 -88
  282. package/packages/datadog-plugin-web/src/index.js +1 -3
  283. package/packages/datadog-plugin-winston/src/index.js +1 -3
  284. package/packages/datadog-plugin-ws/src/close.js +69 -0
  285. package/packages/datadog-plugin-ws/src/index.js +26 -0
  286. package/packages/datadog-plugin-ws/src/producer.js +65 -0
  287. package/packages/datadog-plugin-ws/src/receiver.js +75 -0
  288. package/packages/datadog-plugin-ws/src/server.js +81 -0
  289. package/packages/datadog-shimmer/src/shimmer.js +213 -231
  290. package/packages/dd-trace/src/aiguard/client.js +25 -0
  291. package/packages/dd-trace/src/aiguard/noop.js +9 -0
  292. package/packages/dd-trace/src/aiguard/sdk.js +195 -0
  293. package/packages/dd-trace/src/aiguard/tags.js +14 -0
  294. package/packages/dd-trace/src/appsec/api_security_sampler.js +29 -17
  295. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  296. package/packages/dd-trace/src/appsec/blocking.js +59 -35
  297. package/packages/dd-trace/src/appsec/channels.js +30 -21
  298. package/packages/dd-trace/src/appsec/graphql.js +31 -20
  299. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +0 -1
  300. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +9 -18
  301. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +0 -1
  302. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +0 -1
  303. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +0 -1
  304. package/packages/dd-trace/src/appsec/iast/analyzers/hsts-header-missing-analyzer.js +9 -14
  305. package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +6 -4
  306. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +15 -17
  307. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +43 -15
  308. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +16 -12
  309. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +25 -18
  310. package/packages/dd-trace/src/appsec/iast/analyzers/sql-injection-analyzer.js +26 -11
  311. package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +9 -0
  312. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +18 -21
  313. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +5 -4
  314. package/packages/dd-trace/src/appsec/iast/analyzers/xcontenttype-header-missing-analyzer.js +2 -2
  315. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +2 -3
  316. package/packages/dd-trace/src/appsec/iast/iast-context.js +5 -1
  317. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +8 -4
  318. package/packages/dd-trace/src/appsec/iast/index.js +28 -8
  319. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +102 -7
  320. package/packages/dd-trace/src/appsec/iast/path-line.js +28 -11
  321. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +17 -25
  322. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +7 -7
  323. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +4 -4
  324. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +0 -3
  325. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +51 -5
  326. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +6 -29
  327. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +88 -31
  328. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugins/kafka.js +3 -4
  329. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +26 -15
  330. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-telemetry.js +3 -32
  331. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +116 -65
  332. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +0 -1
  333. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -2
  334. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +7 -7
  335. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -3
  336. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +10 -11
  337. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/command-sensitive-analyzer.js +1 -1
  338. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/ldap-sensitive-analyzer.js +2 -2
  339. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +7 -7
  340. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +23 -28
  341. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +5 -3
  342. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +6 -7
  343. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +8 -13
  344. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +2 -1
  345. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +12 -15
  346. package/packages/dd-trace/src/appsec/index.js +63 -21
  347. package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
  348. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +15 -11
  349. package/packages/dd-trace/src/appsec/rasp/index.js +44 -22
  350. package/packages/dd-trace/src/appsec/rasp/lfi.js +26 -11
  351. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +1 -1
  352. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  353. package/packages/dd-trace/src/appsec/rasp/utils.js +30 -15
  354. package/packages/dd-trace/src/appsec/recommended.json +601 -74
  355. package/packages/dd-trace/src/appsec/reporter.js +393 -73
  356. package/packages/dd-trace/src/appsec/rule_manager.js +64 -172
  357. package/packages/dd-trace/src/appsec/sdk/index.js +23 -1
  358. package/packages/dd-trace/src/appsec/sdk/noop.js +10 -0
  359. package/packages/dd-trace/src/appsec/sdk/set_user.js +4 -3
  360. package/packages/dd-trace/src/appsec/sdk/track_event.js +135 -11
  361. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +3 -6
  362. package/packages/dd-trace/src/appsec/stack_trace.js +35 -18
  363. package/packages/dd-trace/src/appsec/telemetry/common.js +8 -4
  364. package/packages/dd-trace/src/appsec/telemetry/index.js +97 -9
  365. package/packages/dd-trace/src/appsec/telemetry/rasp.js +75 -7
  366. package/packages/dd-trace/src/appsec/telemetry/user.js +9 -1
  367. package/packages/dd-trace/src/appsec/telemetry/waf.js +68 -17
  368. package/packages/dd-trace/src/appsec/user_tracking.js +5 -9
  369. package/packages/dd-trace/src/appsec/waf/diagnostics.js +15 -0
  370. package/packages/dd-trace/src/appsec/waf/index.js +67 -7
  371. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +60 -22
  372. package/packages/dd-trace/src/appsec/waf/waf_manager.js +26 -7
  373. package/packages/dd-trace/src/azure_metadata.js +13 -12
  374. package/packages/dd-trace/src/baggage.js +36 -0
  375. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +14 -12
  376. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +5 -5
  377. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +6 -3
  378. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +3 -3
  379. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  380. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +4 -3
  381. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +7 -6
  382. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +26 -20
  383. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +15 -12
  384. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +30 -10
  385. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +41 -9
  386. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +7 -5
  387. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +8 -7
  388. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +19 -12
  389. package/packages/dd-trace/src/ci-visibility/telemetry.js +8 -1
  390. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +3 -3
  391. package/packages/dd-trace/src/ci-visibility/{quarantined-tests/get-quarantined-tests.js → test-management/get-test-management-tests.js} +23 -9
  392. package/packages/dd-trace/src/config-helper.js +99 -0
  393. package/packages/dd-trace/src/config.js +926 -823
  394. package/packages/dd-trace/src/config_defaults.js +207 -0
  395. package/packages/dd-trace/src/config_stable.js +105 -0
  396. package/packages/dd-trace/src/constants.js +2 -1
  397. package/packages/dd-trace/src/crashtracking/crashtracker.js +14 -15
  398. package/packages/dd-trace/src/datastreams/checkpointer.js +25 -2
  399. package/packages/dd-trace/src/datastreams/context.js +3 -1
  400. package/packages/dd-trace/src/datastreams/encoding.js +11 -9
  401. package/packages/dd-trace/src/datastreams/fnv.js +6 -4
  402. package/packages/dd-trace/src/datastreams/index.js +23 -1
  403. package/packages/dd-trace/src/datastreams/pathway.js +16 -14
  404. package/packages/dd-trace/src/datastreams/processor.js +20 -22
  405. package/packages/dd-trace/src/datastreams/schemas/schema.js +2 -0
  406. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +50 -45
  407. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +8 -10
  408. package/packages/dd-trace/src/datastreams/size.js +1 -1
  409. package/packages/dd-trace/src/datastreams/writer.js +8 -5
  410. package/packages/dd-trace/src/debugger/config.js +16 -0
  411. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +197 -23
  412. package/packages/dd-trace/src/debugger/devtools_client/condition.js +294 -0
  413. package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -7
  414. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  415. package/packages/dd-trace/src/debugger/devtools_client/index.js +159 -79
  416. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +2 -0
  417. package/packages/dd-trace/src/debugger/devtools_client/log.js +30 -0
  418. package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +27 -50
  419. package/packages/dd-trace/src/debugger/devtools_client/send.js +23 -14
  420. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +16 -12
  421. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +19 -7
  422. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +80 -76
  423. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +4 -4
  424. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  425. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +3 -11
  426. package/packages/dd-trace/src/debugger/devtools_client/state.js +38 -7
  427. package/packages/dd-trace/src/debugger/devtools_client/status.js +6 -2
  428. package/packages/dd-trace/src/debugger/index.js +52 -11
  429. package/packages/dd-trace/src/dogstatsd.js +197 -51
  430. package/packages/dd-trace/src/encode/0.4.js +122 -20
  431. package/packages/dd-trace/src/encode/0.5.js +11 -7
  432. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +17 -10
  433. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
  434. package/packages/dd-trace/src/encode/tags-processors.js +3 -1
  435. package/packages/dd-trace/src/exporter.js +9 -6
  436. package/packages/dd-trace/src/exporters/agent/index.js +16 -9
  437. package/packages/dd-trace/src/exporters/agent/writer.js +8 -9
  438. package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +7 -4
  439. package/packages/dd-trace/src/exporters/common/docker.js +29 -16
  440. package/packages/dd-trace/src/exporters/common/form-data.js +6 -4
  441. package/packages/dd-trace/src/exporters/common/request.js +9 -8
  442. package/packages/dd-trace/src/exporters/common/util.js +6 -2
  443. package/packages/dd-trace/src/exporters/log/index.js +1 -1
  444. package/packages/dd-trace/src/exporters/span-stats/index.js +5 -2
  445. package/packages/dd-trace/src/exporters/span-stats/writer.js +8 -7
  446. package/packages/dd-trace/src/external-logger/src/index.js +7 -5
  447. package/packages/dd-trace/src/flare/file.js +1 -5
  448. package/packages/dd-trace/src/format.js +83 -85
  449. package/packages/dd-trace/src/git_metadata_tagger.js +2 -0
  450. package/packages/dd-trace/src/git_properties.js +93 -6
  451. package/packages/dd-trace/src/guardrails/index.js +14 -5
  452. package/packages/dd-trace/src/guardrails/log.js +2 -2
  453. package/packages/dd-trace/src/guardrails/telemetry.js +37 -23
  454. package/packages/dd-trace/src/guardrails/util.js +0 -2
  455. package/packages/dd-trace/src/heap_snapshots.js +58 -0
  456. package/packages/dd-trace/src/histogram.js +12 -23
  457. package/packages/dd-trace/src/id.js +15 -9
  458. package/packages/dd-trace/src/iitm.js +10 -22
  459. package/packages/dd-trace/src/index.js +4 -3
  460. package/packages/dd-trace/src/lambda/handler.js +7 -6
  461. package/packages/dd-trace/src/lambda/index.js +2 -1
  462. package/packages/dd-trace/src/lambda/runtime/patch.js +12 -9
  463. package/packages/dd-trace/src/lambda/runtime/ritm.js +17 -21
  464. package/packages/dd-trace/src/llmobs/constants/tags.js +5 -0
  465. package/packages/dd-trace/src/llmobs/constants/writers.js +9 -5
  466. package/packages/dd-trace/src/llmobs/index.js +67 -18
  467. package/packages/dd-trace/src/llmobs/noop.js +17 -19
  468. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +365 -0
  469. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +197 -0
  470. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +279 -0
  471. package/packages/dd-trace/src/llmobs/plugins/base.js +16 -14
  472. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +51 -18
  473. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +2 -6
  474. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +3 -3
  475. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +17 -13
  476. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/tool.js +15 -0
  477. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +36 -0
  478. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +99 -16
  479. package/packages/dd-trace/src/llmobs/plugins/openai.js +250 -16
  480. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +195 -0
  481. package/packages/dd-trace/src/llmobs/sdk.js +201 -122
  482. package/packages/dd-trace/src/llmobs/span_processor.js +137 -32
  483. package/packages/dd-trace/src/llmobs/tagger.js +212 -104
  484. package/packages/dd-trace/src/llmobs/telemetry.js +175 -0
  485. package/packages/dd-trace/src/llmobs/util.js +9 -9
  486. package/packages/dd-trace/src/llmobs/writers/base.js +97 -39
  487. package/packages/dd-trace/src/llmobs/writers/evaluations.js +9 -6
  488. package/packages/dd-trace/src/llmobs/writers/spans.js +69 -0
  489. package/packages/dd-trace/src/llmobs/writers/util.js +60 -0
  490. package/packages/dd-trace/src/log/index.js +44 -29
  491. package/packages/dd-trace/src/log/log.js +30 -6
  492. package/packages/dd-trace/src/log/utils.js +16 -0
  493. package/packages/dd-trace/src/log/writer.js +23 -7
  494. package/packages/dd-trace/src/msgpack/chunk.js +3 -3
  495. package/packages/dd-trace/src/msgpack/encoder.js +31 -31
  496. package/packages/dd-trace/src/noop/dogstatsd.js +13 -5
  497. package/packages/dd-trace/src/noop/proxy.js +12 -0
  498. package/packages/dd-trace/src/noop/span.js +5 -6
  499. package/packages/dd-trace/src/noop/tracer.js +1 -2
  500. package/packages/dd-trace/src/openfeature/constants/constants.js +51 -0
  501. package/packages/dd-trace/src/openfeature/flagging_provider.js +45 -0
  502. package/packages/dd-trace/src/openfeature/index.js +77 -0
  503. package/packages/dd-trace/src/openfeature/noop.js +101 -0
  504. package/packages/dd-trace/src/openfeature/writers/base.js +181 -0
  505. package/packages/dd-trace/src/openfeature/writers/exposures.js +173 -0
  506. package/packages/dd-trace/src/openfeature/writers/util.js +43 -0
  507. package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -0
  508. package/packages/dd-trace/src/opentelemetry/logs/batch_log_processor.js +100 -0
  509. package/packages/dd-trace/src/opentelemetry/logs/index.js +87 -0
  510. package/packages/dd-trace/src/opentelemetry/logs/logger.js +77 -0
  511. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +126 -0
  512. package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +53 -0
  513. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +252 -0
  514. package/packages/dd-trace/src/opentelemetry/otlp/common.proto +116 -0
  515. package/packages/dd-trace/src/opentelemetry/otlp/logs.proto +226 -0
  516. package/packages/dd-trace/src/opentelemetry/otlp/logs_service.proto +78 -0
  517. package/packages/dd-trace/src/opentelemetry/otlp/metrics.proto +720 -0
  518. package/packages/dd-trace/src/opentelemetry/otlp/metrics_service.proto +78 -0
  519. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +177 -0
  520. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +163 -0
  521. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +66 -0
  522. package/packages/dd-trace/src/opentelemetry/otlp/resource.proto +45 -0
  523. package/packages/dd-trace/src/opentelemetry/span.js +21 -9
  524. package/packages/dd-trace/src/opentelemetry/span_processor.js +2 -2
  525. package/packages/dd-trace/src/opentelemetry/tracer.js +8 -7
  526. package/packages/dd-trace/src/opentracing/propagation/log.js +10 -13
  527. package/packages/dd-trace/src/opentracing/propagation/text_map.js +98 -56
  528. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  529. package/packages/dd-trace/src/opentracing/propagation/tracestate.js +8 -4
  530. package/packages/dd-trace/src/opentracing/span.js +49 -25
  531. package/packages/dd-trace/src/opentracing/span_context.js +4 -0
  532. package/packages/dd-trace/src/opentracing/tracer.js +10 -7
  533. package/packages/dd-trace/src/payload-tagging/config/index.js +35 -21
  534. package/packages/dd-trace/src/payload-tagging/index.js +30 -17
  535. package/packages/dd-trace/src/payload-tagging/tagging.js +27 -16
  536. package/packages/dd-trace/src/pkg.js +4 -2
  537. package/packages/dd-trace/src/plugin_manager.js +42 -16
  538. package/packages/dd-trace/src/plugins/apollo.js +5 -3
  539. package/packages/dd-trace/src/plugins/cache.js +3 -3
  540. package/packages/dd-trace/src/plugins/ci_plugin.js +227 -27
  541. package/packages/dd-trace/src/plugins/client.js +3 -3
  542. package/packages/dd-trace/src/plugins/composite.js +3 -0
  543. package/packages/dd-trace/src/plugins/consumer.js +5 -5
  544. package/packages/dd-trace/src/plugins/database.js +9 -7
  545. package/packages/dd-trace/src/plugins/inbound.js +5 -1
  546. package/packages/dd-trace/src/plugins/index.js +17 -2
  547. package/packages/dd-trace/src/plugins/log_plugin.js +9 -15
  548. package/packages/dd-trace/src/plugins/outbound.js +27 -11
  549. package/packages/dd-trace/src/plugins/plugin.js +71 -2
  550. package/packages/dd-trace/src/plugins/producer.js +5 -5
  551. package/packages/dd-trace/src/plugins/server.js +3 -3
  552. package/packages/dd-trace/src/plugins/storage.js +3 -3
  553. package/packages/dd-trace/src/plugins/structured_log_plugin.js +9 -0
  554. package/packages/dd-trace/src/plugins/tracing.js +31 -9
  555. package/packages/dd-trace/src/plugins/util/ci.js +128 -44
  556. package/packages/dd-trace/src/plugins/util/env.js +2 -0
  557. package/packages/dd-trace/src/plugins/util/git-cache.js +129 -0
  558. package/packages/dd-trace/src/plugins/util/git.js +302 -47
  559. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +21 -22
  560. package/packages/dd-trace/src/plugins/util/ip_extractor.js +59 -14
  561. package/packages/dd-trace/src/plugins/util/llm.js +29 -10
  562. package/packages/dd-trace/src/plugins/util/serverless.js +3 -2
  563. package/packages/dd-trace/src/plugins/util/stacktrace.js +195 -45
  564. package/packages/dd-trace/src/plugins/util/tags.js +25 -2
  565. package/packages/dd-trace/src/plugins/util/test.js +502 -66
  566. package/packages/dd-trace/src/plugins/util/url.js +3 -1
  567. package/packages/dd-trace/src/plugins/util/urlfilter.js +13 -17
  568. package/packages/dd-trace/src/plugins/util/user-provided-git.js +16 -4
  569. package/packages/dd-trace/src/plugins/util/web.js +49 -21
  570. package/packages/dd-trace/src/priority_sampler.js +178 -40
  571. package/packages/dd-trace/src/profiler.js +5 -4
  572. package/packages/dd-trace/src/profiling/config.js +169 -78
  573. package/packages/dd-trace/src/profiling/exporter_cli.js +19 -21
  574. package/packages/dd-trace/src/profiling/exporters/agent.js +2 -6
  575. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +10 -23
  576. package/packages/dd-trace/src/profiling/exporters/file.js +2 -1
  577. package/packages/dd-trace/src/profiling/index.js +2 -1
  578. package/packages/dd-trace/src/profiling/libuv-size.js +49 -0
  579. package/packages/dd-trace/src/profiling/profiler.js +169 -87
  580. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns.js +4 -6
  581. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookup.js +4 -4
  582. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookupservice.js +4 -4
  583. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_resolve.js +5 -5
  584. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_reverse.js +4 -4
  585. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +31 -27
  586. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +5 -9
  587. package/packages/dd-trace/src/profiling/profilers/event_plugins/net.js +5 -9
  588. package/packages/dd-trace/src/profiling/profilers/events.js +113 -83
  589. package/packages/dd-trace/src/profiling/profilers/poisson.js +105 -0
  590. package/packages/dd-trace/src/profiling/profilers/shared.js +6 -1
  591. package/packages/dd-trace/src/profiling/profilers/space.js +39 -26
  592. package/packages/dd-trace/src/profiling/profilers/wall.js +217 -124
  593. package/packages/dd-trace/src/profiling/ssi-heuristics.js +21 -131
  594. package/packages/dd-trace/src/profiling/tagger.js +21 -13
  595. package/packages/dd-trace/src/profiling/webspan-utils.js +3 -1
  596. package/packages/dd-trace/src/proxy.js +116 -53
  597. package/packages/dd-trace/src/random_sampler.js +40 -0
  598. package/packages/dd-trace/src/rate_limiter.js +29 -4
  599. package/packages/dd-trace/src/remote_config/capabilities.js +13 -1
  600. package/packages/dd-trace/src/remote_config/index.js +17 -7
  601. package/packages/dd-trace/src/remote_config/manager.js +34 -16
  602. package/packages/dd-trace/src/remote_config/scheduler.js +2 -1
  603. package/packages/dd-trace/src/require-package-json.js +1 -1
  604. package/packages/dd-trace/src/ritm.js +8 -8
  605. package/packages/dd-trace/src/runtime_metrics/index.js +1 -1
  606. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +195 -240
  607. package/packages/dd-trace/src/sampler.js +48 -2
  608. package/packages/dd-trace/src/sampling_rule.js +135 -4
  609. package/packages/dd-trace/src/scope.js +1 -1
  610. package/packages/dd-trace/src/serverless.js +10 -51
  611. package/packages/dd-trace/src/service-naming/index.js +2 -0
  612. package/packages/dd-trace/src/service-naming/schemas/definition.js +4 -9
  613. package/packages/dd-trace/src/service-naming/schemas/util.js +3 -1
  614. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +2 -0
  615. package/packages/dd-trace/src/service-naming/schemas/v0/index.js +4 -1
  616. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +18 -0
  617. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +2 -0
  618. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +14 -0
  619. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +4 -3
  620. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +30 -0
  621. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +2 -0
  622. package/packages/dd-trace/src/service-naming/schemas/v1/index.js +4 -1
  623. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +18 -0
  624. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +2 -0
  625. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +12 -1
  626. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +2 -0
  627. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +30 -0
  628. package/packages/dd-trace/src/span_processor.js +16 -9
  629. package/packages/dd-trace/src/span_sampler.js +23 -1
  630. package/packages/dd-trace/src/span_stats.js +5 -4
  631. package/packages/dd-trace/src/standalone/index.js +70 -0
  632. package/packages/dd-trace/src/standalone/product.js +35 -0
  633. package/packages/dd-trace/src/standalone/tracesource.js +36 -0
  634. package/packages/dd-trace/src/standalone/tracesource_priority_sampler.js +59 -0
  635. package/packages/dd-trace/src/startup-log.js +45 -51
  636. package/packages/dd-trace/src/supported-configurations.json +495 -0
  637. package/packages/dd-trace/src/tagger.js +38 -33
  638. package/packages/dd-trace/src/telemetry/dependencies.js +64 -59
  639. package/packages/dd-trace/src/telemetry/endpoints.js +150 -0
  640. package/packages/dd-trace/src/telemetry/index.js +16 -13
  641. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  642. package/packages/dd-trace/src/telemetry/logs/log-collector.js +13 -12
  643. package/packages/dd-trace/src/telemetry/metrics.js +10 -13
  644. package/packages/dd-trace/src/telemetry/send-data.js +15 -8
  645. package/packages/dd-trace/src/telemetry/telemetry.js +54 -46
  646. package/packages/dd-trace/src/tracer.js +18 -10
  647. package/packages/dd-trace/src/tracer_metadata.js +25 -0
  648. package/packages/dd-trace/src/util.js +19 -14
  649. package/register.js +5 -3
  650. package/scripts/preinstall.js +3 -1
  651. package/version.js +8 -5
  652. package/packages/datadog-core/src/utils/src/get.js +0 -11
  653. package/packages/datadog-core/src/utils/src/has.js +0 -14
  654. package/packages/datadog-instrumentations/src/paperplane.js +0 -77
  655. package/packages/datadog-instrumentations/src/utils/src/extract-package-and-module-path.js +0 -36
  656. package/packages/datadog-plugin-langchain/src/handlers/chain.js +0 -50
  657. package/packages/datadog-plugin-langchain/src/handlers/language_models/chat_model.js +0 -99
  658. package/packages/datadog-plugin-langchain/src/handlers/language_models/index.js +0 -48
  659. package/packages/datadog-plugin-langchain/src/handlers/language_models/llm.js +0 -57
  660. package/packages/datadog-plugin-paperplane/src/index.js +0 -25
  661. package/packages/datadog-plugin-paperplane/src/logger.js +0 -11
  662. package/packages/datadog-plugin-paperplane/src/server.js +0 -24
  663. package/packages/dd-trace/src/appsec/iast/analyzers/header-injection-analyzer.js +0 -122
  664. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/header-sensitive-analyzer.js +0 -20
  665. package/packages/dd-trace/src/appsec/standalone.js +0 -130
  666. package/packages/dd-trace/src/llmobs/writers/spans/agentProxy.js +0 -23
  667. package/packages/dd-trace/src/llmobs/writers/spans/agentless.js +0 -17
  668. package/packages/dd-trace/src/llmobs/writers/spans/base.js +0 -52
  669. package/packages/dd-trace/src/payload-tagging/jsonpath-plus.js +0 -2094
  670. package/packages/dd-trace/src/profiling/ssi-telemetry-mock-profiler.js +0 -28
@@ -2,24 +2,29 @@ Component,Origin,License,Copyright
2
2
  require,@datadog/libdatadog,Apache license 2.0,Copyright 2024 Datadog Inc.
3
3
  require,@datadog/native-appsec,Apache license 2.0,Copyright 2018 Datadog Inc.
4
4
  require,@datadog/native-metrics,Apache license 2.0,Copyright 2018 Datadog Inc.
5
- require,@datadog/native-iast-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
6
5
  require,@datadog/native-iast-taint-tracking,Apache license 2.0,Copyright 2018 Datadog Inc.
6
+ require,@datadog/openfeature-node-server,Apache license 2.0,Copyright 2024 Datadog Inc.
7
7
  require,@datadog/pprof,Apache license 2.0,Copyright 2019 Google Inc.
8
8
  require,@datadog/sketches-js,Apache license 2.0,Copyright 2020 Datadog Inc.
9
+ require,@datadog/wasm-js-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
9
10
  require,@opentelemetry/api,Apache license 2.0,Copyright OpenTelemetry Authors
11
+ require,@opentelemetry/api-logs,Apache license 2.0,Copyright OpenTelemetry Authors
10
12
  require,@opentelemetry/core,Apache license 2.0,Copyright OpenTelemetry Authors
11
- require,@isaacs/ttlcache,ISC,Copyright (c) 2022-2023 - Isaac Z. Schlueter and Contributors
13
+ require,@opentelemetry/resources,Apache license 2.0,Copyright OpenTelemetry Authors
14
+ require,@isaacs/ttlcache,Blue Oak,Copyright Isaac Z. Schlueter and Contributors
12
15
  require,crypto-randomuuid,MIT,Copyright 2021 Node.js Foundation and contributors
13
16
  require,dc-polyfill,MIT,Copyright 2023 Datadog Inc.
17
+ require,escape-string-regexp,MIT,Copyright Sindre Sorhus
14
18
  require,ignore,MIT,Copyright 2013 Kael Zhang and contributors
15
19
  require,import-in-the-middle,Apache license 2.0,Copyright 2021 Datadog Inc.
16
20
  require,istanbul-lib-coverage,BSD-3-Clause,Copyright 2012-2015 Yahoo! Inc.
17
21
  require,jest-docblock,MIT,Copyright Meta Platforms, Inc. and affiliates.
18
- require,koalas,MIT,Copyright 2013-2017 Brian Woodward
22
+ require,jsonpath-plus,MIT,Copyright (c) 2011-2019 Stefan Goessner, Subbu Allamaraju, Mike Brevoort, Robert Krahn, Brett Zamir, Richard Schneider
19
23
  require,limiter,MIT,Copyright 2011 John Hurliman
20
24
  require,lodash.sortby,MIT,Copyright JS Foundation and other contributors
21
25
  require,lru-cache,ISC,Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
22
26
  require,module-details-from-path,MIT,Copyright 2016 Thomas Watson Steen
27
+ require,mutexify,MIT,Copyright (c) 2014 Mathias Buus
23
28
  require,opentracing,MIT,Copyright 2016 Resonance Labs Inc
24
29
  require,path-to-regexp,MIT,Copyright 2014 Blake Embrey
25
30
  require,pprof-format,MIT,Copyright 2022 Stephen Belanger
@@ -31,50 +36,52 @@ require,semifies,Apache license 2.0,Copyright Authors
31
36
  require,shell-quote,mit,Copyright (c) 2013 James Halliday
32
37
  require,source-map,BSD-3-Clause,Copyright (c) 2009-2011, Mozilla Foundation and contributors
33
38
  require,ttl-set,MIT,Copyright (c) 2024 Thomas Watson
34
- dev,@apollo/server,MIT,Copyright (c) 2016-2020 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)
35
- dev,@types/node,MIT,Copyright Authors
39
+ dev,@babel/helpers,MIT,Copyright (c) 2014-present Sebastian McKenzie and other contributors
40
+ dev,@types/chai,MIT,Copyright (c) Microsoft Corp.
41
+ dev,@types/mocha,MIT,Copyright (c) Microsoft Corp.
42
+ dev,@types/node,MIT,Copyright (c) Microsoft Corp.
43
+ dev,@types/sinon,MIT,Copyright (c) Microsoft Corp.
44
+ dev,@types/tap,MIT,Copyright (c) Microsoft Corp.
36
45
  dev,@eslint/eslintrc,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
37
46
  dev,@eslint/js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
38
47
  dev,@msgpack/msgpack,ISC,Copyright 2019 The MessagePack Community
39
- dev,@stylistic/eslint-plugin-js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
40
- dev,autocannon,MIT,Copyright 2016 Matteo Collina
41
- dev,aws-sdk,Apache 2.0,Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
48
+ dev,@openfeature/core,Apache-2.0,Copyright OpenFeature Authors
49
+ dev,@openfeature/server-sdk,Apache-2.0,Copyright OpenFeature Authors
50
+ dev,@stylistic/eslint-plugin,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
42
51
  dev,axios,MIT,Copyright 2014-present Matt Zabriskie
43
52
  dev,benchmark,MIT,Copyright 2010-2016 Mathias Bynens Robert Kieffer John-David Dalton
44
53
  dev,body-parser,MIT,Copyright 2014 Jonathan Ong 2014-2015 Douglas Christopher Wilson
54
+ dev,bun,MIT,Copyright contributors
45
55
  dev,chai,MIT,Copyright 2017 Chai.js Assertion Library
46
- dev,chalk,MIT,Copyright Sindre Sorhus
47
- dev,checksum,MIT,Copyright Daniel D. Shaw
48
- dev,cli-table3,MIT,Copyright 2014 James Talmage
49
- dev,dotenv,BSD-2-Clause,Copyright 2015 Scott Motte
50
- dev,esbuild,MIT,Copyright (c) 2020 Evan Wallace
51
56
  dev,eslint,MIT,Copyright JS Foundation and other contributors https://js.foundation
52
- dev,eslint-config-standard,MIT,Copyright Feross Aboukhadijeh
57
+ dev,eslint-plugin-cypress,MIT,Copyright (c) 2019 Cypress.io
53
58
  dev,eslint-plugin-import,MIT,Copyright 2015 Ben Mosher
54
59
  dev,eslint-plugin-mocha,MIT,Copyright 2014 Mathias Schreck
55
60
  dev,eslint-plugin-n,MIT,Copyright 2015 Toru Nagashima
56
61
  dev,eslint-plugin-promise,ISC,jden and other contributors
57
62
  dev,eslint-plugin-unicorn,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
58
63
  dev,express,MIT,Copyright 2009-2014 TJ Holowaychuk 2013-2014 Roman Shtylman 2014-2015 Douglas Christopher Wilson
59
- dev,get-port,MIT,Copyright Sindre Sorhus
60
64
  dev,glob,ISC,Copyright Isaac Z. Schlueter and Contributors
61
65
  dev,globals,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
62
66
  dev,graphql,MIT,Copyright 2015 Facebook Inc.
63
67
  dev,jszip,MIT,Copyright 2015-2016 Stuart Knightley and contributors
64
- dev,knex,MIT,Copyright (c) 2013-present Tim Griesser
65
- dev,mkdirp,MIT,Copyright 2010 James Halliday
66
68
  dev,mocha,MIT,Copyright 2011-2018 JS Foundation and contributors https://js.foundation
69
+ dev,mocha-multi-reporters,MIT,Copyright 2015-2019 Yousaf Nabi and Stanley Ng
70
+ dev,mocha-junit-reporter,MIT, Copyright 2015 Michael Allen
67
71
  dev,multer,MIT,Copyright 2014 Hage Yaapa
68
72
  dev,nock,MIT,Copyright 2017 Pedro Teixeira and other contributors
69
73
  dev,nyc,ISC,Copyright 2015 Contributors
74
+ dev,octokit,MIT,Copyright 2023 Octokit contributors
70
75
  dev,proxyquire,MIT,Copyright 2013 Thorsten Lorenz
71
- dev,rimraf,ISC,Copyright Isaac Z. Schlueter and Contributors
72
76
  dev,semver,ISC,Copyright Isaac Z. Schlueter and Contributors
73
77
  dev,sinon,BSD-3-Clause,Copyright 2010-2017 Christian Johansen
74
78
  dev,sinon-chai,WTFPL and BSD-2-Clause,Copyright 2004 Sam Hocevar 2012–2017 Domenic Denicola
75
79
  dev,tap,ISC,Copyright 2011-2022 Isaac Z. Schlueter and Contributors
76
80
  dev,tiktoken,MIT,Copyright (c) 2022 OpenAI, Shantanu Jain
81
+ dev,typescript,Apache license 2.0,Copyright Microsoft Corp.
82
+ dev,workerpool,Apache license 2.0,Copyright (C) 2014-2024 Jos de Jong wjosdejong@gmail.com
77
83
  dev,yaml,ISC,Copyright Eemeli Aro <eemeli@gmail.com>
84
+ dev,yarn-deduplicate,Apache license 2.0,Copyright [yyyy] [name of copyright owner]
78
85
  file,aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com Inc. or its affiliates. All Rights Reserved.
79
86
  file,profile.proto,Apache license 2.0,Copyright 2016 Google Inc.
80
87
  file,is-git-url,MIT,Copyright (c) 2017 Jon Schlinkert.
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
  Most of the documentation for `dd-trace` is available on these webpages:
16
16
 
17
17
  - [Tracing Node.js Applications](https://docs.datadoghq.com/tracing/languages/nodejs/) - most project documentation, including setup instructions
18
- - [Configuring the NodeJS Tracing Library](https://docs.datadoghq.com/tracing/trace_collection/library_config/nodejs) - environment variables and config options
18
+ - [Configuring the Node.js Tracing Library](https://docs.datadoghq.com/tracing/trace_collection/library_config/nodejs) - environment variables and config options
19
19
  - [API Documentation](https://datadog.github.io/dd-trace-js) - method signatures, plugin list, and some usage examples
20
20
  - [APM Terms and Concepts](https://docs.datadoghq.com/tracing/visualization/) - a glossary of concepts applicable across all languages
21
21
 
@@ -59,7 +59,7 @@ When a new release line is introduced the previous release line then enters main
59
59
  Once that year is up the release line enters End of Life and will not receive new updates.
60
60
  The library also follows the Node.js LTS lifecycle wherein new release lines drop compatibility with Node.js versions that reach end-of-life (with the maintenance release line still receiving updates for a year).
61
61
 
62
- For more information about library versioning and compatibility, see the [NodeJS Compatibility Requirements](https://docs.datadoghq.com/tracing/trace_collection/compatibility/nodejs/#releases) page.
62
+ For more information about library versioning and compatibility, see the [Node.js Compatibility Requirements](https://docs.datadoghq.com/tracing/trace_collection/compatibility/nodejs/#releases) page.
63
63
 
64
64
  Changes associated with each individual release are documented on the [GitHub Releases](https://github.com/DataDog/dd-trace-js/releases) screen.
65
65
 
@@ -69,21 +69,11 @@ Changes associated with each individual release are documented on the [GitHub Re
69
69
  Please read the [CONTRIBUTING.md](https://github.com/DataDog/dd-trace-js/blob/master/CONTRIBUTING.md) document before contributing to this open source project.
70
70
 
71
71
 
72
- ## EcmaScript Modules (ESM) Support
72
+ ## ECMAScript Modules (ESM) Support
73
73
 
74
- ESM support requires an additional command-line argument. Use the following to enable experimental ESM support with your application:
74
+ ESM support requires an _additional_ command line argument when starting the Node.js process.
75
+ For more information, see the [section on ESM support](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/#esm-applications-only-import-the-loader) in the Node.js tracer documentation.
75
76
 
76
- Node.js < v20.6
77
-
78
- ```sh
79
- node --loader dd-trace/loader-hook.mjs entrypoint.js
80
- ```
81
-
82
- Node.js >= v20.6
83
-
84
- ```sh
85
- node --import dd-trace/register.js entrypoint.js
86
- ```
87
77
 
88
78
  ## Serverless / Lambda
89
79
 
@@ -107,5 +97,3 @@ Please refer to the [SECURITY.md](https://github.com/DataDog/dd-trace-js/blob/ma
107
97
  ## Datadog With OpenTelemetery
108
98
 
109
99
  Please refer to the [Node.js Custom Instrumentation using OpenTelemetry API](https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/nodejs/otel/) document. It includes information on how to use the OpenTelemetry API with dd-trace-js.
110
-
111
- Note that our internal implementation of the OpenTelemetry API is currently set within the version range `>=1.0.0 <1.9.0`. This range will be updated at a regular cadence therefore, we recommend updating your tracer to the latest release to ensure up to date support.
@@ -1 +1,3 @@
1
+ 'use strict'
2
+
1
3
  module.exports = require('../../packages/datadog-plugin-cypress/src/after-run')
@@ -1 +1,3 @@
1
+ 'use strict'
2
+
1
3
  module.exports = require('../../packages/datadog-plugin-cypress/src/after-spec')
@@ -1,3 +1,13 @@
1
+ 'use strict'
2
+
3
+ const { NODE_MAJOR } = require('../../version')
4
+
5
+ // These polyfills are here because cypress@6.7.0, which we still support for v5, runs its plugin code
6
+ // with Node.js@12.
7
+ if (NODE_MAJOR < 18) {
8
+ require('./polyfills')
9
+ }
10
+
1
11
  require('../init')
2
12
 
3
13
  module.exports = require('../../packages/datadog-plugin-cypress/src/plugin')
@@ -0,0 +1,25 @@
1
+ 'use strict'
2
+
3
+ if (!Object.hasOwn) {
4
+ Object.defineProperty(Object, 'hasOwn', {
5
+ // eslint-disable-next-line prefer-object-has-own
6
+ value: (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop),
7
+ writable: true,
8
+ configurable: true,
9
+ })
10
+ }
11
+
12
+ if (!Array.prototype.at) {
13
+ // eslint-disable-next-line no-extend-native
14
+ Object.defineProperty(Array.prototype, 'at', {
15
+ value: function (n) {
16
+ const len = this.length
17
+ if (len === 0) return
18
+ let index = Math.trunc(n)
19
+ if (index < 0) index += len
20
+ return (index < 0 || index >= len) ? undefined : this[index]
21
+ },
22
+ writable: true,
23
+ configurable: true
24
+ })
25
+ }
@@ -1 +1,3 @@
1
+ 'use strict'
2
+
1
3
  require('../../packages/datadog-plugin-cypress/src/support')
package/ci/init.js CHANGED
@@ -1,74 +1,84 @@
1
+ 'use strict'
2
+
1
3
  /* eslint-disable no-console */
2
4
  const tracer = require('../packages/dd-trace')
3
5
  const { isTrue, isFalse } = require('../packages/dd-trace/src/util')
4
6
  const log = require('../packages/dd-trace/src/log')
7
+ const { getEnvironmentVariable } = require('../packages/dd-trace/src/config-helper')
5
8
 
6
- const isJestWorker = !!process.env.JEST_WORKER_ID
7
- const isCucumberWorker = !!process.env.CUCUMBER_WORKER_ID
8
- const isMochaWorker = !!process.env.MOCHA_WORKER_ID
9
+ const PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm']
10
+ const DEFAULT_FLUSH_INTERVAL = 5000
11
+ const JEST_FLUSH_INTERVAL = 0
12
+ const EXPORTER_MAP = {
13
+ jest: 'jest_worker',
14
+ cucumber: 'cucumber_worker',
15
+ mocha: 'mocha_worker',
16
+ playwright: 'playwright_worker',
17
+ vitest: 'vitest_worker'
18
+ }
9
19
 
10
- const packageManagers = [
11
- 'npm',
12
- 'yarn',
13
- 'pnpm'
14
- ]
20
+ function isPackageManager () {
21
+ return PACKAGE_MANAGERS.some(packageManager =>
22
+ process.argv[1]?.includes(`bin/${packageManager}`)
23
+ )
24
+ }
15
25
 
16
- const isPackageManager = () => {
17
- return packageManagers.some(packageManager => process.argv[1]?.includes(`bin/${packageManager}`))
26
+ function detectTestWorkerType () {
27
+ if (getEnvironmentVariable('JEST_WORKER_ID')) return 'jest'
28
+ if (getEnvironmentVariable('CUCUMBER_WORKER_ID')) return 'cucumber'
29
+ if (getEnvironmentVariable('MOCHA_WORKER_ID')) return 'mocha'
30
+ if (getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')) return 'playwright'
31
+ if (getEnvironmentVariable('TINYPOOL_WORKER_ID')) return 'vitest'
32
+ if (getEnvironmentVariable('DD_VITEST_WORKER')) return 'vitest'
33
+ return null
18
34
  }
19
35
 
20
- const options = {
36
+ const testWorkerType = detectTestWorkerType()
37
+ const isTestWorker = testWorkerType !== null
38
+ const isJestWorker = testWorkerType === 'jest'
39
+
40
+ const baseOptions = {
21
41
  startupLogs: false,
22
42
  isCiVisibility: true,
23
- flushInterval: isJestWorker ? 0 : 5000
43
+ flushInterval: isJestWorker ? JEST_FLUSH_INTERVAL : DEFAULT_FLUSH_INTERVAL
24
44
  }
25
45
 
26
- let shouldInit = !isFalse(process.env.DD_CIVISIBILITY_ENABLED)
46
+ let shouldInit = !isFalse(getEnvironmentVariable('DD_CIVISIBILITY_ENABLED'))
47
+ const isAgentlessEnabled = isTrue(getEnvironmentVariable('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
27
48
 
28
- if (isPackageManager()) {
49
+ if (!isTestWorker && isPackageManager()) {
29
50
  log.debug('dd-trace is not initialized in a package manager.')
30
51
  shouldInit = false
31
52
  }
32
53
 
33
- const isAgentlessEnabled = isTrue(process.env.DD_CIVISIBILITY_AGENTLESS_ENABLED)
34
-
35
- if (isAgentlessEnabled) {
36
- if (process.env.DATADOG_API_KEY || process.env.DD_API_KEY) {
37
- options.experimental = {
38
- exporter: 'datadog'
39
- }
40
- } else {
41
- console.error('DD_CIVISIBILITY_AGENTLESS_ENABLED is set, but neither ' +
42
- 'DD_API_KEY nor DATADOG_API_KEY are set in your environment, so ' +
43
- 'dd-trace will not be initialized.')
44
- shouldInit = false
54
+ if (isTestWorker) {
55
+ baseOptions.telemetry = { enabled: false }
56
+ baseOptions.experimental = {
57
+ exporter: EXPORTER_MAP[testWorkerType]
45
58
  }
46
59
  } else {
47
- options.experimental = {
48
- exporter: 'agent_proxy'
49
- }
50
- }
51
-
52
- if (isJestWorker) {
53
- options.experimental = {
54
- exporter: 'jest_worker'
55
- }
56
- }
57
-
58
- if (isCucumberWorker) {
59
- options.experimental = {
60
- exporter: 'cucumber_worker'
61
- }
62
- }
63
-
64
- if (isMochaWorker) {
65
- options.experimental = {
66
- exporter: 'mocha_worker'
60
+ if (isAgentlessEnabled) {
61
+ if (getEnvironmentVariable('DD_API_KEY')) {
62
+ baseOptions.experimental = {
63
+ exporter: 'datadog'
64
+ }
65
+ } else {
66
+ console.error(
67
+ 'DD_CIVISIBILITY_AGENTLESS_ENABLED is set, but neither ' +
68
+ 'DD_API_KEY nor DATADOG_API_KEY are set in your environment, so ' +
69
+ 'dd-trace will not be initialized.'
70
+ )
71
+ shouldInit = false
72
+ }
73
+ } else {
74
+ baseOptions.experimental = {
75
+ exporter: 'agent_proxy'
76
+ }
67
77
  }
68
78
  }
69
79
 
70
80
  if (shouldInit) {
71
- tracer.init(options)
81
+ tracer.init(baseOptions)
72
82
  tracer.use('fs', false)
73
83
  tracer.use('child_process', false)
74
84
  }
@@ -5,7 +5,9 @@ declare const exporters: {
5
5
  AGENT_PROXY: 'agent_proxy',
6
6
  JEST_WORKER: 'jest_worker',
7
7
  CUCUMBER_WORKER: 'cucumber_worker',
8
- MOCHA_WORKER: 'mocha_worker'
8
+ MOCHA_WORKER: 'mocha_worker',
9
+ PLAYWRIGHT_WORKER: 'playwright_worker',
10
+ VITEST_WORKER: 'vitest_worker'
9
11
  }
10
12
 
11
13
  export = exporters
package/ext/exporters.js CHANGED
@@ -6,5 +6,7 @@ module.exports = {
6
6
  AGENT_PROXY: 'agent_proxy',
7
7
  JEST_WORKER: 'jest_worker',
8
8
  CUCUMBER_WORKER: 'cucumber_worker',
9
- MOCHA_WORKER: 'mocha_worker'
9
+ MOCHA_WORKER: 'mocha_worker',
10
+ PLAYWRIGHT_WORKER: 'playwright_worker',
11
+ VITEST_WORKER: 'vitest_worker'
10
12
  }