linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option
@ 2017-08-18  8:46 Taeung Song
  2017-08-18 13:33 ` Arnaldo Carvalho de Melo
  2017-08-22 10:26 ` [tip:perf/core] " tip-bot for Taeung Song
  0 siblings, 2 replies; 4+ messages in thread
From: Taeung Song @ 2017-08-18  8:46 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, taeung, Namhyung Kim, Milian Wolff, Jiri Olsa

Add --show-nr-samples option to perf-annotate
so that it corresponds with perf-report.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/Documentation/perf-annotate.txt | 4 ++++
 tools/perf/builtin-annotate.c              | 2 ++
 tools/perf/util/annotate.c                 | 6 +++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
index a89273d..2a5975c 100644
--- a/tools/perf/Documentation/perf-annotate.txt
+++ b/tools/perf/Documentation/perf-annotate.txt
@@ -43,6 +43,10 @@ OPTIONS
 --quiet::
 	Do not show any message.  (Suppress -v)
 
+-n::
+--show-nr-samples::
+	Show the number of samples for each symbol
+
 -D::
 --dump-raw-trace::
         Dump raw trace in ASCII.
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 658c920..acde4cc 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -445,6 +445,8 @@ int cmd_annotate(int argc, const char **argv)
 		    "Show event group information together"),
 	OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
 		    "Show a column with the sum of periods"),
+	OPT_BOOLEAN('n', "show-nr-samples", &symbol_conf.show_nr_samples,
+		    "Show a column with the number of samples"),
 	OPT_CALLBACK_DEFAULT(0, "stdio-color", NULL, "mode",
 			     "'always' (default), 'never' or 'auto' only applicable to --stdio mode",
 			     stdio__config_color, "always"),
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 2dab0e5..4397a8b 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1145,6 +1145,9 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
 			if (symbol_conf.show_total_period)
 				color_fprintf(stdout, color, " %11" PRIu64,
 					      sample.period);
+			else if (symbol_conf.show_nr_samples)
+				color_fprintf(stdout, color, " %7" PRIu64,
+					      sample.nr_samples);
 			else
 				color_fprintf(stdout, color, " %7.2f", percent);
 		}
