dd-trace 6.0.0-pre-be5ecaf → 6.0.0-pre-b4cfa7f

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 (481) hide show
  1. package/LICENSE-3rdparty.csv +7 -12
  2. package/README.md +10 -15
  3. package/ci/cypress/plugin.js +8 -0
  4. package/ci/cypress/polyfills.js +23 -0
  5. package/ci/init.js +15 -6
  6. package/ext/exporters.d.ts +2 -1
  7. package/ext/exporters.js +2 -1
  8. package/index.d.ts +194 -39
  9. package/init.js +4 -1
  10. package/initialize.mjs +13 -10
  11. package/package.json +57 -59
  12. package/packages/datadog-code-origin/index.js +22 -4
  13. package/packages/datadog-core/src/storage.js +4 -3
  14. package/packages/datadog-core/src/utils/src/kebabcase.js +4 -6
  15. package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
  16. package/packages/datadog-core/src/utils/src/pick.js +2 -2
  17. package/packages/datadog-core/src/utils/src/set.js +9 -11
  18. package/packages/datadog-core/src/utils/src/uniq.js +1 -1
  19. package/packages/datadog-esbuild/index.js +7 -4
  20. package/packages/datadog-instrumentations/src/amqp10.js +19 -17
  21. package/packages/datadog-instrumentations/src/amqplib.js +57 -37
  22. package/packages/datadog-instrumentations/src/apollo-server-core.js +1 -1
  23. package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
  24. package/packages/datadog-instrumentations/src/apollo.js +2 -2
  25. package/packages/datadog-instrumentations/src/aws-sdk.js +2 -2
  26. package/packages/datadog-instrumentations/src/cassandra-driver.js +10 -10
  27. package/packages/datadog-instrumentations/src/child_process.js +3 -3
  28. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +420 -0
  29. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  30. package/packages/datadog-instrumentations/src/couchbase.js +8 -10
  31. package/packages/datadog-instrumentations/src/cucumber.js +221 -136
  32. package/packages/datadog-instrumentations/src/cypress.js +2 -1
  33. package/packages/datadog-instrumentations/src/dd-trace-api.js +7 -0
  34. package/packages/datadog-instrumentations/src/dns.js +20 -18
  35. package/packages/datadog-instrumentations/src/elasticsearch.js +9 -10
  36. package/packages/datadog-instrumentations/src/express-session.js +41 -0
  37. package/packages/datadog-instrumentations/src/express.js +2 -6
  38. package/packages/datadog-instrumentations/src/fastify.js +37 -11
  39. package/packages/datadog-instrumentations/src/fetch.js +27 -6
  40. package/packages/datadog-instrumentations/src/fs.js +44 -52
  41. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +35 -43
  42. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +102 -0
  43. package/packages/datadog-instrumentations/src/graphql.js +7 -10
  44. package/packages/datadog-instrumentations/src/grpc/client.js +11 -23
  45. package/packages/datadog-instrumentations/src/grpc/server.js +7 -20
  46. package/packages/datadog-instrumentations/src/hapi.js +10 -11
  47. package/packages/datadog-instrumentations/src/{check_require_cache.js → helpers/check-require-cache.js} +2 -2
  48. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +42 -0
  49. package/packages/datadog-instrumentations/src/helpers/fetch.js +10 -6
  50. package/packages/datadog-instrumentations/src/helpers/hook.js +2 -3
  51. package/packages/datadog-instrumentations/src/helpers/hooks.js +9 -5
  52. package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -41
  53. package/packages/datadog-instrumentations/src/helpers/register.js +78 -22
  54. package/packages/datadog-instrumentations/src/http/client.js +21 -21
  55. package/packages/datadog-instrumentations/src/iovalkey.js +51 -0
  56. package/packages/datadog-instrumentations/src/jest.js +749 -468
  57. package/packages/datadog-instrumentations/src/kafkajs.js +65 -44
  58. package/packages/datadog-instrumentations/src/knex.js +4 -4
  59. package/packages/datadog-instrumentations/src/koa.js +2 -3
  60. package/packages/datadog-instrumentations/src/langchain.js +57 -42
  61. package/packages/datadog-instrumentations/src/ldapjs.js +3 -4
  62. package/packages/datadog-instrumentations/src/mariadb.js +65 -62
  63. package/packages/datadog-instrumentations/src/mocha/main.js +206 -139
  64. package/packages/datadog-instrumentations/src/mocha/utils.js +219 -116
  65. package/packages/datadog-instrumentations/src/mocha/worker.js +16 -9
  66. package/packages/datadog-instrumentations/src/mocha.js +3 -1
  67. package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
  68. package/packages/datadog-instrumentations/src/mysql.js +30 -37
  69. package/packages/datadog-instrumentations/src/mysql2.js +55 -47
  70. package/packages/datadog-instrumentations/src/net.js +28 -30
  71. package/packages/datadog-instrumentations/src/next.js +7 -14
  72. package/packages/datadog-instrumentations/src/nyc.js +5 -3
  73. package/packages/datadog-instrumentations/src/openai.js +137 -115
  74. package/packages/datadog-instrumentations/src/oracledb.js +1 -1
  75. package/packages/datadog-instrumentations/src/orchestrion-config/index.js +54 -0
  76. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -3
  77. package/packages/datadog-instrumentations/src/pg.js +18 -12
  78. package/packages/datadog-instrumentations/src/playwright.js +570 -142
  79. package/packages/datadog-instrumentations/src/protobufjs.js +3 -4
  80. package/packages/datadog-instrumentations/src/redis.js +4 -4
  81. package/packages/datadog-instrumentations/src/restify.js +9 -13
  82. package/packages/datadog-instrumentations/src/rhea.js +42 -54
  83. package/packages/datadog-instrumentations/src/router.js +32 -39
  84. package/packages/datadog-instrumentations/src/tedious.js +12 -10
  85. package/packages/datadog-instrumentations/src/url.js +9 -17
  86. package/packages/datadog-instrumentations/src/vitest.js +291 -142
  87. package/packages/datadog-plugin-amqp10/src/consumer.js +7 -3
  88. package/packages/datadog-plugin-amqp10/src/producer.js +7 -3
  89. package/packages/datadog-plugin-amqplib/src/client.js +6 -2
  90. package/packages/datadog-plugin-amqplib/src/consumer.js +8 -4
  91. package/packages/datadog-plugin-amqplib/src/producer.js +8 -5
  92. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  93. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -6
  94. package/packages/datadog-plugin-apollo/src/gateway/validate.js +2 -3
  95. package/packages/datadog-plugin-avsc/src/schema_iterator.js +13 -13
  96. package/packages/datadog-plugin-aws-sdk/src/base.js +20 -11
  97. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +2 -2
  98. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +13 -13
  99. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +3 -5
  100. package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +35 -50
  101. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
  102. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +11 -15
  103. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +4 -6
  104. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +3 -5
  105. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +3 -5
  106. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +3 -5
  107. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -17
  108. package/packages/datadog-plugin-aws-sdk/src/services/stepfunctions.js +1 -1
  109. package/packages/datadog-plugin-aws-sdk/src/util.js +5 -6
  110. package/packages/datadog-plugin-azure-functions/src/index.js +5 -4
  111. package/packages/datadog-plugin-cassandra-driver/src/index.js +1 -1
  112. package/packages/datadog-plugin-child_process/src/index.js +4 -4
  113. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +23 -23
  114. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/batch-consumer.js +11 -0
  115. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/consumer.js +11 -0
  116. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +19 -0
  117. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/producer.js +11 -0
  118. package/packages/datadog-plugin-cucumber/src/index.js +134 -25
  119. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +200 -59
  120. package/packages/datadog-plugin-cypress/src/plugin.js +21 -1
  121. package/packages/datadog-plugin-cypress/src/support.js +60 -12
  122. package/packages/datadog-plugin-dd-trace-api/src/index.js +2 -1
  123. package/packages/datadog-plugin-dns/src/lookup.js +10 -5
  124. package/packages/datadog-plugin-dns/src/lookup_service.js +6 -2
  125. package/packages/datadog-plugin-dns/src/resolve.js +5 -2
  126. package/packages/datadog-plugin-dns/src/reverse.js +6 -2
  127. package/packages/datadog-plugin-elasticsearch/src/index.js +1 -1
  128. package/packages/datadog-plugin-express/src/code_origin.js +30 -0
  129. package/packages/datadog-plugin-express/src/index.js +10 -12
  130. package/packages/datadog-plugin-express/src/tracing.js +19 -0
  131. package/packages/datadog-plugin-fs/src/index.js +9 -2
  132. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +7 -3
  133. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +13 -8
  134. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +7 -4
  135. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +17 -0
  136. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +203 -0
  137. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +19 -0
  138. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  139. package/packages/datadog-plugin-graphql/src/index.js +10 -8
  140. package/packages/datadog-plugin-graphql/src/parse.js +1 -3
  141. package/packages/datadog-plugin-graphql/src/resolve.js +19 -12
  142. package/packages/datadog-plugin-graphql/src/tools/index.js +1 -0
  143. package/packages/datadog-plugin-graphql/src/tools/signature.js +1 -0
  144. package/packages/datadog-plugin-graphql/src/tools/transforms.js +1 -0
  145. package/packages/datadog-plugin-grpc/src/client.js +2 -2
  146. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  147. package/packages/datadog-plugin-http/src/client.js +26 -14
  148. package/packages/datadog-plugin-http2/src/client.js +27 -25
  149. package/packages/datadog-plugin-iovalkey/src/index.js +18 -0
  150. package/packages/datadog-plugin-jest/src/index.js +99 -35
  151. package/packages/datadog-plugin-jest/src/util.js +8 -8
  152. package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +6 -3
  153. package/packages/datadog-plugin-kafkajs/src/consumer.js +26 -28
  154. package/packages/datadog-plugin-kafkajs/src/producer.js +23 -10
  155. package/packages/datadog-plugin-kafkajs/src/utils.js +27 -0
  156. package/packages/datadog-plugin-langchain/src/handlers/chain.js +7 -7
  157. package/packages/datadog-plugin-langchain/src/handlers/embedding.js +6 -3
  158. package/packages/datadog-plugin-langchain/src/handlers/language_models/chat_model.js +6 -4
  159. package/packages/datadog-plugin-langchain/src/handlers/language_models/llm.js +5 -4
  160. package/packages/datadog-plugin-langchain/src/index.js +17 -12
  161. package/packages/datadog-plugin-langchain/src/tracing.js +77 -16
  162. package/packages/datadog-plugin-mariadb/src/index.js +3 -9
  163. package/packages/datadog-plugin-mocha/src/index.js +147 -55
  164. package/packages/datadog-plugin-mongodb-core/src/index.js +40 -14
  165. package/packages/datadog-plugin-mysql/src/index.js +22 -9
  166. package/packages/datadog-plugin-mysql2/src/index.js +16 -0
  167. package/packages/datadog-plugin-net/src/ipc.js +6 -4
  168. package/packages/datadog-plugin-net/src/tcp.js +16 -10
  169. package/packages/datadog-plugin-next/src/index.js +7 -6
  170. package/packages/datadog-plugin-openai/src/services.js +6 -10
  171. package/packages/datadog-plugin-openai/src/tracing.js +133 -96
  172. package/packages/datadog-plugin-oracledb/src/index.js +3 -2
  173. package/packages/datadog-plugin-pg/src/index.js +5 -1
  174. package/packages/datadog-plugin-playwright/src/index.js +205 -27
  175. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +9 -10
  176. package/packages/datadog-plugin-redis/src/index.js +10 -7
  177. package/packages/datadog-plugin-rhea/src/consumer.js +9 -7
  178. package/packages/datadog-plugin-rhea/src/producer.js +6 -4
  179. package/packages/datadog-plugin-router/src/index.js +1 -1
  180. package/packages/datadog-plugin-selenium/src/index.js +1 -6
  181. package/packages/datadog-plugin-tedious/src/index.js +14 -9
  182. package/packages/datadog-plugin-vitest/src/index.js +184 -83
  183. package/packages/datadog-shimmer/src/shimmer.js +204 -233
  184. package/packages/dd-trace/src/appsec/addresses.js +1 -0
  185. package/packages/dd-trace/src/appsec/api_security_sampler.js +28 -16
  186. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  187. package/packages/dd-trace/src/appsec/blocking.js +31 -36
  188. package/packages/dd-trace/src/appsec/channels.js +23 -20
  189. package/packages/dd-trace/src/appsec/graphql.js +17 -8
  190. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +0 -1
  191. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -17
  192. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +0 -1
  193. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +0 -1
  194. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +0 -1
  195. package/packages/dd-trace/src/appsec/iast/analyzers/hsts-header-missing-analyzer.js +7 -12
  196. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +5 -8
  197. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +43 -15
  198. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +9 -12
  199. package/packages/dd-trace/src/appsec/iast/analyzers/sql-injection-analyzer.js +1 -1
  200. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +13 -20
  201. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +6 -5
  202. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +2 -3
  203. package/packages/dd-trace/src/appsec/iast/iast-context.js +2 -2
  204. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +4 -4
  205. package/packages/dd-trace/src/appsec/iast/index.js +1 -1
  206. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +102 -7
  207. package/packages/dd-trace/src/appsec/iast/path-line.js +7 -8
  208. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +17 -25
  209. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +6 -6
  210. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +4 -4
  211. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +0 -3
  212. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +47 -4
  213. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +6 -29
  214. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +9 -10
  215. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugins/kafka.js +3 -4
  216. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +26 -13
  217. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-telemetry.js +3 -32
  218. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +111 -65
  219. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +0 -1
  220. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -2
  221. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +7 -7
  222. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -3
  223. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +10 -11
  224. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/command-sensitive-analyzer.js +1 -1
  225. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/ldap-sensitive-analyzer.js +2 -2
  226. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +7 -7
  227. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +23 -28
  228. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +3 -3
  229. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +5 -6
  230. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +6 -11
  231. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +0 -1
  232. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +12 -16
  233. package/packages/dd-trace/src/appsec/index.js +60 -18
  234. package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
  235. package/packages/dd-trace/src/appsec/rasp/index.js +21 -17
  236. package/packages/dd-trace/src/appsec/rasp/lfi.js +3 -2
  237. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +1 -1
  238. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  239. package/packages/dd-trace/src/appsec/rasp/utils.js +18 -9
  240. package/packages/dd-trace/src/appsec/recommended.json +256 -84
  241. package/packages/dd-trace/src/appsec/reporter.js +289 -59
  242. package/packages/dd-trace/src/appsec/rule_manager.js +3 -3
  243. package/packages/dd-trace/src/appsec/sdk/index.js +23 -1
  244. package/packages/dd-trace/src/appsec/sdk/noop.js +10 -0
  245. package/packages/dd-trace/src/appsec/sdk/set_user.js +12 -7
  246. package/packages/dd-trace/src/appsec/sdk/track_event.js +137 -11
  247. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +3 -6
  248. package/packages/dd-trace/src/appsec/stack_trace.js +2 -4
  249. package/packages/dd-trace/src/appsec/telemetry/common.js +28 -0
  250. package/packages/dd-trace/src/appsec/telemetry/index.js +206 -0
  251. package/packages/dd-trace/src/appsec/telemetry/rasp.js +103 -0
  252. package/packages/dd-trace/src/appsec/telemetry/user.js +32 -0
  253. package/packages/dd-trace/src/appsec/telemetry/waf.js +141 -0
  254. package/packages/dd-trace/src/appsec/user_tracking.js +5 -9
  255. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +59 -21
  256. package/packages/dd-trace/src/appsec/waf/waf_manager.js +16 -7
  257. package/packages/dd-trace/src/azure_metadata.js +9 -9
  258. package/packages/dd-trace/src/baggage.js +36 -0
  259. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +24 -11
  260. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +2 -2
  261. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +3 -2
  262. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +3 -3
  263. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +3 -2
  264. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +3 -2
  265. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +5 -4
  266. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +22 -16
  267. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +9 -5
  268. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +14 -8
  269. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +6 -6
  270. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +3 -2
  271. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +5 -4
  272. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +14 -9
  273. package/packages/dd-trace/src/ci-visibility/telemetry.js +6 -1
  274. package/packages/dd-trace/src/ci-visibility/{quarantined-tests/get-quarantined-tests.js → test-management/get-test-management-tests.js} +14 -9
  275. package/packages/dd-trace/src/config-helper.js +89 -0
  276. package/packages/dd-trace/src/config.js +385 -201
  277. package/packages/dd-trace/src/config_stable.js +103 -0
  278. package/packages/dd-trace/src/constants.js +4 -2
  279. package/packages/dd-trace/src/{data_streams.js → datastreams/checkpointer.js} +1 -1
  280. package/packages/dd-trace/src/{data_streams_context.js → datastreams/context.js} +2 -2
  281. package/packages/dd-trace/src/datastreams/encoding.js +9 -9
  282. package/packages/dd-trace/src/datastreams/fnv.js +2 -2
  283. package/packages/dd-trace/src/datastreams/index.js +104 -0
  284. package/packages/dd-trace/src/datastreams/manager.js +27 -0
  285. package/packages/dd-trace/src/datastreams/pathway.js +4 -4
  286. package/packages/dd-trace/src/datastreams/processor.js +9 -56
  287. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +7 -7
  288. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +4 -6
  289. package/packages/dd-trace/src/datastreams/size.js +53 -0
  290. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +193 -22
  291. package/packages/dd-trace/src/debugger/devtools_client/condition.js +294 -0
  292. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  293. package/packages/dd-trace/src/debugger/devtools_client/index.js +141 -75
  294. package/packages/dd-trace/src/debugger/devtools_client/remote_config.js +18 -44
  295. package/packages/dd-trace/src/debugger/devtools_client/send.js +22 -13
  296. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +17 -13
  297. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +15 -7
  298. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +80 -76
  299. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +4 -4
  300. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +19 -20
  301. package/packages/dd-trace/src/debugger/devtools_client/state.js +34 -6
  302. package/packages/dd-trace/src/debugger/devtools_client/status.js +5 -1
  303. package/packages/dd-trace/src/debugger/index.js +4 -0
  304. package/packages/dd-trace/src/dogstatsd.js +191 -36
  305. package/packages/dd-trace/src/encode/0.4.js +122 -16
  306. package/packages/dd-trace/src/encode/0.5.js +11 -7
  307. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +17 -10
  308. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
  309. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  310. package/packages/dd-trace/src/exporter.js +8 -6
  311. package/packages/dd-trace/src/exporters/agent/index.js +4 -3
  312. package/packages/dd-trace/src/exporters/agent/writer.js +6 -7
  313. package/packages/dd-trace/src/exporters/common/docker.js +28 -15
  314. package/packages/dd-trace/src/exporters/common/form-data.js +6 -4
  315. package/packages/dd-trace/src/exporters/common/request.js +6 -6
  316. package/packages/dd-trace/src/exporters/common/util.js +4 -2
  317. package/packages/dd-trace/src/external-logger/src/index.js +5 -5
  318. package/packages/dd-trace/src/flare/file.js +1 -5
  319. package/packages/dd-trace/src/flare/index.js +3 -0
  320. package/packages/dd-trace/src/format.js +80 -81
  321. package/packages/dd-trace/src/git_properties.js +1 -1
  322. package/packages/dd-trace/src/guardrails/index.js +2 -0
  323. package/packages/dd-trace/src/guardrails/telemetry.js +2 -5
  324. package/packages/dd-trace/src/histogram.js +12 -23
  325. package/packages/dd-trace/src/id.js +15 -9
  326. package/packages/dd-trace/src/iitm.js +10 -22
  327. package/packages/dd-trace/src/index.js +4 -3
  328. package/packages/dd-trace/src/lambda/handler.js +7 -6
  329. package/packages/dd-trace/src/lambda/index.js +2 -1
  330. package/packages/dd-trace/src/lambda/runtime/patch.js +12 -9
  331. package/packages/dd-trace/src/lambda/runtime/ritm.js +17 -21
  332. package/packages/dd-trace/src/llmobs/constants/tags.js +3 -0
  333. package/packages/dd-trace/src/llmobs/constants/writers.js +9 -5
  334. package/packages/dd-trace/src/llmobs/index.js +49 -13
  335. package/packages/dd-trace/src/llmobs/noop.js +19 -21
  336. package/packages/dd-trace/src/llmobs/plugins/base.js +4 -1
  337. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +11 -7
  338. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +2 -6
  339. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +3 -3
  340. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +11 -13
  341. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +69 -9
  342. package/packages/dd-trace/src/llmobs/plugins/openai.js +29 -3
  343. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +197 -0
  344. package/packages/dd-trace/src/llmobs/sdk.js +159 -124
  345. package/packages/dd-trace/src/llmobs/span_processor.js +7 -1
  346. package/packages/dd-trace/src/llmobs/tagger.js +144 -107
  347. package/packages/dd-trace/src/llmobs/telemetry.js +168 -0
  348. package/packages/dd-trace/src/llmobs/util.js +9 -9
  349. package/packages/dd-trace/src/llmobs/writers/base.js +89 -36
  350. package/packages/dd-trace/src/llmobs/writers/evaluations.js +9 -6
  351. package/packages/dd-trace/src/llmobs/writers/spans.js +69 -0
  352. package/packages/dd-trace/src/llmobs/writers/util.js +60 -0
  353. package/packages/dd-trace/src/log/index.js +30 -26
  354. package/packages/dd-trace/src/log/log.js +1 -1
  355. package/packages/dd-trace/src/log/utils.js +16 -0
  356. package/packages/dd-trace/src/log/writer.js +22 -6
  357. package/packages/dd-trace/src/msgpack/chunk.js +3 -3
  358. package/packages/dd-trace/src/msgpack/encoder.js +31 -31
  359. package/packages/dd-trace/src/noop/dogstatsd.js +11 -5
  360. package/packages/dd-trace/src/noop/proxy.js +5 -0
  361. package/packages/dd-trace/src/noop/span.js +4 -6
  362. package/packages/dd-trace/src/noop/tracer.js +1 -2
  363. package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -0
  364. package/packages/dd-trace/src/opentelemetry/span.js +4 -4
  365. package/packages/dd-trace/src/opentelemetry/span_processor.js +2 -2
  366. package/packages/dd-trace/src/opentelemetry/tracer.js +51 -6
  367. package/packages/dd-trace/src/opentracing/propagation/log.js +10 -12
  368. package/packages/dd-trace/src/opentracing/propagation/text_map.js +97 -99
  369. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +1 -1
  370. package/packages/dd-trace/src/opentracing/propagation/tracestate.js +8 -4
  371. package/packages/dd-trace/src/opentracing/span.js +41 -22
  372. package/packages/dd-trace/src/opentracing/tracer.js +9 -6
  373. package/packages/dd-trace/src/payload-tagging/config/aws.json +8 -0
  374. package/packages/dd-trace/src/payload-tagging/config/index.js +17 -21
  375. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  376. package/packages/dd-trace/src/payload-tagging/jsonpath-plus.js +1 -1
  377. package/packages/dd-trace/src/payload-tagging/tagging.js +6 -6
  378. package/packages/dd-trace/src/pkg.js +1 -1
  379. package/packages/dd-trace/src/plugin_manager.js +8 -9
  380. package/packages/dd-trace/src/plugins/ci_plugin.js +115 -21
  381. package/packages/dd-trace/src/plugins/consumer.js +2 -2
  382. package/packages/dd-trace/src/plugins/database.js +4 -4
  383. package/packages/dd-trace/src/plugins/inbound.js +5 -1
  384. package/packages/dd-trace/src/plugins/index.js +6 -1
  385. package/packages/dd-trace/src/plugins/log_plugin.js +9 -15
  386. package/packages/dd-trace/src/plugins/outbound.js +11 -4
  387. package/packages/dd-trace/src/plugins/plugin.js +3 -1
  388. package/packages/dd-trace/src/plugins/producer.js +2 -2
  389. package/packages/dd-trace/src/plugins/storage.js +2 -2
  390. package/packages/dd-trace/src/plugins/tracing.js +8 -4
  391. package/packages/dd-trace/src/plugins/util/ci.js +60 -20
  392. package/packages/dd-trace/src/plugins/util/git.js +194 -24
  393. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +1 -1
  394. package/packages/dd-trace/src/plugins/util/ip_extractor.js +1 -1
  395. package/packages/dd-trace/src/plugins/util/llm.js +27 -10
  396. package/packages/dd-trace/src/plugins/util/stacktrace.js +9 -2
  397. package/packages/dd-trace/src/plugins/util/test.js +423 -30
  398. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  399. package/packages/dd-trace/src/plugins/util/urlfilter.js +13 -17
  400. package/packages/dd-trace/src/plugins/util/user-provided-git.js +14 -4
  401. package/packages/dd-trace/src/plugins/util/web.js +16 -12
  402. package/packages/dd-trace/src/priority_sampler.js +156 -42
  403. package/packages/dd-trace/src/profiler.js +1 -1
  404. package/packages/dd-trace/src/profiling/config.js +51 -35
  405. package/packages/dd-trace/src/profiling/exporter_cli.js +21 -21
  406. package/packages/dd-trace/src/profiling/exporters/agent.js +2 -6
  407. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +7 -6
  408. package/packages/dd-trace/src/profiling/exporters/file.js +2 -1
  409. package/packages/dd-trace/src/profiling/index.js +2 -1
  410. package/packages/dd-trace/src/profiling/profiler.js +49 -10
  411. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookup.js +1 -1
  412. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_lookupservice.js +1 -1
  413. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_resolve.js +2 -2
  414. package/packages/dd-trace/src/profiling/profilers/event_plugins/dns_reverse.js +1 -1
  415. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +15 -14
  416. package/packages/dd-trace/src/profiling/profilers/events.js +24 -19
  417. package/packages/dd-trace/src/profiling/profilers/shared.js +6 -1
  418. package/packages/dd-trace/src/profiling/profilers/space.js +3 -3
  419. package/packages/dd-trace/src/profiling/profilers/wall.js +23 -13
  420. package/packages/dd-trace/src/profiling/ssi-heuristics.js +3 -5
  421. package/packages/dd-trace/src/profiling/ssi-telemetry-mock-profiler.js +3 -1
  422. package/packages/dd-trace/src/profiling/tagger.js +21 -13
  423. package/packages/dd-trace/src/profiling/webspan-utils.js +1 -1
  424. package/packages/dd-trace/src/proxy.js +67 -37
  425. package/packages/dd-trace/src/random_sampler.js +40 -0
  426. package/packages/dd-trace/src/rate_limiter.js +4 -4
  427. package/packages/dd-trace/src/{appsec/remote_config → remote_config}/capabilities.js +1 -0
  428. package/packages/dd-trace/src/{appsec/remote_config → remote_config}/index.js +11 -12
  429. package/packages/dd-trace/src/{appsec/remote_config → remote_config}/manager.js +35 -18
  430. package/packages/dd-trace/src/require-package-json.js +1 -1
  431. package/packages/dd-trace/src/ritm.js +8 -8
  432. package/packages/dd-trace/src/runtime_metrics/index.js +34 -0
  433. package/packages/dd-trace/src/{runtime_metrics.js → runtime_metrics/runtime_metrics.js} +30 -94
  434. package/packages/dd-trace/src/sampler.js +48 -2
  435. package/packages/dd-trace/src/sampling_rule.js +20 -6
  436. package/packages/dd-trace/src/scope.js +1 -1
  437. package/packages/dd-trace/src/serverless.js +18 -50
  438. package/packages/dd-trace/src/service-naming/index.js +12 -4
  439. package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
  440. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
  441. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +8 -0
  442. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +2 -3
  443. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
  444. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +4 -0
  445. package/packages/dd-trace/src/span_processor.js +12 -8
  446. package/packages/dd-trace/src/span_sampler.js +4 -1
  447. package/packages/dd-trace/src/span_stats.js +3 -4
  448. package/packages/dd-trace/src/standalone/index.js +70 -0
  449. package/packages/dd-trace/src/standalone/product.js +26 -0
  450. package/packages/dd-trace/src/standalone/tracesource.js +21 -0
  451. package/packages/dd-trace/src/standalone/tracesource_priority_sampler.js +46 -0
  452. package/packages/dd-trace/src/startup-log.js +8 -19
  453. package/packages/dd-trace/src/supported-configurations.json +442 -0
  454. package/packages/dd-trace/src/tagger.js +38 -33
  455. package/packages/dd-trace/src/telemetry/dependencies.js +64 -59
  456. package/packages/dd-trace/src/telemetry/index.js +16 -386
  457. package/packages/dd-trace/src/telemetry/logs/log-collector.js +9 -10
  458. package/packages/dd-trace/src/telemetry/metrics.js +10 -13
  459. package/packages/dd-trace/src/telemetry/send-data.js +13 -8
  460. package/packages/dd-trace/src/telemetry/telemetry.js +386 -0
  461. package/packages/dd-trace/src/tracer.js +11 -23
  462. package/packages/dd-trace/src/util.js +11 -11
  463. package/register.js +3 -1
  464. package/version.js +1 -0
  465. package/packages/datadog-core/src/utils/src/get.js +0 -11
  466. package/packages/datadog-core/src/utils/src/has.js +0 -14
  467. package/packages/datadog-instrumentations/src/paperplane.js +0 -77
  468. package/packages/datadog-instrumentations/src/utils/src/extract-package-and-module-path.js +0 -36
  469. package/packages/datadog-plugin-paperplane/src/index.js +0 -25
  470. package/packages/datadog-plugin-paperplane/src/logger.js +0 -11
  471. package/packages/datadog-plugin-paperplane/src/server.js +0 -24
  472. package/packages/dd-trace/src/appsec/iast/analyzers/header-injection-analyzer.js +0 -122
  473. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/header-sensitive-analyzer.js +0 -20
  474. package/packages/dd-trace/src/appsec/standalone.js +0 -130
  475. package/packages/dd-trace/src/appsec/telemetry.js +0 -218
  476. package/packages/dd-trace/src/llmobs/writers/spans/agentProxy.js +0 -23
  477. package/packages/dd-trace/src/llmobs/writers/spans/agentless.js +0 -17
  478. package/packages/dd-trace/src/llmobs/writers/spans/base.js +0 -52
  479. package/packages/dd-trace/src/service-naming/schemas/index.js +0 -6
  480. /package/packages/dd-trace/src/{appsec/remote_config → remote_config}/apply_states.js +0 -0
  481. /package/packages/dd-trace/src/{appsec/remote_config → remote_config}/scheduler.js +0 -0
