Hi,
(2014/10/01 0:29), Hemant Kumar wrote:
This patchset helps in listing dtrace style markers(SDT) present in user spaceLooks great! :)
applications through perf.
Notes/markers are placed at important places by the
developers. They have a negligible overhead when not enabled.
We can enable them and probe at these places and find some important information
like the arguments' values, etc.
We have lots of applications which use SDT markers today, like:
Postgresql, MySql, Mozilla, Perl, Python, Java, Ruby, libvirt, QEMU, glib
To add SDT markers into user applications:
We need to have this header sys/sdt.h present.
sys/sdt.h used is version 3.
If not present, install systemtap-sdt-devel package (for fedora-20).
With this patchset,
- Use perf sdt-cache --add to add SDT events to a cache.
# perf sdt-cache --add ./user_app
4 SDT events added for /home/user/user_app!
- Use perf sdt-cache --del to remove SDT events from the cache>
# perf sdt-cache --del ./user_app
4 events removed for /home/user/user_app!
- Dump the cache onto stdout using perf sdt-cache --dump:
# perf sdt-cache --dump
/home/user/user_app :
%user_app:foo_start
%user_app:fun_start
- To probe and trace an SDT event :
# perf record -e %user_app:foo_start -aR sleep 10
However, when I've tried to build, I got below errors..
CC util/sdt.o
util/sdt.c: In function âsdt_errâ:
util/sdt.c:72:3: error: implicit declaration of function âpr_errâ [-Werror=implicit-function-declaration]
pr_err("%s: No SDT events found\n", target);
^
util/sdt.c:72:3: error: nested extern declaration of âpr_errâ [-Werror=nested-externs]
util/sdt.c: In function âfile_hash_list__initâ:
util/sdt.c:489:3: error: implicit declaration of function âpr_debugâ [-Werror=implicit-function-declaration]
pr_debug("Error in madvise\n");
^
util/sdt.c:489:3: error: nested extern declaration of âpr_debugâ [-Werror=nested-externs]
cc1: all warnings being treated as errors
Perhaps, you might working on the old tree. Could you update it?
[SNIP]