Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c854f37 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf stdio: Separate hierarchy headers output



Introducing hists__fprintf_hierarchy_headers function to separate
hierarchy headers display code.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Tested-by: default avatarArnaldo 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 36592ebb
Loading
Loading
Loading
Loading
+18 −8
Original line number Diff line number Diff line
@@ -622,10 +622,25 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,
	return 2;
}

static int
hists__fprintf_hierarchy_headers(struct hists *hists,
				 struct perf_hpp *hpp,
				 FILE *fp)
{
	struct perf_hpp_list_node *fmt_node;
	struct perf_hpp_fmt *fmt;

	list_for_each_entry(fmt_node, &hists->hpp_formats, list) {
		perf_hpp_list__for_each_format(&fmt_node->hpp, fmt)
			perf_hpp__reset_width(fmt, hists);
	}

	return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp);
}

static int hists__fprintf_headers(struct hists *hists, FILE *fp)
{
	struct perf_hpp_fmt *fmt;
	struct perf_hpp_list_node *fmt_node;
	unsigned int width;
	const char *sep = symbol_conf.field_sep;
	char bf[96];
@@ -637,13 +652,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)

	fprintf(fp, "# ");

	if (symbol_conf.report_hierarchy) {
		list_for_each_entry(fmt_node, &hists->hpp_formats, list) {
			perf_hpp_list__for_each_format(&fmt_node->hpp, fmt)
				perf_hpp__reset_width(fmt, hists);
		}
		return print_hierarchy_header(hists, &dummy_hpp, sep, 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))