Skip to content

feat(loader-hook)!: add include configuration for import-in-the-middle#6455

Merged
BridgeAR merged 13 commits into
masterfrom
iitm-include
Oct 30, 2025
Merged

feat(loader-hook)!: add include configuration for import-in-the-middle#6455
BridgeAR merged 13 commits into
masterfrom
iitm-include

Conversation

@rochdev

@rochdev rochdev commented Sep 16, 2025

Copy link
Copy Markdown
Member

What does this PR do?

Add include configuration to iitm loader hook.

Motivation

This avoids patching every single module and instead only patches modules we instrument. Since iitm is not compatible with every module, this is needed to avoid issues with unsupported modules.

@github-actions

github-actions Bot commented Sep 16, 2025

Copy link
Copy Markdown
Contributor

Overall package size

Self size: 12.89 MB
Deduped: 115.6 MB
No deduping: 117.81 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.3.0 | 20.73 MB | 20.74 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.11.1 | 9.96 MB | 10.34 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.73 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @opentelemetry/resources | 1.9.1 | 306.54 kB | 1.74 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api-logs | 0.206.0 | 201.39 kB | 1.42 MB | | @opentelemetry/api | 1.9.0 | 1.22 MB | 1.22 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.15.0 | 127.66 kB | 856.24 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | @datadog/openfeature-node-server | 0.1.0-preview.12 | 95.11 kB | 401.68 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | source-map | 0.7.6 | 185.63 kB | 185.63 kB | | pprof-format | 2.2.1 | 163.06 kB | 163.06 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 | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 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 | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB | | escape-string-regexp | 5.0.0 | 3.66 kB | 3.66 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov

codecov Bot commented Sep 16, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 84.13%. Comparing base (77d7e65) to head (59f171d).
⚠️ Report is 36 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/config.js 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6455      +/-   ##
==========================================
- Coverage   84.13%   84.13%   -0.01%     
==========================================
  Files         505      505              
  Lines       21038    21040       +2     
==========================================
+ Hits        17701    17702       +1     
- Misses       3337     3338       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Sep 16, 2025

Copy link
Copy Markdown

⚠️ Tests

⚠️ Warnings

🧪 1 Test failed

esm with @azure/functions >=4 (4.0.0) "before all" hook for "propagates eventdata through an event hub with a cardinality of one" from with @azure/functions >=4 (4.0.0) (Datadog)
Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/dd-trace-js/dd-trace-js/packages/datadog-plugin-azure-functions/test/integration-test/eventhubs-test/eventhubs.spec.js)

Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/dd-trace-js/dd-trace-js/packages/datadog-plugin-azure-functions/test/integration-test/eventhubs-test/eventhubs.spec.js)

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 59f171d | Docs | Was this helpful? Give us feedback!

@pr-commenter

pr-commenter Bot commented Sep 16, 2025

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2025-10-24 03:26:01

Comparing candidate commit 59f171d in PR branch iitm-include with baseline commit 77d7e65 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1604 metrics, 66 unstable metrics.

@rochdev
rochdev marked this pull request as ready for review September 16, 2025 20:38
@rochdev
rochdev requested a review from a team as a code owner September 16, 2025 20:38
@BridgeAR

Copy link
Copy Markdown
Member

I am marking this as draft until we find a solution for the appsec code

@BridgeAR
BridgeAR marked this pull request as draft September 17, 2025 21:20
@rochdev
rochdev force-pushed the iitm-include branch 2 times, most recently from fe0bc9a to e3d82c5 Compare September 30, 2025 23:41
@rochdev
rochdev marked this pull request as ready for review September 30, 2025 23:50
@rochdev
rochdev requested a review from a team as a code owner September 30, 2025 23:50
@rochdev
rochdev requested review from khanayan123 and removed request for a team September 30, 2025 23:50
@rochdev
rochdev marked this pull request as draft September 30, 2025 23:51
@rochdev
rochdev marked this pull request as ready for review October 3, 2025 00:54
@rochdev rochdev added this to the 6.0.0 milestone Oct 5, 2025
Comment thread loader-hook.mjs Outdated
Comment thread loader-hook.mjs Outdated
Comment thread loader-hook.mjs Outdated

@BridgeAR BridgeAR left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This generally looks good to me, while I would appreciate if e.g., @uurien or @simon-id could have a look at the escaping: it is tricky to determine if the user should escape the path or not and we should probably clearly document that. Otherwise it would seemingly work while effectively not matching the anticipated paths.

@rochdev
rochdev force-pushed the iitm-include branch 2 times, most recently from 9d8fe90 to 8bde3b8 Compare October 7, 2025 19:28
@rochdev

rochdev commented Oct 7, 2025

Copy link
Copy Markdown
Member Author

it is tricky to determine if the user should escape the path or not and we should probably clearly document that

Customers should never escape anything as they are not passing a pattern but a list of local files. This should therefore not be documented as it's not a supported use case for the environment variable. This is also why I don't think escaping should ever be a problem.

@rochdev

rochdev commented Oct 7, 2025

Copy link
Copy Markdown
Member Author

I had to revert unrelated changes to the lockfile that were failing, but should be good now.

BridgeAR
BridgeAR previously approved these changes Oct 9, 2025
@rochdev

rochdev commented Oct 10, 2025

Copy link
Copy Markdown
Member Author

Had to rebase because of a conflict.

@rochdev

rochdev commented Oct 20, 2025

Copy link
Copy Markdown
Member Author

@BridgeAR Had to rebase again, please re-review when you get the chance.

@BridgeAR
BridgeAR merged commit 6b2d9fe into master Oct 30, 2025
789 of 791 checks passed
@BridgeAR
BridgeAR deleted the iitm-include branch October 30, 2025 10:57
@dd-octo-sts dd-octo-sts Bot mentioned this pull request Oct 30, 2025
@pabloerhard pabloerhard changed the title add include configuration to iitm loader hook feat(loader-hook)!: add include configuration for import-in-the-middle Jul 2, 2026
@dd-octo-sts dd-octo-sts Bot mentioned this pull request Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants