All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.