• Andreas Gerstmayr's avatar
    perf script: Add flamegraph.py script · 5287f926
    Andreas Gerstmayr authored
    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: default avatarAndreas Gerstmayr <agerstmayr@redhat.com>
    Tested-by: default avatarArnaldo 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.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    5287f926
flamegraph-record 34 Bytes