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

Producing proper Flame Charts #320

Open
FlorentP42 opened this issue Nov 7, 2023 · 0 comments
Open

Producing proper Flame Charts #320

FlorentP42 opened this issue Nov 7, 2023 · 0 comments

Comments

@FlorentP42
Copy link

FlorentP42 commented Nov 7, 2023

Context

So as I saw in the documentation there is a --flamechart option in this script supposed to produce Flame Charts (ordered by time) and not Flame Graphs (ordered alphabetically).

I made a few attempts at using it working with a folded file from a perf output on a single process, and failed, which led me to many questions:

Question 1

When I used the --flamechart option I got the exact same output as without this option... Is it actually implemented and working?

Question 2

Then I checked the format of the folded file and it does not look like there is any duplicate stack lines in here, and I am pretty sure I have the same code sections called at different times during the execution I recorded... How is a Flame Chart supposed to be properly generated with this as an input file? Shouldn't there be another format dedicated to that?

Question 3

I couldn't seem to find any information relative to threads in the folded file format either... Is there any way to generate one folded file per thread from a perf output? Or somehow separate the data in the file per-thread so that they are represented separately in the generated Flame Chart?

Question 4

I would assume a Flame Chart produced from a dedicated file format including timestamps would produce both a On-CPU and Off-CPU view as the timestamp let you see when a thead is "stuck" in some function and for how long, even if said function is a sleep, a mutex or an IO operation for example. Am I wrong with this assumption?

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

1 participant