summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2026-01-10 20:13:35 -0800
committerArnaldo Carvalho de Melo <acme@redhat.com>2026-01-13 16:09:14 -0300
commita2297e74a07d21eb498d8549ae6fddc35cf26ec6 (patch)
tree1859528628f9a99e0dd02734d93cff91353e0260 /tools/perf/scripts/python/bin/stackcollapse-record
parentec9426655dcee3e337735935dcc2dea7684a5bf8 (diff)
downloadlinux-a2297e74a07d21eb498d8549ae6fddc35cf26ec6.tar.gz
linux-a2297e74a07d21eb498d8549ae6fddc35cf26ec6.zip
perf srcline: Add configuration support for the addr2line style
Allow the addr2line style to be specified on the `perf report` command line or in the .perfconfig file. Committer testing: The methods: # perf probe -x ~/bin/perf -F *__addr2line cmd__addr2line libbfd__addr2line libdw__addr2line llvm__addr2line # So if we configure one of them, say 'addr2line': # perf config addr2line.style=addr2line # perf config addr2line.style addr2line.style=addr2line # And have probes on all of them: # perf probe -x ~/bin/perf *__addr2line Added new events: probe_perf:cmd__addr2line (on *__addr2line in /home/acme/bin/perf) probe_perf:llvm__addr2line (on *__addr2line in /home/acme/bin/perf) probe_perf:libbfd__addr2line (on *__addr2line in /home/acme/bin/perf) probe_perf:libdw__addr2line (on *__addr2line in /home/acme/bin/perf) You can now use it in all perf tools, such as: perf record -e probe_perf:libdw__addr2line -aR sleep 1 # Only the selected method should be used: # perf stat -e probe_perf:*_addr2line perf report -f --dso perf --stdio -s srcfile,srcline # Total Lost Samples: 0 # # Samples: 4K of event 'cpu/cycles/Pu' # Event count (approx.): 5535180842 # # Overhead Source File Source:Line # ........ ............ ............... # 99.04% inlineloop.c inlineloop.c:21 0.46% inlineloop.c inlineloop.c:20 # # (Tip: For hierarchical output, try: perf report --hierarchy) # Performance counter stats for 'perf report -f --dso perf --stdio -s srcfile,srcline': 44 probe_perf:cmd__addr2line 0 probe_perf:llvm__addr2line 0 probe_perf:libbfd__addr2line 0 probe_perf:libdw__addr2line 0.035915611 seconds time elapsed 0.028008000 seconds user 0.009051000 seconds sys # I checked and that is the case for the other methods. Also when using: # perf config addr2line.style=libdw,llvm Performance counter stats for 'perf report -f --dso perf --stdio -s srcfile,srcline': 0 probe_perf:cmd__addr2line 23 probe_perf:llvm__addr2line 0 probe_perf:libbfd__addr2line 44 probe_perf:libdw__addr2line Reviewed-by: James Clark <james.clark@linaro.org> Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Howard Chu <howardchu95@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephen Brennan <stephen.s.brennan@oracle.com> Cc: Tony Jones <tonyj@suse.de> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions