Commit d05e3aae authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

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: default avatarJiri 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.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 8f1d1b44
...@@ -666,7 +666,8 @@ static void hists__process(struct hists *hists) ...@@ -666,7 +666,8 @@ static void hists__process(struct hists *hists)
hists__precompute(hists); hists__precompute(hists);
hists__output_resort(hists, NULL); hists__output_resort(hists, NULL);
hists__fprintf(hists, true, 0, 0, 0, stdout); hists__fprintf(hists, true, 0, 0, 0, stdout,
symbol_conf.use_callchain);
} }
static void data__fprintf(void) static void data__fprintf(void)
......
...@@ -370,7 +370,8 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist, ...@@ -370,7 +370,8 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist,
continue; continue;
hists__fprintf_nr_sample_events(hists, rep, evname, stdout); hists__fprintf_nr_sample_events(hists, rep, evname, stdout);
hists__fprintf(hists, true, 0, 0, rep->min_percent, stdout); hists__fprintf(hists, true, 0, 0, rep->min_percent, stdout,
symbol_conf.use_callchain);
fprintf(stdout, "\n\n"); fprintf(stdout, "\n\n");
} }
......
...@@ -295,7 +295,7 @@ static void perf_top__print_sym_table(struct perf_top *top) ...@@ -295,7 +295,7 @@ static void perf_top__print_sym_table(struct perf_top *top)
hists__output_recalc_col_len(hists, top->print_entries - printed); hists__output_recalc_col_len(hists, top->print_entries - printed);
putchar('\n'); putchar('\n');
hists__fprintf(hists, false, top->print_entries - printed, win_width, hists__fprintf(hists, false, top->print_entries - printed, win_width,
top->min_percent, stdout); top->min_percent, stdout, symbol_conf.use_callchain);
} }
static void prompt_integer(int *target, const char *msg) static void prompt_integer(int *target, const char *msg)
......
...@@ -492,7 +492,8 @@ static int hist_entry__hierarchy_fprintf(struct hist_entry *he, ...@@ -492,7 +492,8 @@ static int hist_entry__hierarchy_fprintf(struct hist_entry *he,
} }
static int hist_entry__fprintf(struct hist_entry *he, size_t size, static int hist_entry__fprintf(struct hist_entry *he, size_t size,
char *bf, size_t bfsz, FILE *fp) char *bf, size_t bfsz, FILE *fp,
bool use_callchain)
{ {
int ret; int ret;
struct perf_hpp hpp = { struct perf_hpp hpp = {
...@@ -512,7 +513,7 @@ static int hist_entry__fprintf(struct hist_entry *he, size_t size, ...@@ -512,7 +513,7 @@ static int hist_entry__fprintf(struct hist_entry *he, size_t size,
ret = fprintf(fp, "%s\n", bf); ret = fprintf(fp, "%s\n", bf);
if (symbol_conf.use_callchain) if (use_callchain)
ret += hist_entry_callchain__fprintf(he, total_period, 0, fp); ret += hist_entry_callchain__fprintf(he, total_period, 0, fp);
return ret; return ret;
...@@ -709,7 +710,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp) ...@@ -709,7 +710,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)
} }
size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
int max_cols, float min_pcnt, FILE *fp) int max_cols, float min_pcnt, FILE *fp,
bool use_callchain)
{ {
struct perf_hpp_fmt *fmt; struct perf_hpp_fmt *fmt;
struct rb_node *nd; struct rb_node *nd;
...@@ -755,7 +757,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, ...@@ -755,7 +757,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
if (percent < min_pcnt) if (percent < min_pcnt)
continue; continue;
ret += hist_entry__fprintf(h, max_cols, line, linesz, fp); ret += hist_entry__fprintf(h, max_cols, line, linesz, fp, use_callchain);
if (max_rows && ++nr_rows >= max_rows) if (max_rows && ++nr_rows >= max_rows)
break; break;
......
...@@ -159,7 +159,8 @@ void events_stats__inc(struct events_stats *stats, u32 type); ...@@ -159,7 +159,8 @@ void events_stats__inc(struct events_stats *stats, u32 type);
size_t events_stats__fprintf(struct events_stats *stats, FILE *fp); size_t events_stats__fprintf(struct events_stats *stats, FILE *fp);
size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
int max_cols, float min_pcnt, FILE *fp); int max_cols, float min_pcnt, FILE *fp,
bool use_callchain);
size_t perf_evlist__fprintf_nr_events(struct perf_evlist *evlist, FILE *fp); size_t perf_evlist__fprintf_nr_events(struct perf_evlist *evlist, FILE *fp);
void hists__filter_by_dso(struct hists *hists); void hists__filter_by_dso(struct hists *hists);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment