diff options
author | Jiri Olsa <jolsa@kernel.org> | 2016-06-14 20:19:16 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-15 15:46:39 +0200 |
commit | 7a72a2e5e6e06172ae26a3c5c8c89a5578f28432 (patch) | |
tree | 5331913b91c79080ec0407b2e19917c4691890db /tools/perf/ui/stdio | |
parent | perf stdio: Separate hierarchy headers output (diff) | |
download | linux-7a72a2e5e6e06172ae26a3c5c8c89a5578f28432.tar.xz linux-7a72a2e5e6e06172ae26a3c5c8c89a5578f28432.zip |
perf stdio: Separate standard headers output
Introducing hists__fprintf_standard_headers function to separate
standard headers display code.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
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-7-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/ui/stdio')
-rw-r--r-- | tools/perf/ui/stdio/hist.c | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index 7498ce25bce3..5d007836d9a7 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c @@ -638,23 +638,16 @@ hists__fprintf_hierarchy_headers(struct hists *hists, return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp); } -static int hists__fprintf_headers(struct hists *hists, FILE *fp) +static int +hists__fprintf_standard_headers(struct hists *hists, + struct perf_hpp *hpp, + FILE *fp) { struct perf_hpp_fmt *fmt; unsigned int width; const char *sep = symbol_conf.field_sep; - char bf[96]; - struct perf_hpp dummy_hpp = { - .buf = bf, - .size = sizeof(bf), - }; bool first = true; - fprintf(fp, "# "); - - if (symbol_conf.report_hierarchy) - return hists__fprintf_hierarchy_headers(hists, &dummy_hpp, fp); - hists__for_each_format(hists, fmt) { if (perf_hpp__should_skip(fmt, hists)) continue; @@ -664,8 +657,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp) else first = false; - fmt->header(fmt, &dummy_hpp, hists_to_evsel(hists)); - fprintf(fp, "%s", bf); + fmt->header(fmt, hpp, hists_to_evsel(hists)); + fprintf(fp, "%s", hpp->buf); } fprintf(fp, "\n"); @@ -688,7 +681,7 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp) else first = false; - width = fmt->width(fmt, &dummy_hpp, hists_to_evsel(hists)); + width = fmt->width(fmt, hpp, hists_to_evsel(hists)); for (i = 0; i < width; i++) fprintf(fp, "."); } @@ -698,6 +691,23 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp) return 3; } +static int hists__fprintf_headers(struct hists *hists, FILE *fp) +{ + char bf[96]; + struct perf_hpp dummy_hpp = { + .buf = bf, + .size = sizeof(bf), + }; + + fprintf(fp, "# "); + + if (symbol_conf.report_hierarchy) + return hists__fprintf_hierarchy_headers(hists, &dummy_hpp, fp); + else + return hists__fprintf_standard_headers(hists, &dummy_hpp, fp); + +} + size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows, int max_cols, float min_pcnt, FILE *fp) { |