Skip to content

ref(profiling-node)!: Remove prune-profiler-binaries bin script - #23104

Merged
nicohrubec merged 2 commits into
developfrom
ref/remove-prune-profiler-binaries
Aug 6, 2026
Merged

ref(profiling-node)!: Remove prune-profiler-binaries bin script#23104
nicohrubec merged 2 commits into
developfrom
ref/remove-prune-profiler-binaries

Conversation

@nicohrubec

@nicohrubec nicohrubec commented Aug 6, 2026

Copy link
Copy Markdown
Member

Removes the sentry-prune-profiler-binaries bin script from @sentry/profiling-node.

The script was already deprecated with a runtime warning and a README notice pointing at #20567. This PR follows through on that removal:

  • Deletes scripts/prune-profiler-binaries.js and its test.
  • Removes the bin mapping and the script's files entry from package.json.
  • Drops the pruning walkthrough from the profiling-node README, replacing it with a short note on the binary naming scheme so users who want to prune unused binaries can do so themselves as a build step (as suggested in the issue).
  • Removes the "register the new ABI in the profiling pruner" step from docs/supporting-a-new-node-version.md, since the NODE_TO_ABI map no longer needs maintaining.

The MIGRATION.md entry for this removal already exists on develop, so it is unchanged here.

Fixes #20567

Removes the `sentry-prune-profiler-binaries` bin script and its `bin`/`files`
entries from `@sentry/profiling-node`, along with its test and the related docs.

Fixes #20567

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 30.15 kB - -
@sentry/browser - with treeshaking flags 28.35 kB - -
@sentry/browser - with treeshaking flags tracing without tracing 26.66 kB - -
@sentry/browser (incl. Tracing) 47.56 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.57 kB - -
@sentry/browser (incl. Tracing, Profiling) 52.31 kB - -
@sentry/browser (incl. Tracing, Replay) 86.93 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 76.36 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 91.66 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 104.29 kB - -
@sentry/browser (incl. Feedback) 47.48 kB - -
@sentry/browser (incl. sendFeedback) 34.98 kB - -
@sentry/browser (incl. FeedbackAsync) 40.13 kB - -
@sentry/browser (incl. Metrics) 31.22 kB - -
@sentry/browser (incl. Logs) 31.44 kB - -
@sentry/browser (incl. Metrics & Logs) 32.13 kB - -
@sentry/react 31.95 kB - -
@sentry/react (incl. Tracing) 49.81 kB - -
@sentry/vue 35.25 kB - -
@sentry/vue (incl. Tracing) 49.57 kB - -
@sentry/svelte 30.17 kB - -
CDN Bundle 32.16 kB - -
CDN Bundle (incl. Tracing) 47.83 kB - -
CDN Bundle (incl. Logs, Metrics) 33.7 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.21 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 73.03 kB - -
CDN Bundle (incl. Tracing, Replay) 85.47 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.79 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.29 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.61 kB - -
CDN Bundle - uncompressed 95.33 kB - -
CDN Bundle (incl. Tracing) - uncompressed 142.84 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 99.96 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.82 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 224.66 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 262.09 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 266.06 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 275.8 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 279.75 kB - -
@sentry/nextjs (client) 52.39 kB - -
@sentry/sveltekit (client) 48.01 kB - -
@sentry/core/server 65.58 kB - -
@sentry/core/browser 51.82 kB - -
@sentry/node 119.28 kB - -
@sentry/node/import (ESM hook with diagnostics-channel injection) 0 B added added
@sentry/node - without tracing 83.3 kB - -
@sentry/aws-serverless 92.61 kB - -
@sentry/cloudflare (withSentry) - minified 212.61 kB - -
@sentry/cloudflare (withSentry) 524.89 kB - -

View base workflow run

@nicohrubec
nicohrubec marked this pull request as ready for review August 6, 2026 16:04
@nicohrubec
nicohrubec requested a review from a team as a code owner August 6, 2026 16:04
@nicohrubec
nicohrubec requested review from JPeer264, andreiborza, chargome and mydea and removed request for a team and mydea August 6, 2026 16:04
Sentry: pruned ./dist/sentry_cpu_profiler-win32-x64-93-3PKQDSGE.node (181.50 KiB)
✅ Sentry: pruned 15 binaries, saved 1.06 MiB in total.
```
runtime. Since the binaries follow the `sentry_cpu_profiler-<platform>-<arch>-<stdlib>-<abi>.node` naming scheme, you can

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bug: The documentation incorrectly describes the binary naming scheme, stating all platforms include a <stdlib> segment, which is only true for Linux.
Severity: LOW

Suggested Fix

Update the documentation to accurately reflect the different naming schemes for each platform (Linux, Darwin, Windows). Specifically, clarify that the <stdlib> segment is Linux-specific. Also, include the <hash> suffix in the example patterns to match the real filenames. For example, provide separate patterns for Linux (...-<stdlib>-...), Darwin (...-<arch>-<abi>...), and Windows.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: packages/profiling-node/README.md#L237

Potential issue: The documentation at `packages/profiling-node/README.md:237` introduces
an inaccurate description for the profiler's binary naming scheme. It presents the
pattern `sentry_cpu_profiler-<platform>-<arch>-<stdlib>-<abi>.node` as universal.
However, the `<stdlib>` segment is only present for Linux platforms (e.g., `glibc`,
`musl`). For macOS (Darwin) and Windows, this segment is absent. This inaccuracy will
cause confusion for developers following the new manual instructions for pruning
binaries, as they will be unable to find files matching the documented pattern on
non-Linux systems. The documentation also omits the `<hash>` suffix present in actual
filenames.

Did we get this right? 👍 / 👎 to inform future reviews.

@nicohrubec
nicohrubec merged commit 9480765 into develop Aug 6, 2026
44 checks passed
@nicohrubec
nicohrubec deleted the ref/remove-prune-profiler-binaries branch August 6, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[profiling-node] Remove prune-profiler-binaries in next major version

2 participants