-
Notifications
You must be signed in to change notification settings - Fork 341
Fix fs and rasp/iast problems #6088
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: master
Are you sure you want to change the base?
Conversation
Overall package sizeSelf size: 9.69 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 | | 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 | | limiter | 1.1.5 | 23.17 kB | 23.17 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 ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6088 +/- ##
==========================================
- Coverage 81.98% 81.29% -0.70%
==========================================
Files 475 463 -12
Lines 19598 19364 -234
==========================================
- Hits 16067 15741 -326
- Misses 3531 3623 +92 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
BenchmarksBenchmark execution time: 2025-07-15 13:51:30 Comparing candidate commit 236cb24 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 1266 metrics, 57 unstable metrics. |
2938bbf
to
d0a0287
Compare
d0a0287
to
14420cb
Compare
c56715e
to
ecec633
Compare
this.addSub('apm:fs:operation:finish', this._onFsOperationFinishOrRenderEnd) | ||
this.addSub('tracing:datadog:express:response:render:start', this._onResponseRenderStart) | ||
this.addSub('tracing:datadog:express:response:render:end', this._onFsOperationFinishOrRenderEnd) | ||
this.addBind('apm:fs:operation:start', this._onFsOperationStart) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should bind only on the first one apm:fs:operation:start
to avoid replacing transform function, then we can listen on others
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In all of them we were doing enterWith
, we can avoid that using addBind
. iiuc subscribing to do enterWith
is almost the same of doing that using addBind
// TODO Remove this when node 18 is unsupported or dc-polyfill is fixed&updated | ||
// hack to node 18 and early 20.x | ||
// with dc-polyfill addBind is not enough to force a channel.hasSubscribers === true | ||
const onStart = () => {} | ||
opStartCh.subscribe(onStart) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that sounds like a bug in the code that should be fixed in the code, not in the tests, no ?
What does this PR do?
Fix appsec and iast fs-plugin to work as expected when multiple calls to fs methods are executed without waiting to the callback.
Motivation
Fix a problem found with fastify + logger and fix the features.