Draft support for pprof profile.proto format #814
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, this PR adds basic draft support for pprof's profile.proto format. I wanted to put this up early before diving too deep into the details to gauge if there is appetite for upstreaming this.
Example profile for a dummy program:
SVG:
Pprof:
Pprof comes with a number of other niceties. For instance, you can view the source code:
If there is interest in upstreaming this, I have a number of other improvements I would do:
But already in my limited testing I'm seeing that gzipped profile.proto files are quite a bit smaller than the svg files:
I would also be happy to move these additional dependencies and features behind a feature flag!
Disclaimer: This PR was made with light LLM usage, mostly just asking which libraries I should use. The pprof.rs file is quite rough so if this is an acceptable direction, I would clean it up a decent amount before asking for real code review time