perf annotate: Display percent type in stdio output
authorJiri Olsa <jolsa@kernel.org>
Sat, 4 Aug 2018 13:05:19 +0000 (15:05 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 8 Aug 2018 18:55:53 +0000 (15:55 -0300)
In following patches we will allow to switch percent type even for stdio
annotation outputs. Adding the percent type value into the annotation
outputs title.

  $ perf annotate --stdio
   Percent         |      Sou ... instructions:u } (2805 samples, percent: local period)
  --------------------------- ... ------------------------------------------------------
  ...

  $ perf annotate --stdio2
  Samples: 2K of events 'anon ...  count (approx.): 156525487, [percent: local period]
  safe_write.c() /usr/bin/yes
  Percent
  ...

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/20180804130521.11408-19-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index 05d15629afd09952a709c9d3406bd2f74ef276a5..6316fa96d984b4973add0095d2e5e414679256c3 100644 (file)
@@ -2056,10 +2056,12 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
                evsel_name = buf;
        }
 
-       graph_dotted_len = printf(" %-*.*s|     Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n",
+       graph_dotted_len = printf(" %-*.*s|     Source code & Disassembly of %s for %s (%" PRIu64 " samples, "
+                                 "percent: %s)\n",
                                  width, width, symbol_conf.show_total_period ? "Period" :
                                  symbol_conf.show_nr_samples ? "Samples" : "Percent",
-                                 d_filename, evsel_name, h->nr_samples);
+                                 d_filename, evsel_name, h->nr_samples,
+                                 percent_type_str(opts->percent_type));
 
        printf("%-*.*s----\n",
               graph_dotted_len, graph_dotted_len, graph_dotted_line);
@@ -2434,7 +2436,8 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map,
        }
 
        hists__scnprintf_title(hists, buf, sizeof(buf));
-       fprintf(stdout, "%s\n%s() %s\n", buf, sym->name, dso->long_name);
+       fprintf(stdout, "%s, [percent: %s]\n%s() %s\n",
+               buf, percent_type_str(opts->percent_type), sym->name, dso->long_name);
        symbol__annotate_fprintf2(sym, stdout, opts);
 
        annotated_source__purge(symbol__annotation(sym)->src);