Skip to content

Support memory profiling with jemalloc_pprof #142

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

Open
joshg-ec opened this issue Jan 2, 2024 · 2 comments
Open

Support memory profiling with jemalloc_pprof #142

joshg-ec opened this issue Jan 2, 2024 · 2 comments

Comments

@joshg-ec
Copy link

joshg-ec commented Jan 2, 2024

Rust heap profile support was recently implemented in the jemalloc_pprof crate. Add support for uploading heap profiles to Pyroscope.

@GerryLon
Copy link

I second the motion

@korniltsev
Copy link
Collaborator

I took a look at the jemalloc_pprof crate
It produces pprof without symbols.
I've created a quick dirty POC of patched jemalloc_pprof to symbolize pprofs on the fly.
korniltsev/rust-jemalloc-pprof#1
And used it in a tiny app for demo purposes
https://github.com/korniltsev/broot/pull/1The results are great and terrible at the same time;
Great - it seem to work.
Terrible - it consumes a lot of memory, like 99 % of the memory is from symbolizing, maybe I've programmed it wrong - did not try to investigate.I also did not demangle rust symbols, it will also take some resources and make it even more inefficient.This may be a good reason to support ingesting symbols separately. grafana/pyroscope#3799

tldr: it's not suitable for use as continuous profiling with the current version of pyroscope and requires some efforts either on backend symbolization or efficient client symbolization.

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

3 participants