aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-06-14 14:19:18 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-06-15 09:48:02 -0400
commitd05e3aaeea56d7cd23976cb1fa626faf1a8bfbed (patch)
treecf3e9bd1525fe0c41503e1a1af47f4215a10e83e
parent8f1d1b4452ce71a231d1a22e6357285fb773c551 (diff)
perf stdio: Add use_callchain parameter to hists__fprintf
It will be convenient in following patches to display hists entries without callchains even if they are defined. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1465928361-2442-9-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/builtin-diff.c3
-rw-r--r--tools/perf/builtin-report.c3
-rw-r--r--tools/perf/builtin-top.c2
-rw-r--r--tools/perf/ui/stdio/hist.c10
-rw-r--r--tools/perf/util/hist.h3
5 files changed, 13 insertions, 8 deletions
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index f7645a42708e..69bad45deadd 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -666,7 +666,8 @@ static void hists__process(struct hists *hists)
666 hists__precompute(hists); 666 hists__precompute(hists);
667 hists__output_resort(hists, NULL); 667 hists__output_resort(hists, NULL);
668 668
669 hists__fprintf(hists, true, 0, 0, 0, stdout); 669 hists__fprintf(hists, true, 0, 0, 0, stdout,
670 symbol_conf.use_callchain);
670} 671}
671 672
672static void data__fprintf(void) 673static void data__fprintf(void)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index a87cb338bdf1..9f36b236f0f9 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -370,7 +370,8 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist,
370 continue; 370 continue;
371 371
372 hists__fprintf_nr_sample_events(hists, rep, evname, stdout); 372 hists__fprintf_nr_sample_events(hists, rep, evname, stdout);
373 hists__fprintf(hists, true, 0, 0, rep->min_percent, stdout); 373 hists__fprintf(hists, true, 0, 0, rep->min_percent, stdout,
374 symbol_conf.use_callchain);
374 fprintf(stdout, "\n\n"); 375 fprintf(stdout, "\n\n");
375 } 376 }
376 377
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 2a6cc254ad0c..81dba80a42b5 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -295,7 +295,7 @@ static void perf_top__print_sym_table(struct perf_top *top)
295 hists__output_recalc_col_len(hists, top->print_entries - printed); 295 hists__output_recalc_col_len(hists, top->print_entries - printed);
296 putchar('\n'); 296 putchar('\n');
297 hists__fprintf(hists, false, top->print_entries - printed, win_width, 297 hists__fprintf(hists, false, top->print_entries - printed, win_width,
298 top->min_percent, stdout); 298 top->min_percent, stdout, symbol_conf.use_callchain);
299} 299}
300 300
301static void prompt_integer(int *target, const char *msg) 301static void prompt_integer(int *target, const char *msg)
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index 150c4de33b22..9a972cb00458 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -492,7 +492,8 @@ out:
492} 492}
493 493
494static int hist_entry__fprintf(struct hist_entry *he, size_t size, 494static int hist_entry__fprintf(struct hist_entry *he, size_t size,
495 char *bf, size_t bfsz, FILE *fp) 495 char *bf, size_t bfsz, FILE *fp,
496 bool use_callchain)
496{ 497{
497 int ret; 498 int ret;
498 struct perf_hpp hpp = { 499 struct perf_hpp hpp = {
@@ -512,7 +513,7 @@ static int hist_entry__fprintf(struct hist_entry *he, size_t size,
512 513
513 ret = fprintf(fp, "%s\n", bf); 514 ret = fprintf(fp, "%s\n", bf);
514 515
515 if (symbol_conf.use_callchain) 516 if (use_callchain)
516 ret += hist_entry_callchain__fprintf(he, total_period, 0, fp); 517 ret += hist_entry_callchain__fprintf(he, total_period, 0, fp);
517 518
518 return ret; 519 return ret;
@@ -709,7 +710,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)
709} 710}
710 711
711size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, 712size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
712 int max_cols, float min_pcnt, FILE *fp) 713 int max_cols, float min_pcnt, FILE *fp,
714 bool use_callchain)
713{ 715{
714 struct perf_hpp_fmt *fmt; 716 struct perf_hpp_fmt *fmt;
715 struct rb_node *nd; 717 struct rb_node *nd;
@@ -755,7 +757,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
755 if (percent < min_pcnt) 757 if (percent < min_pcnt)
756 continue; 758 continue;
757 759
758 ret += hist_entry__fprintf(h, max_cols, line, linesz, fp); 760 ret += hist_entry__fprintf(h, max_cols, line, linesz, fp, use_callchain);
759 761
760 if (max_rows && ++nr_rows >= max_rows) 762 if (max_rows && ++nr_rows >= max_rows)
761 break; 763 break;
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index 7b54ccf1b737..a73fde0a5dd8 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -159,7 +159,8 @@ void events_stats__inc(struct events_stats *stats, u32 type);
159size_t events_stats__fprintf(struct events_stats *stats, FILE *fp); 159size_t events_stats__fprintf(struct events_stats *stats, FILE *fp);
160 160
161size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, 161size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
162 int max_cols, float min_pcnt, FILE *fp); 162 int max_cols, float min_pcnt, FILE *fp,
163 bool use_callchain);
163size_t perf_evlist__fprintf_nr_events(struct perf_evlist *evlist, FILE *fp); 164size_t perf_evlist__fprintf_nr_events(struct perf_evlist *evlist, FILE *fp);
164 165
165void hists__filter_by_dso(struct hists *hists); 166void hists__filter_by_dso(struct hists *hists);