You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When profiling is enabled and disabled inline, this makes sense.
However, for an existing jemalloc profile, this is counter-intuitive, because the returned mappings are not actually generated from the heap file.
For example, if this method is run on an existing heap file, the returned mappings will be different each time, and do not actually match what exists in the file.
It would be great to support parsing the /proc/id/maps output from the .heap file.
The text was updated successfully, but these errors were encountered:
If I understand correctly, @Rjected wants to use the library to parse unrelated jeheap files from other processes and transform them to pprof, which requires a way to provide the mappings. I think we can support this, I'll look into it later this week (Friday)
If I understand correctly, @Rjected wants to use the library to parse unrelated jeheap files from other processes and transform them to pprof, which requires a way to provide the mappings. I think we can support this, I'll look into it later this week (Friday)
Yep that's exactly it! although I'm attempting to analyze them in the firefox profiler instead of pprof, like this: https://share.firefox.dev/3PIeyE6
I did some thinking on what would be required to support this (for linux only for now):
proc maps parsing, from a Lines struct - could be done in the rsprocmaps crate
parsing of the elf note header for the population of the debug id. I'm not sure how comfortable I am parsing ELF headers by hand, so I would use a crate for this
Right now
parse_jeheap
usesMAPPINGS
to populate mapping information:rust-jemalloc-pprof/pure/src/lib.rs
Lines 318 to 322 in 07bc78a
When using
parse_jeheap
on an existing file, this still collects mappings for the running process:rust-jemalloc-pprof/pure/src/linux.rs
Lines 44 to 152 in 07bc78a
When profiling is enabled and disabled inline, this makes sense.
However, for an existing jemalloc profile, this is counter-intuitive, because the returned mappings are not actually generated from the heap file.
For example, if this method is run on an existing heap file, the returned mappings will be different each time, and do not actually match what exists in the file.
It would be great to support parsing the
/proc/id/maps
output from the.heap
file.The text was updated successfully, but these errors were encountered: