Skip to content

Conversation

@juan-fernandez
Copy link
Collaborator

@juan-fernandez juan-fernandez commented Oct 31, 2025

What does this PR do?

Add instrumentation for ForksPoolWorker and ThreadsPoolWorker, which substitute tinypool.

Motivation

vitest@4 got rid of tinypool altogether: vitest-dev/vitest#8705 (https://github.com/vitest-dev/vitest/releases/tag/v4.0.0), so we need to re-support IPC for the new pools.

This change hasn't broken our tests because our instrumentation has graceful degradation: if the worker can't find TINYPOOL_WORKER_ID, it will report just like the main process, directly to the intake or agent. The instrumentation is more fragible (workers can be shut down with a request in flight) but it still reports data if it can.

Plugin Checklist

The already present integration tests should be enough, as they check test.vitest.pool. This checks that the new instrumentation is kicking in.

  • Integration tests.

@github-actions
Copy link

github-actions bot commented Oct 31, 2025

Overall package size

Self size: 13.15 MB
Deduped: 117.18 MB
No deduping: 119.39 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.12.0 | 11.19 MB | 11.57 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.82 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.207.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
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

❌ Patch coverage is 50.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.78%. Comparing base (870560e) to head (b4df8f5).

Files with missing lines Patch % Lines
...e/src/ci-visibility/exporters/test-worker/index.js 25.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6812      +/-   ##
==========================================
- Coverage   83.79%   83.78%   -0.02%     
==========================================
  Files         506      506              
  Lines       21271    21275       +4     
==========================================
+ Hits        17825    17826       +1     
- Misses       3446     3449       +3     

☔ 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-official

This comment has been minimized.

Base automatically changed from juan-fernandez/fix-vitest-threads to master November 3, 2025 10:53
@juan-fernandez juan-fernandez force-pushed the juan-fernandez/support-v4-new-pools branch from 62864f4 to bdad0cf Compare November 3, 2025 10:58
it(`can run and report tests with pool=${poolConfig}`, (done) => {
receiver.gatherPayloadsMaxTimeout(({ url }) => url === '/api/v2/citestcycle', payloads => {
const metadataDicts = payloads.flatMap(({ payload }) => payload.metadata)
it(`can run and report tests with pool=${poolConfig}`, async () => {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

no changes, just made it async

@pr-commenter
Copy link

pr-commenter bot commented Nov 3, 2025

Benchmarks

Benchmark execution time: 2025-11-03 11:19:39

Comparing candidate commit b4df8f5 in PR branch juan-fernandez/support-v4-new-pools with baseline commit 870560e in branch master.

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

@juan-fernandez juan-fernandez force-pushed the juan-fernandez/support-v4-new-pools branch from f728ef3 to b4df8f5 Compare November 3, 2025 11:12
@juan-fernandez juan-fernandez marked this pull request as ready for review November 3, 2025 11:43
@juan-fernandez juan-fernandez requested review from a team as code owners November 3, 2025 11:43
@juan-fernandez juan-fernandez merged commit 0d578e7 into master Nov 3, 2025
763 checks passed
@juan-fernandez juan-fernandez deleted the juan-fernandez/support-v4-new-pools branch November 3, 2025 12:19
@dd-octo-sts dd-octo-sts bot mentioned this pull request Nov 3, 2025
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.

3 participants