OpenCloudOS-Kernel/tools/perf/scripts/python
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
..
Perf-Trace-Util perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
bin perf script: Add flamegraph.py script 2020-04-16 12:19:14 -03:00
check-perf-trace.py perf script python: add Python3 support to check-perf-trace.py 2019-03-06 18:10:46 -03:00
compaction-times.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
event_analyzing_sample.py perf script python: Add Python3 support to event_analyzing_sample.py 2019-03-06 18:11:11 -03:00
export-to-postgresql.py perf scripts python: export-to-postgresql.py: Export switch events 2019-07-10 13:05:12 -03:00
export-to-sqlite.py perf scripts python: export-to-sqlite.py: Export switch events 2019-07-10 12:37:35 -03:00
exported-sql-viewer.py perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite 2019-11-13 09:13:16 -03:00
failed-syscalls-by-pid.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
flamegraph.py perf script: Add flamegraph.py script 2020-04-16 12:19:14 -03:00
futex-contention.py perf script python: Add Python3 support to futex-contention.py 2019-03-06 18:10:43 -03:00
intel-pt-events.py perf script python: Add Python3 support to intel-pt-events.py 2019-03-06 18:12:33 -03:00
mem-phys-addr.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
net_dropmonitor.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
netdev-times.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
powerpc-hcalls.py perf script python: Add Python3 support to powerpc-hcalls.py 2019-02-25 17:16:57 -03:00
sched-migration.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
sctop.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
stackcollapse.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
stat-cpi.py perf script python: Add Python3 support to stat-cpi.py 2019-02-25 17:17:07 -03:00
syscall-counts-by-pid.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00
syscall-counts.py perf script python: Remove mixed indentation 2019-03-06 18:09:14 -03:00