Add show_feat_hdr to control level of printed information of feature headers.
Signed-off-by: David Carrillo-Cisneros <davi...@google.com> --- tools/perf/builtin-report.c | 11 ++++++++--- tools/perf/builtin-script.c | 3 +++ tools/perf/util/tool.h | 7 +++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 22478ff2b706..7620d708c78b 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -985,9 +985,14 @@ int cmd_report(int argc, const char **argv) perf_hpp_list.need_collapse = true; } - /* Force tty output for header output and per-thread stat. */ - if (report.header || report.header_only || report.show_threads) - use_browser = 0; + if (report.header || report.header_only) { + report.tool.show_feat_hdr = SHOW_FEAT_HEADER; + /* Force tty output for header output and per-thread stat. */ + if (report.show_threads) + use_browser = 0; + } + if (report.show_full_info) + report.tool.show_feat_hdr = SHOW_FEAT_HEADER_FULL_INFO; if (strcmp(input_name, "-") != 0) setup_browser(true); diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index d05aec491cff..0934d0885614 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -2684,10 +2684,13 @@ int cmd_script(int argc, const char **argv) return -1; if (header || header_only) { + script.tool.show_feat_hdr = SHOW_FEAT_HEADER; perf_session__fprintf_info(session, stdout, show_full_info); if (header_only) goto out_delete; } + if (show_full_info) + script.tool.show_feat_hdr = SHOW_FEAT_HEADER_FULL_INFO; if (symbol__init(&session->header.env) < 0) goto out_delete; diff --git a/tools/perf/util/tool.h b/tools/perf/util/tool.h index 829471a1c6d7..baeca808dfda 100644 --- a/tools/perf/util/tool.h +++ b/tools/perf/util/tool.h @@ -34,6 +34,12 @@ typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event, typedef s64 (*event_op3)(struct perf_tool *tool, union perf_event *event, struct perf_session *session); +enum show_feature_header { + SHOW_FEAT_NO_HEADER = 0, + SHOW_FEAT_HEADER, + SHOW_FEAT_HEADER_FULL_INFO, +}; + struct perf_tool { event_sample sample, read; @@ -68,6 +74,7 @@ struct perf_tool { bool ordered_events; bool ordering_requires_timestamps; bool namespace_events; + enum show_feature_header show_feat_hdr; }; #endif /* __PERF_TOOL_H */ -- 2.13.0.219.gdb65acc882-goog