Skip to content

fix: avoid forced GC during allocation profile collection - #435

Draft
IlyasShabi wants to merge 1 commit into
mainfrom
ishabi/profiling-remove-forced-gc
Draft

IlyasShabi wants to merge 1 commit into
mainfrom
ishabi/profiling-remove-forced-gc

Conversation

@IlyasShabi

@IlyasShabi IlyasShabi commented Nov 7, 2026 •

Copy link
Copy Markdown

What does this PR do?

Removes kSamplingForceGC from allocation profiling on Node.js 26+, so collecting a profile no longer requests a full GC. It also updates the documentation in the code and adds a simple regression test.

Motivation

We identified that allocation profiling forces a full GC every time we collect a profile. This adds GC work and can cause long pauses on the main thread. Removing the flag avoids those extra collections and their pause overhead.

Additional Notes

Some objects that are no longer reachable may still be reported as live because V8 has not collected them yet. This can overestimate live heap usage at collection time. For a statistical profiler, we prefer this tradeoff to forcing a full GC on every profile.

@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown

Overall package size

Self size: 2.62 MB
Deduped: 3.73 MB
No deduping: 3.73 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | pprof-format | 2.4.0 | 912.36 kB | 912.36 kB | | source-map | 0.8.0 | 185.66 kB | 185.66 kB | | node-gyp-build | 4.8.4 | 13.86 kB | 13.86 kB |

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

@IlyasShabi IlyasShabi added the semver-patch Bug or security fixes, mainly label Nov 7, 2026
@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Pipelines

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 2 Pipeline jobs failed

Build | build-successful

View more details · View in GitHub Actions

Pull Request Labels | label

View more details · View in GitHub Actions

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 3569e26 | Docs | View more details | Give us feedback!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-patch Bug or security fixes, mainly

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant