Messages in this thread |  | | | Date | Thu, 13 Jan 2011 20:03:00 +0900 | | From | Masami Hiramatsu <> | | Subject | Re: [PATCH] perf-probe: make "perf-probe -L <function>" display the absolute path and absolute line number |
| |
(2011/01/13 19:20), Franck Bui-Huu wrote: > From: Franck Bui-Huu <fbuihuu@gmail.com> > > It should be more usefull to get the full location of the function > (absolute line number + full path) instead of repeating the name of > the function and the start line number given by the command line. > > So we had before: > > $ perf probe -L schedule | head -n3 > <schedule:0> > 0 asmlinkage void __sched schedule(void) > 1 { > > and now we get: > > $ perf probe -L schedule | head -n3 > </usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3813> > 0 asmlinkage void __sched schedule(void) > 1 {
Indeed, it could be useful for users to see where the function is...
However, I think that should be optional, because the output lines have the relative line numbers from the function, and those numbers are important for users who want to probe a specific line by using function relative line numbers. e.g. "schedule:10"
And with that option, I'd suggest to show absolute line numbers on each line.
$ perf probe -L schedule:0-1 --by-source </usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3813> 3813 asmlinkage void __sched schedule(void) 3814 { Or, just show source file as an additional information.
$ perf probe -L schedule:0-1 <schedule@/usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:0> 0 asmlinkage void __sched schedule(void) 1 { I just would like to keep the consistency of the output/input format. In above cases, users can define a new event just by replacing the last number with the line number which they see.
Thank you,
> > Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com> > --- > tools/perf/util/probe-event.c | 6 +----- > 1 files changed, 1 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c > index fcbb543..bd09b87 100644 > --- a/tools/perf/util/probe-event.c > +++ b/tools/perf/util/probe-event.c > @@ -382,11 +382,7 @@ int show_line_range(struct line_range *lr, const char *module) > > setup_pager(); > > - if (lr->function) > - fprintf(stdout, "<%s:%d>\n", lr->function, > - lr->start - lr->offset); > - else > - fprintf(stdout, "<%s:%d>\n", lr->path, lr->start); > + fprintf(stdout, "<%s:%d>\n", lr->path, lr->start); > > fp = fopen(lr->path, "r"); > if (fp == NULL) {
-- Masami HIRAMATSU 2nd Dept. Linux Technology Center Hitachi, Ltd., Systems Development Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
|  |