Skip to content

fix: drop multipart upload path; ingest with format=pprof - #316

Merged
jake-kramer merged 2 commits into
mainfrom
fix/ingest-format-pprof
Jul 27, 2026
Merged

fix: drop multipart upload path; ingest with format=pprof#316
jake-kramer merged 2 commits into
mainfrom
fix/ingest-format-pprof

Conversation

@jake-kramer

Copy link
Copy Markdown
Contributor

Uploading via FormData+Blob leaks native memory on Node 24.16+/26.x: undici's fetch serializes Blob parts through Blob.prototype.stream(), which pins every payload forever (nodejs/node#63574). An earlier fix (#311) kept multipart and hand-built the body. This change instead removes the multipart path instead and sends the gzipped pprof bytes raw to /ingest?format=pprof which the server parses identically.

Fixes #28

Uploading via FormData+Blob leaks native memory on Node 24.16+/26.x:
undici's fetch serializes Blob parts through Blob.prototype.stream(),
which pins every payload forever (nodejs/node#63574). An earlier fix (#311)
kept multipart and hand-built the body. This change instead removes
the multipart path instead and sends the gzipped pprof
bytes raw to /ingest?format=pprof which the server parses identically.

Fixes #28
@jake-kramer
jake-kramer requested review from a team as code owners July 27, 2026 14:54
@cla-assistant

cla-assistant Bot commented Jul 27, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

bryanhuhta
bryanhuhta previously approved these changes Jul 27, 2026
Comment thread src/pyroscope-api-exporter.ts Outdated
Comment thread test/profiler.test.ts
Comment thread test/profiler.test.ts
@jake-kramer
jake-kramer merged commit 298cd17 into main Jul 27, 2026
16 of 17 checks passed
@jake-kramer
jake-kramer deleted the fix/ingest-format-pprof branch July 27, 2026 18:34
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.

Memory leak when Pyroscope is enabled

2 participants