From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752375AbdBTTIT (ORCPT ); Mon, 20 Feb 2017 14:08:19 -0500 Received: from mail.kernel.org ([198.145.29.136]:35648 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752318AbdBTTIS (ORCPT ); Mon, 20 Feb 2017 14:08:18 -0500 Date: Mon, 20 Feb 2017 16:08:01 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , kernel-team@lge.com Subject: Re: [PATCH 3/6] perf report: Add -q/--quiet option Message-ID: <20170220190801.GM4109@kernel.org> References: <20170217081742.17417-1-namhyung@kernel.org> <20170217081742.17417-4-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170217081742.17417-4-namhyung@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.7.1 (2016-10-04) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, Feb 17, 2017 at 05:17:39PM +0900, Namhyung Kim escreveu: > The -q/--quiet option is to suppress any message. Sometimes users just > want to see the numbers and it can be used for that case. # # (Tip: Customize output of perf script with: perf script -F event,ip,sym) # (END) This still appears, at the end :-\ - Arnaldo > Signed-off-by: Namhyung Kim > --- > tools/perf/Documentation/perf-report.txt | 4 ++++ > tools/perf/builtin-report.c | 21 ++++++++++++++++----- > 2 files changed, 20 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt > index f2914f03ae7b..c04cc0647c16 100644 > --- a/tools/perf/Documentation/perf-report.txt > +++ b/tools/perf/Documentation/perf-report.txt > @@ -25,6 +25,10 @@ OPTIONS > --verbose:: > Be more verbose. (show symbol address, etc) > > +-q:: > +--quiet:: > + Do not show any message. (Suppress -v) > + > -n:: > --show-nr-samples:: > Show the number of samples for each symbol > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index dbd7fa028861..0a88670e56f3 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -320,6 +320,9 @@ static size_t hists__fprintf_nr_sample_events(struct hists *hists, struct report > size_t size = sizeof(buf); > int socked_id = hists->socket_filter; > > + if (quiet) > + return 0; > + > if (symbol_conf.filter_relative) { > nr_samples = hists->stats.nr_non_filtered_samples; > nr_events = hists->stats.total_non_filtered_period; > @@ -372,7 +375,11 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist, > { > struct perf_evsel *pos; > > - fprintf(stdout, "#\n# Total Lost Samples: %" PRIu64 "\n#\n", evlist->stats.total_lost_samples); > + if (!quiet) { > + fprintf(stdout, "#\n# Total Lost Samples: %" PRIu64 "\n#\n", > + evlist->stats.total_lost_samples); > + } > + > evlist__for_each_entry(evlist, pos) { > struct hists *hists = evsel__hists(pos); > const char *evname = perf_evsel__name(pos); > @@ -382,7 +389,7 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist, > continue; > > hists__fprintf_nr_sample_events(hists, rep, evname, stdout); > - hists__fprintf(hists, true, 0, 0, rep->min_percent, stdout, > + hists__fprintf(hists, !quiet, 0, 0, rep->min_percent, stdout, > symbol_conf.use_callchain); > fprintf(stdout, "\n\n"); > } > @@ -716,6 +723,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused) > "input file name"), > OPT_INCR('v', "verbose", &verbose, > "be more verbose (show symbol address, etc)"), > + OPT_BOOLEAN('q', "quiet", &quiet, "Do not show any message"), > OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, > "dump raw trace in ASCII"), > OPT_STRING('k', "vmlinux", &symbol_conf.vmlinux_name, > @@ -863,6 +871,9 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused) > report.symbol_filter_str = argv[0]; > } > > + if (quiet) > + perf_quiet_option(); > + > if (symbol_conf.vmlinux_name && > access(symbol_conf.vmlinux_name, R_OK)) { > pr_err("Invalid file: %s\n", symbol_conf.vmlinux_name); > @@ -983,14 +994,14 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused) > goto error; > } > > - if (report.header || report.header_only) { > + if ((report.header || report.header_only) && !quiet) { > perf_session__fprintf_info(session, stdout, > report.show_full_info); > if (report.header_only) { > ret = 0; > goto error; > } > - } else if (use_browser == 0) { > + } else if (use_browser == 0 && !quiet) { > fputs("# To display the perf.data header info, please use --header/--header-only options.\n#\n", > stdout); > } > @@ -1009,7 +1020,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused) > * providing it only in verbose mode not to bloat too > * much struct symbol. > */ > - if (verbose) { > + if (verbose > 0) { > /* > * XXX: Need to provide a less kludgy way to ask for > * more space per symbol, the u32 is for the index on > -- > 2.11.1