1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/tools/perf/scripts/python/bin
Andreas Gerstmayr 5287f92692 perf script: Add flamegraph.py script
This script works in tandem with d3-flame-graph to generate flame graphs
from perf. It supports two output formats: JSON and HTML (the default).
The HTML format will look for a standalone d3-flame-graph template file
in /usr/share/d3-flame-graph/d3-flamegraph-base.html and fill in the
collected stacks.

Usage:

    perf record -a -g -F 99 sleep 60
    perf script report flamegraph

Combined:

    perf script flamegraph -a -F 99 sleep 60

Committer testing:

Tested both with "PYTHON=python3" and with the default, that uses
python2-devel:

Complete set of instructions:

  $ mkdir /tmp/build/perf
  $ make PYTHON=python3 -C tools/perf O=/tmp/build/perf install-bin
  $ export PATH=~/bin:$PATH
  $ perf record -a -g -F 99 sleep 60
  $ perf script report flamegraph

Now go and open the generated flamegraph.html file in a browser.

At first this required building with PYTHON=python3, but after I
reported this Andreas was kind enough to send a patch making it work
with both python and python3.

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Brendan Gregg <bgregg@netflix.com>
Cc: Martin Spier <mspier@netflix.com>
Link: http://lore.kernel.org/lkml/20200320151355.66302-1-agerstmayr@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-04-16 12:19:14 -03:00
..
compaction-times-record perf scripts python: Add new compaction-times script 2015-08-28 14:53:40 -03:00
compaction-times-report perf scripts python: Add new compaction-times script 2015-08-28 14:53:40 -03:00
event_analyzing_sample-record perf scripts: Add event_analyzing_sample-record/report 2012-09-17 13:11:15 -03:00
event_analyzing_sample-report perf scripts: Add event_analyzing_sample-record/report 2012-09-17 13:11:15 -03:00
export-to-postgresql-record perf script: Add Python script to export to postgresql 2014-10-29 10:32:49 -02:00
export-to-postgresql-report perf tools: Add call information to Python export 2014-11-03 18:10:06 -03:00
export-to-sqlite-record perf script python: Add support for exporting to sqlite3 2017-08-15 16:37:55 -03:00
export-to-sqlite-report perf script python: Add support for exporting to sqlite3 2017-08-15 16:37:55 -03:00
failed-syscalls-by-pid-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
failed-syscalls-by-pid-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
flamegraph-record perf script: Add flamegraph.py script 2020-04-16 12:19:14 -03:00
flamegraph-report perf script: Add flamegraph.py script 2020-04-16 12:19:14 -03:00
futex-contention-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
futex-contention-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
intel-pt-events-record perf intel-pt: Add example script for power events and PTWRITE 2017-06-30 11:50:53 -03:00
intel-pt-events-report perf intel-pt: Add example script for power events and PTWRITE 2017-06-30 11:50:53 -03:00
mem-phys-addr-record perf script python: Add script to profile and resolve physical mem type 2018-01-12 11:06:57 -03:00
mem-phys-addr-report perf script python: Add script to profile and resolve physical mem type 2018-01-12 11:06:57 -03:00
net_dropmonitor-record perf script: Add drop monitor script 2011-09-29 16:41:37 -03:00
net_dropmonitor-report perf script: Add drop monitor script 2011-09-29 16:41:37 -03:00
netdev-times-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
netdev-times-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
powerpc-hcalls-record perf script powerpc: Python script for hypervisor call statistics 2018-06-06 12:52:06 -03:00
powerpc-hcalls-report perf script powerpc: Python script for hypervisor call statistics 2018-06-06 12:52:06 -03:00
sched-migration-record perf trace scripting: remove system-wide param from shell scripts 2010-11-10 08:08:20 -06:00
sched-migration-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
sctop-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
sctop-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
stackcollapse-record perf script: Add stackcollapse.py script 2016-06-21 13:18:35 -03:00
stackcollapse-report perf script: Add stackcollapse.py script 2016-06-21 13:18:35 -03:00
syscall-counts-by-pid-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
syscall-counts-by-pid-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
syscall-counts-record perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available 2014-06-25 12:26:56 -03:00
syscall-counts-report perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00