@@ -2,10 +2,10 @@ 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.
7
6
  require,@datadog/pprof,Apache license 2.0,Copyright 2019 Google Inc.
8
7
  require,@datadog/sketches-js,Apache license 2.0,Copyright 2020 Datadog Inc.
8
+ require,@datadog/wasm-js-rewriter,Apache license 2.0,Copyright 2018 Datadog Inc.
9
9
  require,@opentelemetry/api,Apache license 2.0,Copyright OpenTelemetry Authors
10
10
  require,@opentelemetry/core,Apache license 2.0,Copyright OpenTelemetry Authors
11
11
  require,@isaacs/ttlcache,ISC,Copyright (c) 2022-2023 - Isaac Z. Schlueter and Contributors
@@ -20,6 +20,7 @@ require,limiter,MIT,Copyright 2011 John Hurliman
20
20
  require,lodash.sortby,MIT,Copyright JS Foundation and other contributors
21
21
  require,lru-cache,ISC,Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
22
22
  require,module-details-from-path,MIT,Copyright 2016 Thomas Watson Steen
23
+ require,mutexify,MIT,Copyright (c) 2014 Mathias Buus
23
24
  require,opentracing,MIT,Copyright 2016 Resonance Labs Inc
24
25
  require,path-to-regexp,MIT,Copyright 2014 Blake Embrey
