Star64_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
compaction-times-report
event_analyzing_sample-record
event_analyzing_sample-report
export-to-postgresql-record
export-to-postgresql-report
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
failed-syscalls-by-pid-report
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
futex-contention-report
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
net_dropmonitor-report
netdev-times-record
netdev-times-report
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
sched-migration-report
sctop-record
sctop-report
stackcollapse-record
stackcollapse-report
syscall-counts-by-pid-record
syscall-counts-by-pid-report
syscall-counts-record
syscall-counts-report