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

Implement Stack Merging #19

Closed
behnam opened this issue Jun 15, 2017 · 6 comments
Closed

Implement Stack Merging #19

behnam opened this issue Jun 15, 2017 · 6 comments

Comments

@behnam
Copy link

behnam commented Jun 15, 2017

As noted on http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#description

The x-axis spans the sample population. It does not show the passing of time from left to right, as most graphs do. The left to right ordering has no meaning (it's sorted alphabetically to maximize frame merging).

Looks like rust flame is not doing any merging, which results in:

  • technically not being a CPU Flame Graph;
  • hard to see where the actual CPU usage is, as where the number of calls are high, the names don't fit in the small lines, and even the lines become invisible.
  • too many SVG objects on the screen that slow down the rendering and digging in.
@behnam
Copy link
Author

behnam commented Jun 15, 2017

Example, from unicode-bidi: flame-udhr-graph.html.zip

@TyOverby
Copy link
Collaborator

This is because flame is a timeline flame graph, not an execution-percentage flame graph.

Instead of comparing flame to http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#description, compare it to something like the Chrome profiler.

@TyOverby
Copy link
Collaborator

Right now the flame API is such that you can request all this data yourself and do stack merging yourself.

If I added an API that would allow you to export that data, would this be helpful?

@behnam
Copy link
Author

behnam commented Jun 15, 2017

Right. Yeah, on top level, I think would be great to have an export-to-html method that also merges the stacks.

@TyOverby
Copy link
Collaborator

Stack merging is a non-goal, but I'll add an API for dumping custom frames.

@TyOverby
Copy link
Collaborator

Issue filed here: #20

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

2 participants