Messages in this thread |  | | | Date | Thu, 12 Aug 2010 11:39:34 +0200 | | Subject | [BUG] perf: trace -s script is broken | | From | Stephane Eranian <> |
| |
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.
|  |