25
26
  require,pprof-format,MIT,Copyright 2022 Stephen Belanger
@@ -31,41 +32,34 @@ require,semifies,Apache license 2.0,Copyright Authors
31
32
  require,shell-quote,mit,Copyright (c) 2013 James Halliday
32
33
  require,source-map,BSD-3-Clause,Copyright (c) 2009-2011, Mozilla Foundation and contributors
33
34
  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,@babel/helpers,MIT,Copyright (c) 2014-present Sebastian McKenzie and other contributors
35
36
  dev,@types/node,MIT,Copyright Authors
36
37
  dev,@eslint/eslintrc,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
37
38
  dev,@eslint/js,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
38
39
  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.
40
+ dev,@stylistic/eslint-plugin,MIT,Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
42
41
  dev,axios,MIT,Copyright 2014-present Matt Zabriskie
43
42
  dev,benchmark,MIT,Copyright 2010-2016 Mathias Bynens Robert Kieffer John-David Dalton
44
43
  dev,body-parser,MIT,Copyright 2014 Jonathan Ong 2014-2015 Douglas Christopher Wilson
45
44
  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
45
  dev,eslint,MIT,Copyright JS Foundation and other contributors https://js.foundation
52
46
  dev,eslint-config-standard,MIT,Copyright Feross Aboukhadijeh
