diff options
| author | Jiri Olsa <jolsa@kernel.org> | 2016-06-14 14:19:15 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-15 09:46:02 -0400 |
| commit | 5c854f3793c03539dcca48d8a89da9267127e436 (patch) | |
| tree | ab3a63c738506410167c123a94d3577db2efb9e6 /tools/perf/ui/stdio | |
| parent | 36592ebb73782aa2304a71f9a3b586566c2892ee (diff) | |
perf stdio: Separate hierarchy headers output
Introducing hists__fprintf_hierarchy_headers function to separate
hierarchy 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-6-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 | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index 91353ca16d04..7498ce25bce3 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c | |||
| @@ -622,10 +622,25 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp, | |||
| 622 | return 2; | 622 | return 2; |
| 623 | } | 623 | } |
| 624 | 624 | ||
| 625 | static int | ||
| 626 | hists__fprintf_hierarchy_headers(struct hists *hists, | ||
| 627 | struct perf_hpp *hpp, | ||
| 628 | FILE *fp) | ||
| 629 | { | ||
| 630 | struct perf_hpp_list_node *fmt_node; | ||
| 631 | struct perf_hpp_fmt *fmt; | ||
| 632 | |||
| 633 | list_for_each_entry(fmt_node, &hists->hpp_formats, list) { | ||
| 634 | perf_hpp_list__for_each_format(&fmt_node->hpp, fmt) | ||
| 635 | perf_hpp__reset_width(fmt, hists); | ||
| 636 | } | ||
| 637 | |||
| 638 | return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp); | ||
| 639 | } | ||
| 640 | |||
| 625 | static int hists__fprintf_headers(struct hists *hists, FILE *fp) | 641 | static int hists__fprintf_headers(struct hists *hists, FILE *fp) |
| 626 | { | 642 | { |
| 627 | struct perf_hpp_fmt *fmt; | 643 | struct perf_hpp_fmt *fmt; |
| 628 | struct perf_hpp_list_node *fmt_node; | ||
| 629 | unsigned int width; | 644 | unsigned int width; |
| 630 | const char *sep = symbol_conf.field_sep; | 645 | const char *sep = symbol_conf.field_sep; |
| 631 | char bf[96]; | 646 | char bf[96]; |
| @@ -637,13 +652,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp) | |||
| 637 | 652 | ||
| 638 | fprintf(fp, "# "); | 653 | fprintf(fp, "# "); |
| 639 | 654 | ||
| 640 | if (symbol_conf.report_hierarchy) { | 655 | if (symbol_conf.report_hierarchy) |
| 641 | list_for_each_entry(fmt_node, &hists->hpp_formats, list) { | 656 | return hists__fprintf_hierarchy_headers(hists, &dummy_hpp, fp); |
| 642 | perf_hpp_list__for_each_format(&fmt_node->hpp, fmt) | ||
| 643 | perf_hpp__reset_width(fmt, hists); | ||
| 644 | } | ||
| 645 | return print_hierarchy_header(hists, &dummy_hpp, sep, fp); | ||
| 646 | } | ||
| 647 | 657 | ||
| 648 | hists__for_each_format(hists, fmt) { | 658 | hists__for_each_format(hists, fmt) { |
| 649 | if (perf_hpp__should_skip(fmt, hists)) | 659 | if (perf_hpp__should_skip(fmt, hists)) |
