DTrace bindings are missing in FreeBSD 9.0 - CURRENT for userland apps

István leccine at gmail.com
Mon Oct 18 20:12:17 UTC 2010


Hey,

how come it doesn't work?

What are the necessary requirements for using dtrace on freebsd? Do you need
a library or something?

Do you know why Ruby has no dtrace bindings on Freebsd?


Thank you.

Istvan


On Mon, Oct 18, 2010 at 7:45 PM, Rui Paulo <rpaulo at freebsd.org> wrote:

>
> On 12 Oct 2010, at 23:40, István wrote:
>
> > Hey,
> >
> >
> > I am not 100% sure this is the right list to approach with this problem
> but
> > let's try this one.
> >
> > So I am trying to use dtrace on the previously mentioned system, I
> followed
> > the usual kernel rebuild process using the following wiki:
> >
> > http://wiki.freebsd.org/DTrace
> >
> > Dtrace works fine and I am able to trace the kernel.[1]
> >
> >
> > My problem is: I can't trace any user land application including
> PostgreSQL
> > and Ruby.
> >
> > I added the following lines to the /etc/make.conf as it is written in the
> > wiki:
> >
> > STRIP=
> > CFLAGS+=-fno-omit-frame-pointer
> >
> > I compiled both of the softwares and trying to trace them but there are
> no
> > bindings in the dtrace -l ouput
> >
> >
> > # dtrace -l | grep -i ruby
> >
> > i might have overlooked something important but not sure what.
> >
> > Any help is appreciated. Pls cc my email since i am not on this list.
> >
> >
> > Thank you in advance.
> >
> > I.
> >
> > 1.
> >
> > [root at freebsd9 ~]# uname -a
> > FreeBSD freebsd9 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Fri Oct  8 21:09:20
> UTC
> > 2010     root at freebsd9:/usr/obj/usr/src/sys/DTRACE  amd64
> > [root at freebsd9 ~]# kldstat
> > Id Refs Address            Size     Name
> > 1   26 0xffffffff80100000 f49bb0   kernel
> > 2    1 0xffffffff81212000 ad8      dtraceall.ko
> > 3    1 0xffffffff81213000 4a59     profile.ko
> > 4   11 0xffffffff81218000 3e2f     opensolaris.ko
> > 5    3 0xffffffff8121c000 3db0     cyclic.ko
> > 6    9 0xffffffff81220000 13af4b   dtrace.ko
> > 7    1 0xffffffff8135b000 fce0     systrace.ko
> > 8    1 0xffffffff8136b000 4128     sdt.ko
> > 9    1 0xffffffff81370000 44b8     lockstat.ko
> > 10    1 0xffffffff81375000 b94e     fasttrap.ko
> > 11    1 0xffffffff81381000 61ab     fbt.ko
> > 12    1 0xffffffff81388000 4a67     dtnfsclient.ko
> > 13    1 0xffffffff8138d000 4118     dtmalloc.ko
> > [root at freebsd9 ~]#
> >
> > [root at freebsd9 ~]# cat d.d
> > vfs:namecache:enter:done
> > {
> >
> >        @distribution = quantize(strlen((string)arg1));
> > }
> > [root at freebsd9 ~]# dtrace -s d.d
> > dtrace: script 'd.d' matched 1 probe
> > ^C
> >
> >
> >           value  ------------- Distribution ------------- count
> >               2 |                                         0
> >               4 |@@@@@@@                                  1
> >               8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@        5
> >              16 |                                         0
> >
> >
> >
>
> The Ruby port doesn't have DTrace support, but the PostgreSQL port has a
> DTrace option (only the latest postgresql port).
>
> Regards,
> --
> Rui Paulo
>
>
>


-- 
the sun shines for all

http://blog.l1x.me


More information about the freebsd-current mailing list