-
Notifications
You must be signed in to change notification settings - Fork 341
v5.59.0 proposal #6069
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v5.x
Are you sure you want to change the base?
v5.59.0 proposal #6069
Conversation
Use the `Error.captureStackTrace` API when triggering `Error.prepareStackTrace` in order to be able to provide a constructor function. This is used to reduce the number of unnecessary frames being generated.
Enables all recommended rules from the `eslint-plugin-n` ESLint plugin that can reasonably be enabled without too much work. The following rules have been disabled as they cause too many errors: - `n/hashbang` - `n/no-process-exit` - `n/no-missing-require` (only disabled in benchmarks and tests) All `eslint-plugin-n` rules are also disabled for `**/*.mjs` files as these for some reason resulting in parsing errors. Finally a select list of experimental Node.js APIs have been allowed in `n/no-unsupported-features/node-builtins`, so that we can use them without having to add ESLint comments all over the place: - `Response` - `async_hooks.createHook` - `async_hooks.executionAsyncId` - `async_hooks.executionAsyncResource` - `fetch` - `fs/promises.cp`
* chore: update lru-cache, less lookups, dependabot ignore update This updates the lru-cache to the latest version that supports Node.js 18. The version above is ignored in dependabot. It also ignores path-to-regexp, since that has to stay aligned with the one used in express.js v4. Express itself is updated as dev dependencies. That way we should notice earlier in case more things break. The cache lookups got a bit optimized to not have to check multiple times if an entry exists or not. * chore: outcommend alternative in docker-compose Only one should be used per port.
* Fix issues related to adding strict-mode These issues are either just a different behavior in strict-mode, changes to tests that expect specific lines, or hiding real errors.
* move test cleanup to hook
* remove get-port usage in core tests and a few more * remove get-port usage from appsec plugin tests * remove explicit hostname from appsec express test * remove explicit hostname from appsec request helper test * make port explicit and add comment to explain why an arbitrary port is fine
The original implementation contained unused code and used replace calls after serializing an object to JSON. The strings could have contained parts that the replace call would have matched (while unlikely due to the content). This now directly serializes to JSON and does not have that issue anymore. That should also be faster overall.
…6030) Not all of our files have Node.js 18.0.0 as the target version.
* should call promise for sending sqs messages with await syntax --------- Co-authored-by: William Conti <william.conti@datadoghq.com>
The instrumentation does not yet handle middlewares, while the basic functionality should work just fine. --------- Co-authored-by: Luke Dunscombe <dunscombe1@gmail.com>
Overall package sizeSelf size: 9.66 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.0.0 | 20.3 MB | 20.31 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.9.0 | 9.77 MB | 10.14 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.14.2 | 122.36 kB | 850.93 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | limiter | 3.0.0 | 157.92 kB | 157.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## v5.x #6069 +/- ##
=======================================
Coverage ? 81.86%
=======================================
Files ? 473
Lines ? 19548
Branches ? 0
=======================================
Hits ? 16002
Misses ? 3546
Partials ? 0 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
BenchmarksBenchmark execution time: 2025-07-14 15:19:54 Comparing candidate commit 095abaa in PR branch Found 60 performance improvements and 0 performance regressions! Performance is the same for 1096 metrics, 52 unstable metrics. scenario:shimmer-startup-arrow-wrap-18
scenario:shimmer-startup-arrow-wrap-20
scenario:shimmer-startup-arrow-wrap-22
scenario:shimmer-startup-arrow-wrapfn-18
scenario:shimmer-startup-arrow-wrapfn-20
scenario:shimmer-startup-arrow-wrapfn-22
scenario:shimmer-startup-asyncarrow-wrap-18
scenario:shimmer-startup-asyncarrow-wrap-20
scenario:shimmer-startup-asyncarrow-wrap-22
scenario:shimmer-startup-asyncdeclared-wrap-18
scenario:shimmer-startup-asyncdeclared-wrap-20
scenario:shimmer-startup-asyncdeclared-wrap-22
scenario:shimmer-startup-declared-wrap-18
scenario:shimmer-startup-declared-wrap-20
scenario:shimmer-startup-declared-wrap-22
scenario:shimmer-startup-declared-wrapfn-18
scenario:shimmer-startup-declared-wrapfn-20
scenario:shimmer-startup-declared-wrapfn-22
|
8e3c632
to
d37c15d
Compare
d37c15d
to
c936a97
Compare
Ensure that the stack traces reported via Code Origin for Spans are resolved using source maps, if Node.js is running with the `--enable-source-maps` flag.
c936a97
to
facb822
Compare
…6022) * add ability to tag tool id on tool messages * add type doc * fix test * remove documenting
Add support for loading Dynamic Instrumentation / Live Debugger probes via a JSON file instead of Remote Configuration (RC). To use this feature, specify a path to the JSON file using either the environment variable `DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE` or the programmatic configuration `dynamicInstrumentation.probeFile`. This can be used in combination with RC. The JSON should be an array of probe objects in the same format as received via the RC `config` object, for example: [{ id: '100c9a5c-45ad-49dc-818b-c570d31e11d1', version: 0, type: 'LOG_PROBE', where: { sourceFile: 'index.js', lines: ['25'] }, template: 'Hello World', segments: [{ str: 'Hello World' }], captureSnapshot: true, capture: { maxReferenceDepth: 3 }, sampling: { snapshotsPerSecond: 100 } }]
facb822
to
095abaa
Compare
c67baf6e80
] - (SEMVER-MINOR) [test-optimization] [SDTEST-2290] Fix support for Cucumber 12+ (Mario Vidal Domínguez) #6087ea0d023890
] - (SEMVER-MINOR) [DI] Add support for loading probes from JSON file (Thomas Watson) #594146c7a7c1b9
] - (SEMVER-PATCH) ci: exercise more of the guardrails code during testing (Thomas Watson) #60346804d6d550
] - (SEMVER-PATCH) chore(llmobs): add internal ability to tag tool id on tool messages (Sam Brenner) #60229e3721cd71
] - (SEMVER-PATCH) [test-optimization] [SDTEST-2290] Remove Cucumber and Selenium tests (Mario Vidal Domínguez) #6086fd626ea4ec
] - (SEMVER-PATCH) [Code Origin] Take source maps into account in stack traces (Thomas Watson) #6070d5f5adf973
] - (SEMVER-PATCH) fix indeterministic request id failing di snapshot test (Roch Devost) #6084ebe303e882
] - (SEMVER-PATCH) Update WAF rules to v1.15.0 (Carles Capell) #6082cb54870963
] - (SEMVER-MINOR) [test-optimization] [SDTEST-2264] Upgrade attempt_to_fix tov5
(Mario Vidal Domínguez) #6074fe0e057f39
] - (SEMVER-PATCH) fix sqs test race condition when deleting the queue (Roch Devost) #60683c8de0a523
] - (SEMVER-PATCH) move test optimization integration tests to dedicated folder (Roch Devost) #60479a2ca1d8b2
] - (SEMVER-PATCH) ESLint: Clean up Node.js built-in ignores (Thomas Watson) #6059d5b6932cba
] - (SEMVER-PATCH) [test-optimization] [SDTEST-2272] Fixattempt_to_fix
tagging in Playwright (Mario Vidal Domínguez) #6071d04f2b4e87
] - (SEMVER-PATCH) [test-optimization] [SDTEST-2267] RemovegetPort
from Test Optimization tests (Mario Vidal Domínguez) #6064a9eaa1cf08
] - (SEMVER-MINOR) Bump native-appsec package + ASM multi DD config capability (Carles Capell) #604947d3c6312a
] - (SEMVER-MINOR) instrumentation: add hono support (Ruben Bridgewater) #60611e4c9f3ca0
] - (SEMVER-PATCH) support blocking on fastify multipart (Ilyas Shabi) #5980a57677c113
] - (SEMVER-PATCH) Use files property in package.json instead of .npmignore (Thomas Watson) #53204a08404136
] - (SEMVER-PATCH) test: use dynamic queue name for aws sqs tests (Roch Devost) #6050d4c55ba452
] - (SEMVER-PATCH) [test-optimization] Add logs for Playwright test (Mario Vidal Domínguez) #6055d3764398de
] - (SEMVER-PATCH) ESLint: Scope certain files to other Node.js versions than v18.0.0 (Thomas Watson) #60309453dcf991
] - (SEMVER-PATCH) datastreams: safer and faster schema serialization (Ruben Bridgewater) #6042ef608d6c48
] - (SEMVER-PATCH) test: remove get-port usage in core tests and appsec (Roch Devost) #6060b4edcab2a2
] - (SEMVER-PATCH) test: remove get-port usage from inferred proxy test (Roch Devost) #6054f2f650b528
] - (SEMVER-PATCH) ESLint: Require 'use strict' header (Thomas Watson) #53341f4d857a96
] - (SEMVER-PATCH) chore: update dependencies & dependabot & less cache lookups (Ruben Bridgewater) #6041e7cf286691
] - (SEMVER-PATCH) Enable recommended rules for eslint-plugin-n (Thomas Watson) #52169ff794ccfc
] - (SEMVER-PATCH) perf: improve algorithm for getting callsites in AppSec (Thomas Watson) #6044