53
47
  dev,eslint-plugin-import,MIT,Copyright 2015 Ben Mosher
54
48
  dev,eslint-plugin-mocha,MIT,Copyright 2014 Mathias Schreck
55
49
  dev,eslint-plugin-n,MIT,Copyright 2015 Toru Nagashima
56
50
  dev,eslint-plugin-promise,ISC,jden and other contributors
51
+ dev,eslint-plugin-unicorn,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
57
52
  dev,express,MIT,Copyright 2009-2014 TJ Holowaychuk 2013-2014 Roman Shtylman 2014-2015 Douglas Christopher Wilson
58
53
  dev,get-port,MIT,Copyright Sindre Sorhus
59
54
  dev,glob,ISC,Copyright Isaac Z. Schlueter and Contributors
60
55
  dev,globals,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
61
56
  dev,graphql,MIT,Copyright 2015 Facebook Inc.
62
57
  dev,jszip,MIT,Copyright 2015-2016 Stuart Knightley and contributors
63
- dev,knex,MIT,Copyright (c) 2013-present Tim Griesser
64
- dev,mkdirp,MIT,Copyright 2010 James Halliday
65
58
  dev,mocha,MIT,Copyright 2011-2018 JS Foundation and contributors https://js.foundation
66
59
  dev,multer,MIT,Copyright 2014 Hage Yaapa
