Skip to content

Allow Push api to modify pprof sample values #3979

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
korniltsev opened this issue Mar 7, 2025 · 0 comments
Closed

Allow Push api to modify pprof sample values #3979

korniltsev opened this issue Mar 7, 2025 · 0 comments

Comments

@korniltsev
Copy link
Collaborator

Consider a pprof profile obtained with curl from

http://localhost:7240/debug/pprof/heap?seconds=239

This endpoint does the delta for both alloc_* and inuse* values, however most of the time we don't want to do this for inuse* values. Therefore we should not ingest this delta'd inuse* values.

Similar with regular (non delta'd) heap profile. Most of the time users want to ingest inuse* values and not alloc* values, because they are cumulative.

Someone may say this is a runtime bug/issue [1] [2] .

It is now impossible to ingest only delta'd alloc* values or only non delta'd inuse* values into pyroscope.

I propose we implement a push api parameter allowing to scale pprof sample values.

For example if we pass [1, 1, 0, 0] for delta'd profile, then we ingest only alloc values and zero-out inuse values
For another example if we pass [0, 0, 1, 1] for non delta'd profile, then we ingest only alloc

Similar to what runtime is already doing but with a more granularity. Here's another example. And my another draft for alloy which does this clientside before pushing to pyroscope

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

No branches or pull requests

1 participant