perf probe: Show filename which contains target function
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Thu, 10 Feb 2011 09:08:16 +0000 (18:08 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 16 Feb 2011 19:04:09 +0000 (17:04 -0200)
Show filename which contains a target function with the function name on
"--lines" mode, because perf-probe just shows the first function even if
there are many same-name functions.

Originally adopted by Franck Bui-Huu's patch which shows file name
instead of function name. I've just modified it to show both of function
name and file name, because of completeness of output.

 E.g.)
 $ perf probe -L t_show
 <t_show@/home/mhiramat/ksrc/linux-2.6-tip/kernel/trace/ftrace.c:0>
      0  static int t_show(struct seq_file *m, void *v)
      1  {
      2         struct ftrace_iterator *iter = m->private;
 ...

 $ perf probe -L t_show@trace/trace.c
 <t_show@/home/mhiramat/ksrc/linux-2.6-tip/kernel/trace/trace.c:0>
      0  static int t_show(struct seq_file *m, void *v)
      1  {
                struct tracer *t = v;
 ...

Original-patch-by: Franck Bui-Huu <fbuihuu@gmail.com>
Cc: 2nddept-manager@sdl.hitachi.co.jp
Cc: Franck Bui-Huu <fbuihuu@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20110210090816.1809.43426.stgit@ltc236.sdl.hitachi.co.jp>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/probe-event.c

index cbd76507a56f136585fa7a896c3171a996b19bec..0e3ea1321103b0ac5aa86605cc44be86623668ef 100644 (file)
@@ -409,7 +409,7 @@ int show_line_range(struct line_range *lr, const char *module)
        setup_pager();
 
        if (lr->function)
-               fprintf(stdout, "<%s:%d>\n", lr->function,
+               fprintf(stdout, "<%s@%s:%d>\n", lr->function, lr->path,
                        lr->start - lr->offset);
        else
                fprintf(stdout, "<%s:%d>\n", lr->path, lr->start);