Hi Andi Kleen sent a couple of patches to add a callindent option to perf script. Andi was agreeable to this alternative implementation.
While there are some differences in the resulting output, the main difference is: 1. Tell the decoder to feed branches to the thread stack, which has the advantage that it happens before branch filtering and so can be used with different itrace options (e.g. it still works when only showing calls, even though the thread stack needs to see calls and returns). Also it does not conflict with using the thread stack to get callchains. Changes in V2: Remove the prefix string Add a patch to display the sample flags more nicely Adrian Hunter (3): perf script: Print sample flags more nicely perf auxtrace: Add option to feed branches to the thread stack perf script: Add callindent option tools/perf/Documentation/perf-script.txt | 11 +++- tools/perf/builtin-script.c | 103 ++++++++++++++++++++++++++++++- tools/perf/util/auxtrace.h | 2 + tools/perf/util/intel-bts.c | 22 +++++-- tools/perf/util/intel-pt.c | 5 +- tools/perf/util/thread-stack.c | 7 +++ tools/perf/util/thread-stack.h | 1 + 7 files changed, 142 insertions(+), 9 deletions(-) Regards Adrian