summaryrefslogtreecommitdiff
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2014-03-19 08:05:47 +0100
committerIngo Molnar <mingo@kernel.org>2014-03-19 08:05:47 +0100
commit538592ff0b008237ae88f5ce5fb1247127dc3ce5 (patch)
treee6d688f188c1ec0dde44af613f6ff69e8578051f /tools/perf/util/annotate.c
parent0afd2d51029961281572d02545c7bde1b3f4292c (diff)
parenta51e87cb5a0fbebee15a3373d951dbf6f59a76c2 (diff)
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo: User visible: * Fixup header alignment in 'perf sched latency' output (Ramkumar Ramachandra) * Fix off-by-one error in 'perf timechart record' argv handling (Ramkumar Ramachandra) * Print the evsel name in the annotate stdio output, prep to fix support outputting annotation for multiple events, not just for the first one (Arnaldo Carvalho de Melo) Internals: * Use tid in mmap/mmap2 events to find maps (Don Zickus) * Record the reason for filtering an address_location (Namhyung Kim) * Apply all filters to an addr_location (Namhyung Kim) * Merge al->filtered with hist_entry->filtered in report/hists (Namhyung Kim) * Fix memory leak when synthesizing thread records (Namhyung Kim) * Use ui__has_annotation() in 'report' (Namhyung Kim) Cleanups: * Remove unused thread__find_map function (Jiri Olsa) * Remove unused simple_strtoul() function (Ramkumar Ramachandra) Documentation: * Update function names in debug messages (Ramkumar Ramachandra) * Update some code references in design.txt (Ramkumar Ramachandra) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 3aa555ff9d89..809b4c50beae 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1236,6 +1236,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
struct dso *dso = map->dso;
char *filename;
const char *d_filename;
+ const char *evsel_name = perf_evsel__name(evsel);
struct annotation *notes = symbol__annotation(sym);
struct disasm_line *pos, *queue = NULL;
u64 start = map__rip_2objdump(map, sym->start);
@@ -1243,7 +1244,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
int more = 0;
u64 len;
int width = 8;
- int namelen;
+ int namelen, evsel_name_len, graph_dotted_len;
filename = strdup(dso->long_name);
if (!filename)
@@ -1256,14 +1257,17 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
len = symbol__size(sym);
namelen = strlen(d_filename);
+ evsel_name_len = strlen(evsel_name);
if (perf_evsel__is_group_event(evsel))
width *= evsel->nr_members;
- printf(" %-*.*s| Source code & Disassembly of %s\n",
- width, width, "Percent", d_filename);
- printf("-%-*.*s-------------------------------------\n",
- width+namelen, width+namelen, graph_dotted_line);
+ printf(" %-*.*s| Source code & Disassembly of %s for %s\n",
+ width, width, "Percent", d_filename, evsel_name);
+
+ graph_dotted_len = width + namelen + evsel_name_len;
+ printf("-%-*.*s-----------------------------------------\n",
+ graph_dotted_len, graph_dotted_len, graph_dotted_line);
if (verbose)
symbol__annotate_hits(sym, evsel);