@@ -1825,7 +1828,8 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
 		width *= evsel->nr_members;
 
 	graph_dotted_len = printf(" %-*.*s|	Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n",
-				  width, width, symbol_conf.show_total_period ? "Event count" : "Percent",
+				  width, width, symbol_conf.show_total_period ? "Period" :
+				  symbol_conf.show_nr_samples ? "Samples" : "Percent",
 				  d_filename, evsel_name, h->nr_samples);
 
 	printf("%-*.*s----\n",
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option
  2017-08-18  8:46 [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option Taeung Song
@ 2017-08-18 13:33 ` Arnaldo Carvalho de Melo
  2017-08-21  5:33   ` Taeung Song
  2017-08-22 10:26 ` [tip:perf/core] " tip-bot for Taeung Song
  1 sibling, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-08-18 13:33 UTC (permalink / raw)
  To: Taeung Song; +Cc: linux-kernel, taeung, Namhyung Kim, Milian Wolff, Jiri Olsa

Em Fri, Aug 18, 2017 at 05:46:48PM +0900, Taeung Song escreveu:
> Add --show-nr-samples option to perf-annotate
> so that it corresponds with perf-report.

So, at this point I tried to test it and forgot this was just about
--stdio, which confused me, so I added the following patch, that I'll
lift when adding the browser support, which may not happen at this time
if there are problems there.

@@ -473,6 +474,11 @@ int cmd_annotate(int argc, const char **argv)
                annotate.sym_hist_filter = argv[0];
        }
 
+       if (symbol_conf.show_nr_samples && !annotate.use_stdio) {
+               pr_err("--show-nr-samples is only available in --stdio mode at this time\n");
+               return ret;
+       }
+

- Arnaldo
 
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Milian Wolff <milian.wolff@kdab.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
> ---
>  tools/perf/Documentation/perf-annotate.txt | 4 ++++
>  tools/perf/builtin-annotate.c              | 2 ++
>  tools/perf/util/annotate.c                 | 6 +++++-
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
> index a89273d..2a5975c 100644
> --- a/tools/perf/Documentation/perf-annotate.txt
> +++ b/tools/perf/Documentation/perf-annotate.txt
> @@ -43,6 +43,10 @@ OPTIONS
>  --quiet::
>  	Do not show any message.  (Suppress -v)
>  
> +-n::
> +--show-nr-samples::
> +	Show the number of samples for each symbol
> +
>  -D::
>  --dump-raw-trace::
>          Dump raw trace in ASCII.
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 658c920..acde4cc 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -445,6 +445,8 @@ int cmd_annotate(int argc, const char **argv)
>  		    "Show event group information together"),
>  	OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
>  		    "Show a column with the sum of periods"),
> +	OPT_BOOLEAN('n', "show-nr-samples", &symbol_conf.show_nr_samples,
> +		    "Show a column with the number of samples"),
>  	OPT_CALLBACK_DEFAULT(0, "stdio-color", NULL, "mode",
>  			     "'always' (default), 'never' or 'auto' only applicable to --stdio mode",
>  			     stdio__config_color, "always"),
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 2dab0e5..4397a8b 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -1145,6 +1145,9 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
>  			if (symbol_conf.show_total_period)
>  				color_fprintf(stdout, color, " %11" PRIu64,
>  					      sample.period);
> +			else if (symbol_conf.show_nr_samples)
> +				color_fprintf(stdout, color, " %7" PRIu64,
> +					      sample.nr_samples);
>  			else
>  				color_fprintf(stdout, color, " %7.2f", percent);
>  		}
> @@ -1825,7 +1828,8 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
>  		width *= evsel->nr_members;
>  
>  	graph_dotted_len = printf(" %-*.*s|	Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n",
> -				  width, width, symbol_conf.show_total_period ? "Event count" : "Percent",
> +				  width, width, symbol_conf.show_total_period ? "Period" :
> +				  symbol_conf.show_nr_samples ? "Samples" : "Percent",
>  				  d_filename, evsel_name, h->nr_samples);
>  
>  	printf("%-*.*s----\n",
> -- 
> 2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option
  2017-08-18 13:33 ` Arnaldo Carvalho de Melo
@ 2017-08-21  5:33   ` Taeung Song
  0 siblings, 0 replies; 4+ messages in thread
From: Taeung Song @ 2017-08-21  5:33 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, taeung, Namhyung Kim, Milian Wolff, Jiri Olsa



On 08/18/2017 10:33 PM, Arnaldo Carvalho de Melo wrote:
> Em Fri, Aug 18, 2017 at 05:46:48PM +0900, Taeung Song escreveu:
>> Add --show-nr-samples option to perf-annotate
>> so that it corresponds with perf-report.
> 
> So, at this point I tried to test it and forgot this was just about
> --stdio, which confused me, so I added the following patch, that I'll
> lift when adding the browser support, which may not happen at this time
> if there are problems there.
> 
> @@ -473,6 +474,11 @@ int cmd_annotate(int argc, const char **argv)
>                  annotate.sym_hist_filter = argv[0];
>          }
>   
> +       if (symbol_conf.show_nr_samples && !annotate.use_stdio) {
> +               pr_err("--show-nr-samples is only available in --stdio mode at this time\n");
> +               return ret;
> +       }
> +
> 
> - Arnaldo
> 

Ok, got it.

Thanks,
Taeung

>> Cc: Namhyung Kim <namhyung@kernel.org>
>> Cc: Milian Wolff <milian.wolff@kdab.com>
>> Cc: Jiri Olsa <jolsa@redhat.com>
>> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
>> ---
>>   tools/perf/Documentation/perf-annotate.txt | 4 ++++
>>   tools/perf/builtin-annotate.c              | 2 ++
>>   tools/perf/util/annotate.c                 | 6 +++++-
>>   3 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
>> index a89273d..2a5975c 100644
>> --- a/tools/perf/Documentation/perf-annotate.txt
>> +++ b/tools/perf/Documentation/perf-annotate.txt
>> @@ -43,6 +43,10 @@ OPTIONS
>>   --quiet::
>>   	Do not show any message.  (Suppress -v)
>>   
>> +-n::
>> +--show-nr-samples::
>> +	Show the number of samples for each symbol
>> +
>>   -D::
>>   --dump-raw-trace::
>>           Dump raw trace in ASCII.
>> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
>> index 658c920..acde4cc 100644
>> --- a/tools/perf/builtin-annotate.c
>> +++ b/tools/perf/builtin-annotate.c
>> @@ -445,6 +445,8 @@ int cmd_annotate(int argc, const char **argv)
>>   		    "Show event group information together"),
>>   	OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
>>   		    "Show a column with the sum of periods"),
>> +	OPT_BOOLEAN('n', "show-nr-samples", &symbol_conf.show_nr_samples,
>> +		    "Show a column with the number of samples"),
>>   	OPT_CALLBACK_DEFAULT(0, "stdio-color", NULL, "mode",
>>   			     "'always' (default), 'never' or 'auto' only applicable to --stdio mode",
>>   			     stdio__config_color, "always"),
>> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
>> index 2dab0e5..4397a8b 100644
>> --- a/tools/perf/util/annotate.c
>> +++ b/tools/perf/util/annotate.c
>> @@ -1145,6 +1145,9 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
>>   			if (symbol_conf.show_total_period)
>>   				color_fprintf(stdout, color, " %11" PRIu64,
>>   					      sample.period);
>> +			else if (symbol_conf.show_nr_samples)
>> +				color_fprintf(stdout, color, " %7" PRIu64,
>> +					      sample.nr_samples);
>>   			else
>>   				color_fprintf(stdout, color, " %7.2f", percent);
>>   		}
>> @@ -1825,7 +1828,8 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
>>   		width *= evsel->nr_members;
>>   
>>   	graph_dotted_len = printf(" %-*.*s|	Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n",
>> -				  width, width, symbol_conf.show_total_period ? "Event count" : "Percent",
>> +				  width, width, symbol_conf.show_total_period ? "Period" :
>> +				  symbol_conf.show_nr_samples ? "Samples" : "Percent",
>>   				  d_filename, evsel_name, h->nr_samples);
>>   
>>   	printf("%-*.*s----\n",
>> -- 
>> 2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf annotate stdio: Support --show-nr-samples option
  2017-08-18  8:46 [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option Taeung Song
  2017-08-18 13:33 ` Arnaldo Carvalho de Melo
@ 2017-08-22 10:26 ` tip-bot for Taeung Song
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Taeung Song @ 2017-08-22 10:26 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, milian.wolff, namhyung, linux-kernel, acme, jolsa,
	treeze.taeung, mingo, hpa

Commit-ID:  1ac39372e06f5009982aaaf890fc5bbd044bb047
Gitweb:     http://git.kernel.org/tip/1ac39372e06f5009982aaaf890fc5bbd044bb047
Author:     Taeung Song <treeze.taeung@gmail.com>
AuthorDate: Fri, 18 Aug 2017 17:46:48 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 18 Aug 2017 10:31:53 -0300

perf annotate stdio: Support --show-nr-samples option

Add --show-nr-samples option to "perf annotate" so that it matches "perf
report".

Committer note:

Note that it can't be used together with --show-total-period, which
seems like a silly limitation, that can be lifted at some point.

Made it bail out if not on --stdio.

Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1503046008-5511-1-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-annotate.txt |  4 ++++
 tools/perf/builtin-annotate.c              | 16 ++++++++++++++--
 tools/perf/util/annotate.c                 |  6 +++++-
 3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
index a89273d..2a5975c 100644
--- a/tools/perf/Documentation/perf-annotate.txt
+++ b/tools/perf/Documentation/perf-annotate.txt
@@ -43,6 +43,10 @@ OPTIONS
 --quiet::
 	Do not show any message.  (Suppress -v)
 
+-n::
+--show-nr-samples::
+	Show the number of samples for each symbol
+
 -D::
 --dump-raw-trace::
         Dump raw trace in ASCII.
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 658c920..89fc038 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -403,7 +403,7 @@ int cmd_annotate(int argc, const char **argv)
 	struct perf_data_file file = {
 		.mode  = PERF_DATA_MODE_READ,
 	};
-	const struct option options[] = {
+	struct option options[] = {
 	OPT_STRING('i', "input", &input_name, "file",
 		    "input file name"),
 	OPT_STRING('d', "dsos", &symbol_conf.dso_list_str, "dso[,dso...]",
@@ -445,13 +445,20 @@ int cmd_annotate(int argc, const char **argv)
 		    "Show event group information together"),
 	OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
 		    "Show a column with the sum of periods"),
+	OPT_BOOLEAN('n', "show-nr-samples", &symbol_conf.show_nr_samples,
+		    "Show a column with the number of samples"),
 	OPT_CALLBACK_DEFAULT(0, "stdio-color", NULL, "mode",
 			     "'always' (default), 'never' or 'auto' only applicable to --stdio mode",
 			     stdio__config_color, "always"),
 	OPT_END()
 	};
-	int ret = hists__init();
+	int ret;
+
+	set_option_flag(options, 0, "show-total-period", PARSE_OPT_EXCLUSIVE);
+	set_option_flag(options, 0, "show-nr-samples", PARSE_OPT_EXCLUSIVE);
+
 
+	ret = hists__init();
 	if (ret < 0)
 		return ret;
 
@@ -467,6 +474,11 @@ int cmd_annotate(int argc, const char **argv)
 		annotate.sym_hist_filter = argv[0];
 	}
 
+	if (symbol_conf.show_nr_samples && !annotate.use_stdio) {
+		pr_err("--show-nr-samples is only available in --stdio mode at this time\n");
+		return ret;
+	}
+
 	if (quiet)
 		perf_quiet_option();
 
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 2dab0e5..4397a8b 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1145,6 +1145,9 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
 			if (symbol_conf.show_total_period)
 				color_fprintf(stdout, color, " %11" PRIu64,
 					      sample.period);
+			else if (symbol_conf.show_nr_samples)
+				color_fprintf(stdout, color, " %7" PRIu64,
+					      sample.nr_samples);
 			else
 				color_fprintf(stdout, color, " %7.2f", percent);
 		}
@@ -1825,7 +1828,8 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
 		width *= evsel->nr_members;
 
 	graph_dotted_len = printf(" %-*.*s|	Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n",
-				  width, width, symbol_conf.show_total_period ? "Event count" : "Percent",
+				  width, width, symbol_conf.show_total_period ? "Period" :
+				  symbol_conf.show_nr_samples ? "Samples" : "Percent",
 				  d_filename, evsel_name, h->nr_samples);
 
 	printf("%-*.*s----\n",

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-22 10:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-18  8:46 [PATCH v3 1/5] perf annotate stdio: Support --show-nr-samples option Taeung Song
2017-08-18 13:33 ` Arnaldo Carvalho de Melo
2017-08-21  5:33   ` Taeung Song
2017-08-22 10:26 ` [tip:perf/core] " tip-bot for Taeung Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).