Discussion:
How to get syscalls:sys_enter_open file name as a string?
Daniel Chumak
2014-06-09 19:46:48 UTC
Permalink
Hi,

I am currently trying to monitor file system events with perf. While
recording some syscals including syscalls:sys_enter_open I noticed that
when I look at the generated data of enter_open I either get a filename
0x7fa8124e43c7 with plain perf script or filename=140359838352327 when I
use the generated pyhon script.
Being obviously not happy with the useless numbers I get thrown at me I
tried to add a probe to fopen of libc. The command

perf probe -x /usr/lib/libc-2.19.so -F | grep open | less

reveals that there is the symbol "fopen@@GLIBC_2.2.5", unfortunately
though I seem not to be able to add a probe via

sudo perf probe -x /usr/lib/libc-2.19.so --add=fopen%return
(no symbols found in /usr/lib/libc-2.19.so, maybe install a debug
package? Failed to load map.)

or via

sudo perf probe -x /usr/lib/libc-2.19.so --add=fopen@@GLIBC_2.2.5%return
(Semantic error :***@SRC is not allowed.)

What am I doing wrong here ?

Also what is the status on https://lkml.org/lkml/2014/2/18/57 or
https://lkml.org/lkml/2014/4/8/22 ? If it does what I think it does
(getting the call tree via a python script / .so) it would really help
me a LOT.

Regards,

Daniel

Loading...