2017-07-19 21:37:19

by Taeung Song

[permalink] [raw]
Subject: [PATCH v3 7/9] perf annotate: Support --show-nr-samples option

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

Cc: Namhyung Kim <[email protected]>
Cc: Milian Wolff <[email protected]>
Cc: Jiri Olsa <[email protected]>
Signed-off-by: Taeung Song <[email protected]>
---
tools/perf/builtin-annotate.c | 2 ++
tools/perf/util/annotate.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 0381408..fdc03e0 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 1e1899d..1cda47e 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1162,6 +1162,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);
}
@@ -1851,7 +1854,8 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,

graph_dotted_len = printf(" %-*.*s| Source code & Disassembly of %s for %s (%" PRIu64 " %s)\n",
width, width,
- symbol_conf.show_total_period ? "Event count" : "Percent",
+ symbol_conf.show_total_period ? "Event count" :
+ symbol_conf.show_nr_samples ? "Samples" : "Percent",
d_filename, evsel_name,
symbol_conf.show_total_period ? h->total_period : h->total_samples,
symbol_conf.show_total_period ? "event count" : "samples");
--
2.7.4