Skip to content
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

runtime/pprof: mechanism to show runtime frames in heap profiles #71175

Open
prattmic opened this issue Jan 8, 2025 · 1 comment
Open

runtime/pprof: mechanism to show runtime frames in heap profiles #71175

prattmic opened this issue Jan 8, 2025 · 1 comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Milestone

Comments

@prattmic
Copy link
Member

prattmic commented Jan 8, 2025

runtime/pprof hides "runtime" frames in heap profiles, so allocations in maps appear at the map assignment location in the calling code, but not in runtime.mapassign itself.

Personally I find this behavior frustrating because it makes it much more difficult to look at the overall impact of maps in general on the heap, since there is no common frame to look at. I think it would be nice to have a mechanism to keep runtime frames in heap profiles. Perhaps something like GODEBUG=heapprofileruntimeframes=1.

I broke the runtime frame hiding in 1.24 (#71174) and discovered the bug because @bboreham mentioned that they liked the change!

@prattmic prattmic added NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. compiler/runtime Issues related to the Go compiler and/or runtime. labels Jan 8, 2025
@prattmic prattmic added this to the Backlog milestone Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Projects
Development

No branches or pull requests

2 participants