67
60
  dev,nock,MIT,Copyright 2017 Pedro Teixeira and other contributors
68
61
  dev,nyc,ISC,Copyright 2015 Contributors
62
+ dev,octokit,MIT,Copyright 2023 Octokit contributors
69
63
  dev,proxyquire,MIT,Copyright 2013 Thorsten Lorenz
70
64
  dev,rimraf,ISC,Copyright Isaac Z. Schlueter and Contributors
71
65
  dev,semver,ISC,Copyright Isaac Z. Schlueter and Contributors
@@ -74,6 +68,7 @@ dev,sinon-chai,WTFPL and BSD-2-Clause,Copyright 2004 Sam Hocevar 2012–2017 Dom
74
68
  dev,tap,ISC,Copyright 2011-2022 Isaac Z. Schlueter and Contributors
75
69
  dev,tiktoken,MIT,Copyright (c) 2022 OpenAI, Shantanu Jain
76
70
  dev,yaml,ISC,Copyright Eemeli Aro <eemeli@gmail.com>
71
+ dev,yarn-deduplicate,Apache license 2.0,Copyright [yyyy] [name of copyright owner]
77
72
  file,aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com Inc. or its affiliates. All Rights Reserved.
78
73
  file,profile.proto,Apache license 2.0,Copyright 2016 Google Inc.
