mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
5c854f3793
commit
7a72a2e5e6
|
@ -638,23 +638,16 @@ hists__fprintf_hierarchy_headers(struct hists *hists,
|
||||||
return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp);
|
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;
|
struct perf_hpp_fmt *fmt;
|
||||||
unsigned int width;
|
unsigned int width;
|
||||||
const char *sep = symbol_conf.field_sep;
|
const char *sep = symbol_conf.field_sep;
|
||||||
char bf[96];
|
|
||||||
struct perf_hpp dummy_hpp = {
|
|
||||||
.buf = bf,
|
|
||||||
.size = sizeof(bf),
|
|
||||||
};
|
|
||||||
bool first = true;
|
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) {
|
hists__for_each_format(hists, fmt) {
|
||||||
if (perf_hpp__should_skip(fmt, hists))
|
if (perf_hpp__should_skip(fmt, hists))
|
||||||
continue;
|
continue;
|
||||||
|
@ -664,8 +657,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)
|
||||||
else
|
else
|
||||||
first = false;
|
first = false;
|
||||||
|
|
||||||
fmt->header(fmt, &dummy_hpp, hists_to_evsel(hists));
|
fmt->header(fmt, hpp, hists_to_evsel(hists));
|
||||||
fprintf(fp, "%s", bf);
|
fprintf(fp, "%s", hpp->buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(fp, "\n");
|
fprintf(fp, "\n");
|
||||||
|
@ -688,7 +681,7 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)
|
||||||
else
|
else
|
||||||
first = false;
|
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++)
|
for (i = 0; i < width; i++)
|
||||||
fprintf(fp, ".");
|
fprintf(fp, ".");
|
||||||
}
|
}
|
||||||
|
@ -698,6 +691,23 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)
|
||||||
return 3;
|
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,
|
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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue