aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/ui/stdio/hist.c
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-06-14 14:19:15 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-06-15 09:46:02 -0400
commit5c854f3793c03539dcca48d8a89da9267127e436 (patch)
treeab3a63c738506410167c123a94d3577db2efb9e6 /tools/perf/ui/stdio/hist.c
parent36592ebb73782aa2304a71f9a3b586566c2892ee (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/hist.c')
-rw-r--r--tools/perf/ui/stdio/hist.c26
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
625static int
626hists__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
625static int hists__fprintf_headers(struct hists *hists, FILE *fp) 641static 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))