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

[feature] Differential flamegraph #483

Open
timpalpant opened this issue Sep 19, 2019 · 3 comments
Open

[feature] Differential flamegraph #483

timpalpant opened this issue Sep 19, 2019 · 3 comments
Labels
help wanted Priority: p3 Buganizer priority - P3 type: feat Buganizer type - Feature Request

Comments

@timpalpant
Copy link
Contributor

What version of pprof are you using?

master (236ed25)

What operating system and processor architecture are you using?

OS X 10.14, x86_64

What did you do?

I was hoping to visualize the differences between two profiles as a differential flamegraph with something like:

go run github.com/google/pprof -http localhost:8080 -diff_base A.pb.gz B.pb.gz

What did you expect to see?

A flamegraph with colors that indicate relative changes between the two profiles.

What did you see instead?

Nothing, the flamegraph view errors out with TypeError: null is not an object (evaluating 'd.c') in flamegraph:6021.

The other view types (e.g. Top, Graph, Peek) seem to work and display percent differences/colors. I haven't looked into how difficult it would be but am interested if you would consider a patch to this effect.

@nolanmar511
Copy link
Contributor

This is a good feature request. It's a bit tricky for two reasons.

First, pprof represents profile comparison by subtracting one profile from the other; flame graphs don't really work with negative values -- to show the diff, one would have to take pprof's profile representation, separate out the samples in the main and diff profile, and then create the flame graph showing the profile comparison using the separated main and diff profile.

Next, pprof's wed UI does not currently have tests (#208). Since any change to show diffs in the flame graph would likely involve large changes to the web UI, it would be nice to get continuous testing for the web UI set up first.

@aalexand
Copy link
Collaborator

We don't plan to work on the feature any time soon, volunteers are welcome :)

@mhansen
Copy link
Contributor

mhansen commented Oct 9, 2021

Perhaps we could solve this by outputting folded stacks format, then using FlameGraph toolkit's profile diffing: #658

@aalexand aalexand added type: feat Buganizer type - Feature Request and removed enhancement labels May 12, 2023
@Louis-Ye Louis-Ye added the Priority: p3 Buganizer priority - P3 label May 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Priority: p3 Buganizer priority - P3 type: feat Buganizer type - Feature Request
Projects
None yet
Development

No branches or pull requests

5 participants