From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751512AbdFFHJh (ORCPT ); Tue, 6 Jun 2017 03:09:37 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:33750 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751253AbdFFHIH (ORCPT ); Tue, 6 Jun 2017 03:08:07 -0400 From: David Carrillo-Cisneros To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Andi Kleen , Simon Que , Wang Nan , Jiri Olsa , He Kuang , Masami Hiramatsu , Stephane Eranian , Paul Turner , David Carrillo-Cisneros Subject: [PATCH v3 13/15] perf tool: add show_feature_header to perf_tool Date: Tue, 6 Jun 2017 00:07:20 -0700 Message-Id: <20170606070722.35213-14-davidcc@google.com> X-Mailer: git-send-email 2.13.1.508.gb3defc5cc-goog In-Reply-To: <20170606070722.35213-1-davidcc@google.com> References: <20170606070722.35213-1-davidcc@google.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add show_feat_hdr to control level of printed information of feature headers. Signed-off-by: David Carrillo-Cisneros --- 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.1.508.gb3defc5cc-goog