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

From: Rui Paulo <rpaulo_at_FreeBSD.org>
Date: Mon, 18 Oct 2010 21:57:49 +0100
On 18 Oct 2010, at 21:12, István wrote:

> Hey,
> 
> how come it doesn't work?
> 
> What are the necessary requirements for using dtrace on freebsd? Do you need a library or something?

It involves creating a DTrace provider and compiling it during the build phase. Please read: http://dtrace.org/blogs/ahl/user_land_tracing_gets_better

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

You need to change the port Makefile to enable DTrace.


> 
> 
> 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
> > {
> >
> >        _at_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 |_at__at__at__at__at__at__at_                                  1
> >               8 |_at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at__at_        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
> Use the link below to report this message as spam.
> https://lavabit.com/apps/teacher?sig=1414285&key=2325204208

Regards,
--
Rui Paulo
Received on Mon Oct 18 2010 - 18:57:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC