Open 3tilley opened 6 years ago
A nice feature would be to be able to include/exclude filenames, for example only render files whose path starts with MYPACKAGENAME/* and then you wouldn't see the stack inside of libraries; I don't really care about what is taking time inside of redis' HGET or json internals (see screenshot)
edit: or just limit whatever is not included to 1 as maximum depth; in my example you'd only see hget
but not execute_command
or anything below it
+1 for approach #1 (exposing intermediate output). I think this is an important primitive
What do you think is the easiest way to expose the options dict in inferno::flamegraph? That would give a lot of bang for buck: svg size, reverse stack order etc. Command line args? Env vars?
There is an option to output raw data in v0.2.0 now - you can use this to generate intermediate output to pass to flamegraph.pl with custom options now
I love all the suggestions made so far, especially excluding specific packages, svg size and the colour scheme. Whilst theres now the raw data available, it would be good at a minimum for the main documentation to perhaps include some examples showing how you can achieve any of those customisations if they arent available within pyspy itself. Though having the ability to pass args from py-spy to flamegraph.pl would be fantastic. @benfred - thoughts on this? py-spy is my favourite profiler because of how simple it is it get high quality and useful output, and I'm leery of trying to complicate that ease-of-use too much by adding extra steps for users fi they want to tweak things.
The default setting to make the flame-graph are pretty good, but it would be nice to be able to flex them. Things I'd like to be able to do:
I can think of three ways to do this:
I have not used Rust before, but I could perhaps implement this change given some direction. FWIW I think the second is probably the best option, even if it is a little hacky.