FlameGraph icon indicating copy to clipboard operation
FlameGraph copied to clipboard

Stack trace visualizer

Results 141 FlameGraph issues
Sort by recently updated
recently updated
newest added

Here's how it looks: ![screenshot_20200720_025136](https://user-images.githubusercontent.com/8831572/87889045-6cc43a00-ca38-11ea-805c-1d45d853b3ab.png) This PR uses metadata included in the output of `perf script --header`. Other `stackcollapse` scripts can be modified to output relevant metadata as comments, and...

`perf script` accepts `--header` which prints a bunch of metadata about the recording as comments (prefixed with `#`) before printing the stacks themselves. `stackcollapse-perf.pl` knows this and skips the comments....

We use Debian and vanilla kernel packaging capabilities, and those produce versiond `vmlinux` files with frames like these: ``` ffffffffb8f6abf0 nf_hook_slow+0x40 (/usr/lib/debug/boot/vmlinux-5.4.14-cloudflare-2020.1.11) ffffffffb8f74051 ip_local_deliver+0xd1 (/usr/lib/debug/boot/vmlinux-5.4.14-cloudflare-2020.1.11) ffffffffb8f7412c ip_rcv+0xbc (/usr/lib/debug/boot/vmlinux-5.4.14-cloudflare-2020.1.11) ``` This...

This should eliminate weird partial things like `std::function

I didn't go through many vtune versions to check where exactly this got introduced. In vtune 2020.1, the command from the usage comments in stackcollapse-vtune.pl ``` vtune -R top-down -call-stack-mode...

This also re-generates all the perf collapse files to account for the missing stack in each one. r? @brendangregg Fixes #230.

I'm attaching the `perf.data`. This was recorded with `perf record -g`, the code was as simple as ```c++ #include int main() { for (size_t n = 0; n < 100;...

When given a trace with a single event, like the one below, `stackcollapse-perf.pl` gives no output ``` boa_cli;[unknown];boa_cli::main;boa::realm::Realm::create;boa::realm::Realm::create_instrinsics;boa::builtins::console::create_constructor;boa::builtins::value::ValueData::set_field_slice;boa::builtins::value::ValueData::set_field;boa::builtins::object::internal_methods_trait::ObjectInternalMethods::set;::define_own_property;boa::builtins::value::to_value;::to_value;gc::Gc::new;gc::gc::GcBox::new;std::thread::local::LocalKey::with;std::thread::local::LocalKey::try_with;gc::gc::GcBox::new::_{{closure}};gc::gc::collect_garbage;gc::gc::collect_garbage::mark;gc::gc::GcBox::trace_inner;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace 1 ``` We had the same bug in inferno, and the fix...

Cant read function names in flamegraphs because the strings are too short ( due to C/C++ templates and long names )

I am trying to lower the barrier to entry for looking at flame graphs on my headless environment by putting some python wrapper code into a Jupyter Notebook to run...