Re: [BUG] perf: trace -s script is broken

From: Tom Zanussi
Date: Thu Aug 12 2010 - 13:56:30 EST


Hi,

On Thu, Aug 12, 2010 at 4:39 AM, Stephane Eranian <eranian@xxxxxxxxxx> wrote:
> Hi,
>
> I am trying to understand how you're supposed to use perf trace with a
> script using tip-x86.
> I am running into several problems.
>
> I did:
> $ make prefix=/usr
> $ sudo make install prefix=/usr
>
> $ sudo perf record -c 1 -e raw_syscalls:sys_enter -a -- sleep 1
> $ sudo perf trace -s sctop.py
> Can't open python script "sctop.py": No such file or directory
>
> I looked into this a bit more, and sure enough, it seems perf is only looking
> in the current subdir to find sctop.py. However if you do:
> $ perf trace -l
> List of available trace scripts:
>  failed-syscalls [comm]               system-wide failed syscalls
>  rw-by-file <comm>                    r/w activity for a program, by file
>  rw-by-pid                            system-wide r/w activity
>  rwtop [interval]                     system-wide r/w top
>  wakeup-latency                       system-wide min/max/avg wakeup latency
>  workqueue-stats                      workqueue stats (ins/exe/create/destroy)
>  failed-syscalls-by-pid [comm]        system-wide failed syscalls, by pid
>  sctop [comm] [interval]              syscall top
>  syscall-counts-by-pid [comm]         system-wide syscall counts, by pid
>  syscall-counts [comm]                system-wide syscall counts
>
> The listing requires trace to look at /usr/libexec/perf-core/scripts/*
>
> I think in builtin-trace.c, you need to add the path prefix, perf_path_exec()
> to the script_name for this to work correctly. Or am I missing something here?
>
> Similarly, all the -report scripts installed via make install, still
> have the ~/libexec
> prefix hardcoded into them. I believe those should be relative to the
> install prefix
> instead.
>

Yeah, I had previously submitted a patch to fix this, but that patch
introduced another bug.

I'll send an updated v2 patch shortly that should fix both problems...

Thanks,

Tom
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/