79
74
  file,is-git-url,MIT,Copyright (c) 2017 Jon Schlinkert.
package/README.md CHANGED
@@ -15,13 +15,18 @@
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
 
22
22
 
23
23
  ## Version Release Lines and Maintenance
24
24
 
25
+ > **Node.js v24 Notice**: We're currently adding compatibility for Node.js v24. To use the tracer with your application either continue to use Node.js v22 (LTS), or do both of the following as a workaround:
26
+ > * Install v5.52.0 (or newer) of the tracer
27
+ > * Set `--no-async-context-frame` either using a CLI argument or via `NODE_OPTIONS`
28
+ > Once support for Node.js v24 is complete this flag will no longer be needed.
29
+
25
30
  | Release Line | Latest Version | Node.js | [SSI](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/single-step-apm/?tab=linuxhostorvm) | [K8s Injection](https://docs.datadoghq.com/tracing/trace_collection/library_injection_local/?tab=kubernetes) |Status |Initial Release | End of Life |
26
31
  | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
27
32
  | [`v1`](https://github.com/DataDog/dd-trace-js/tree/v1.x) | ![npm v1](https://img.shields.io/npm/v/dd-trace/legacy-v1?color=white&label=%20&style=flat-square) | `>= v12` | NO | NO | **EOL** | 2021-07-13 | 2022-02-25 |
@@ -59,7 +64,7 @@ When a new release line is introduced the previous release line then enters main
59
64
  Once that year is up the release line enters End of Life and will not receive new updates.
60
65
  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
66
 
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.
67
+ 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
68
 
64
69
  Changes associated with each individual release are documented on the [GitHub Releases](https://github.com/DataDog/dd-trace-js/releases) screen.
65
70
 
@@ -69,21 +74,11 @@ Changes associated with each individual release are documented on the [GitHub Re
69
74
  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
75
 
71
76
 
72
- ## EcmaScript Modules (ESM) Support
73
-
74
- ESM support requires an additional command-line argument. Use the following to enable experimental ESM support with your application:
75
-
76
- Node.js < v20.6
77
-
78
- ```sh
79
- node --loader dd-trace/loader-hook.mjs entrypoint.js
80
- ```
77
+ ## ECMAScript Modules (ESM) Support
81
78
 
82
- Node.js >= v20.6
79
+ ESM support requires an _additional_ command line argument when starting the Node.js process.
80
+ 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.
83
81
 
84
- ```sh
85
- node --import dd-trace/register.js entrypoint.js
86
- ```
87
82
 
88
83
  ## Serverless / Lambda
89
84
 
@@ -1,3 +1,11 @@
1
+ const { NODE_MAJOR } = require('../../version')
2
+
3
+ // These polyfills are here because cypress@6.7.0, which we still support for v5, runs its plugin code
4
+ // with Node.js@12.
5
+ if (NODE_MAJOR < 18) {
6
+ require('./polyfills')
7
+ }
8
+
1
9
  require('../init')
2
10
 
3
11
  module.exports = require('../../packages/datadog-plugin-cypress/src/plugin')
@@ -0,0 +1,23 @@
1
+ if (!Object.hasOwn) {
2
+ Object.defineProperty(Object, 'hasOwn', {
3
+ // eslint-disable-next-line prefer-object-has-own
4
+ value: (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop),
5
+ writable: true,
6
+ configurable: true,
7
+ })
8
+ }
9
+
10
+ if (!Array.prototype.at) {
11
+ // eslint-disable-next-line no-extend-native
12
+ Object.defineProperty(Array.prototype, 'at', {
13
+ value: function (n) {
14
+ const len = this.length
15
+ if (len === 0) return
16
+ let index = Math.trunc(n)
17
+ if (index < 0) index += len
18
+ return (index < 0 || index >= len) ? undefined : this[index]
19
+ },
20
+ writable: true,
21
+ configurable: true
22
+ })
23
+ }
package/ci/init.js CHANGED
@@ -2,10 +2,13 @@
2
2
  const tracer = require('../packages/dd-trace')
3
3
  const { isTrue, isFalse } = require('../packages/dd-trace/src/util')
4
4
  const log = require('../packages/dd-trace/src/log')
5
+ const { getEnvironmentVariable } = require('../packages/dd-trace/src/config-helper')
5
6
 
6
- const isJestWorker = !!process.env.JEST_WORKER_ID
7
- const isCucumberWorker = !!process.env.CUCUMBER_WORKER_ID
8
- const isMochaWorker = !!process.env.MOCHA_WORKER_ID
7
+ const isJestWorker = !!getEnvironmentVariable('JEST_WORKER_ID')
8
+ const isCucumberWorker = !!getEnvironmentVariable('CUCUMBER_WORKER_ID')
9
+ const isMochaWorker = !!getEnvironmentVariable('MOCHA_WORKER_ID')
10
+
11
+ const isPlaywrightWorker = !!getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')
9
12
 
10
13
  const packageManagers = [
11
14
  'npm',
@@ -23,17 +26,17 @@ const options = {
23
26
  flushInterval: isJestWorker ? 0 : 5000
24
27
  }
25
28
 
26
- let shouldInit = !isFalse(process.env.DD_CIVISIBILITY_ENABLED)
29
+ let shouldInit = !isFalse(getEnvironmentVariable('DD_CIVISIBILITY_ENABLED'))
27
30
 
28
31
  if (isPackageManager()) {
29
32
  log.debug('dd-trace is not initialized in a package manager.')
30
33
  shouldInit = false
31
34
  }
32
35
 
33
- const isAgentlessEnabled = isTrue(process.env.DD_CIVISIBILITY_AGENTLESS_ENABLED)
36
+ const isAgentlessEnabled = isTrue(getEnvironmentVariable('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
34
37
 
35
38
  if (isAgentlessEnabled) {
36
- if (process.env.DATADOG_API_KEY || process.env.DD_API_KEY) {
39
+ if (getEnvironmentVariable('DD_API_KEY')) {
37
40
  options.experimental = {
38
41
  exporter: 'datadog'
39
42
  }
@@ -67,6 +70,12 @@ if (isMochaWorker) {
67
70
  }
68
71
  }
69
72
 
73
+ if (isPlaywrightWorker) {
74
+ options.experimental = {
75
+ exporter: 'playwright_worker'
76
+ }
77
+ }
78
+
70
79
  if (shouldInit) {
71
80
  tracer.init(options)
72
81
  tracer.use('fs', false)
@@ -5,7 +5,8 @@ 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'
9
10
  }
10
11
 
11
12
  export = exporters
package/ext/exporters.js CHANGED
@@ -6,5 +6,6 @@ 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'
10
11
  }