perf evsel: Allow passing a left alignment when printing a symbol
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: db3617f362d7e205621c1ccc22b77d224a81ee14 Gitweb: http://git.kernel.org/tip/db3617f362d7e205621c1ccc22b77d224a81ee14 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 11 Apr 2016 10:53:51 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 11 Apr 2016 22:18:15 -0300
perf evsel: Allow passing a left alignment when printing a symbol
For callchains, etc where we want it to align just below the syscall name, for instance, in 'perf trace'
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-script.c | 4 ++-- tools/perf/util/session.c | 6 +++++- tools/perf/util/session.h | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-)
tools/perf/builtin-script.c +2 -2
@@ -579,7 +579,7 @@ static void print_sample_bts(struct perf_sample *sample, print_opts &= ~PRINT_IP_OPT_SRCLINE ; } } -perf_evsel__print_ip (evsel, sample, al, print_opts, +perf_evsel__print_ip (evsel, sample, al,0 , print_opts, scripting_max_stack, stdout); }
@@ -788,7 +788,7 @@ static void process_event(struct perf_script *script,else printf ("\n" ); -perf_evsel__print_ip (evsel, sample, al, +perf_evsel__print_ip (evsel, sample, al,0 , output[attr->type].print_ip_opts, scripting_max_stack, stdout); }
tools/perf/util/session.c +5 -1
@@ -1954,7 +1954,7 @@ struct perf_evsel *perf_session__find_first_evtype(struct perf_session *session, }void perf_evsel__print_ip (struct perf_evsel *evsel,struct perf_sample *sample, -struct addr_location *al, +struct addr_location *al,int left_alignment,unsigned int print_opts,unsigned int stack_depth,FILE *fp) {
@@ -1992,6 +1992,8 @@ void perf_evsel__print_ip(struct perf_evsel *evsel, struct perf_sample *sample,if (node->sym && node->sym->ignore) goto next; +fprintf (fp,"%-*.*s" , left_alignment, left_alignment," " ); +if (print_ip)fprintf (fp,"%c%16" PRIx64, s, node->ip);
@@ -2032,6 +2034,8 @@ next:if (al->sym && al->sym->ignore)return ; +fprintf (fp,"%-*.*s" , left_alignment, left_alignment," " ); +if (print_ip)fprintf (fp,"%16" PRIx64, sample->ip);
tools/perf/util/session.h +1 -1
@@ -105,7 +105,7 @@ struct perf_evsel *perf_session__find_first_evtype(struct perf_session *session, unsigned int type);void perf_evsel__print_ip (struct perf_evsel *evsel,struct perf_sample *sample, -struct addr_location *al, +struct addr_location *al,int left_alignment,unsigned int print_opts,unsigned int stack_depth,FILE *fp);