Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Oct 2010 00:05:10 +0100
From:      =?UTF-8?Q?Istv=C3=A1n?= <leccine@gmail.com>
To:        Garrett Cooper <gcooper@freebsd.org>
Cc:        freebsd-current <freebsd-current@freebsd.org>, Rui Paulo <rpaulo@freebsd.org>
Subject:   Re: DTrace bindings are missing in FreeBSD 9.0 - CURRENT for userland apps
Message-ID:  <AANLkTimFOKbix2bS0wQanGGv_jrysWm=kxu-FAEGd3g6@mail.gmail.com>
In-Reply-To: <AANLkTimf%2B4xPLmYyrA%2B2GkYsRaNiLZjeAxEBL7MFd2Hk@mail.gmail.com>
References:  <AANLkTi=BTfcPYtO7Hby3dK7C7qiH2CXdThYyV9QBj8_T@mail.gmail.com> <DE0D21FF-0E8F-4993-87B0-69B7AA74861C@FreeBSD.org> <AANLkTins6w0znaw%2BvQ7M57cSXS1OK6aQ0KUyJMjD-ytq@mail.gmail.com> <7EC03A5E-61DA-46AB-95E1-1D844E10C735@FreeBSD.org> <AANLkTingZ1uQiC3TYaJtgQFG_m1HOAsOdCtRx4Aizj_i@mail.gmail.com> <D4CE1F20-02ED-4267-95D2-0199AEFA7C43@freebsd.org> <AANLkTinvBDQt-4Pk-GN3P1Wa20UTbr7OJaXiQeSD375u@mail.gmail.com> <FA2F29D4-F8E8-41A6-A471-DFE36C677B0D@freebsd.org> <AANLkTikZCUbwPF-grkAWQLVSL%2Bnm_NDBP%2B6ZLyYBNZxs@mail.gmail.com> <AANLkTimf%2B4xPLmYyrA%2B2GkYsRaNiLZjeAxEBL7MFd2Hk@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hey Garrett,

thanks for coming back to me.

1. I had make clean before I did make install clean.
2.

  $ ./configure --with-libraries=3D/usr/local/lib
--with-includes=3D/usr/local/include --enable-thread-safety --with-openssl
--enable-dtrace --with-pam --enable-nls --prefix=3D/usr/local
--mandir=3D/usr/local/man --infodir=3D/usr/local/info/
--build=3Damd64-portbld-freebsd9.0
uname -v =3D FreeBSD 9.0-CURRENT #0: Fri Oct  8 21:09:20 UTC 2010
root@freebsd9:/usr/obj/usr/src/sys/DTRACE
configure:2820: checking for dtrace
configure:2836: found /usr/sbin/dtrace
configure:2847: result: dtrace
| #define ENABLE_DTRACE 1
ac_cv_prog_DTRACE=3Ddtrace
DTRACE=3D'dtrace'
DTRACEFLAGS=3D''
configure_args=3D' '\''--with-libraries=3D/usr/local/lib'\''
'\''--with-includes=3D/usr/local/include'\'' '\''--enable-thread-safety'\''
'\''--with-openssl'\'' '\''--enable-dtrace'\'' '\''--with-pam'\''
'\''--enable-nls'\'' '\''--prefix=3D/usr/local'\''
'\''--mandir=3D/usr/local/man'\'' '\''--infodir=3D/usr/local/info/'\''
'\''--build=3Damd64-portbld-freebsd9.0'\''
'\''build_alias=3Damd64-portbld-freebsd9.0'\'' '\''CC=3Dcc'\'' '\''CFLAGS=
=3D-O2
-pipe -fno-omit-frame-pointer -fno-strict-aliasing'\'' '\''LDFLAGS=3D
-L/usr/local/lib -rpath=3D/usr/lib:/usr/local/lib -lelf -L/usr/local/lib'\'=
'
'\''CPPFLAGS=3D-I/usr/local/include'\'''
enable_dtrace=3D'yes'
#define ENABLE_DTRACE 1

The server is running:

[root@freebsd9/usr/ports/databases/postgresql90-server/work/postgresql-9.0.=
1]#
ps aux |
grep post
pgsql 86977   0.0  1.0  61992   9984  ??  Ss   10:01PM   0:00.97
/usr/local/bin/postgres -D /usr/local/pgsql/data
pgsql 86979   0.0  1.0  61992  10004  ??  Rs   10:01PM   0:06.48 postgres:
writer process    (postgres)
pgsql 86980   0.0  1.0  61992  10004  ??  Rs   10:01PM   0:03.44 postgres:
wal writer process    (postgres)
pgsql 86981   0.0  1.0  61992  10880  ??  Ss   10:01PM   0:00.99 postgres:
autovacuum launcher process    (postgres)
pgsql 86982   0.0  0.8  24896   8056  ??  Ss   10:01PM   0:00.56 postgres:
stats collector process    (postgres)

According to the manual:

http://www.postgresql.org/docs/8.2/static/dynamic-trace.html

[root@freebsd9/usr/ports/databases/postgresql90-server/work/postgresql-9.0.=
1]#
ls
src/include/pg_trace.h

This file is there.

But I can't see the probes in the list:

dtrace -l | grep -i postgres

Further info:

[root@freebsd9 ~]# /usr/local/etc/rc.d/postgresql restart
dtrace DOF postgres: DTrace ioctl failed for DOF at 0x801c35000: Invalid
argument

Any time I would like to start dtrace on the servers pid the daemon is
crashing wo/ any log.


I.

On Mon, Oct 18, 2010 at 11:48 PM, Garrett Cooper <gcooper@freebsd.org>wrote=
:

> On Mon, Oct 18, 2010 at 2:48 PM, Istv=C3=A1n <leccine@gmail.com> wrote:
> > I perfectly understand what you are saying and I have been DTracing on
> > Solaris many times.
> >
> > Only problem here is that you don't get my point, but I try to explain =
it
> on
> > the level you can get it.
> >
> >
> > [root@freebsd9 /usr/ports/databases/postgresql90-server]# grep -iA3
> > WITH_DTRACE Makefile
> > .  if defined(WITH_DTRACE)
> > CONFIGURE_ARGS+=3D--enable-dtrace
> > LDFLAGS+=3D-lelf
> > .  endif
> >
> > [root@freebsd9 /usr/ports/databases/postgresql90-server]# grep -i dtrac=
e
> > /var/db/ports/postgresql90/options
> > WITH_DTRACE=3Dtrue
> >
> > [root@freebsd9 /usr/ports/databases/postgresql90-server]# make install
> clean
> >
> >
> > What other dependency might cause the lack of DTrace bindings for
> > postgres90-server?
> >
> >
> > If you don't get my point at this stage then we don't have anything to
> talk
> > about, and I don't understand how can the FreeBSD project use a tool li=
ke
> > you. :)
> >
> >
> > Hope I make it clear what is not working and what must work.
> >
> > I.
> >
> >
> >
> >
> >
> > On Mon, Oct 18, 2010 at 10:40 PM, Rui Paulo <rpaulo@freebsd.org> wrote:
> >
> >>
> >> On 18 Oct 2010, at 22:37, Istv=C3=A1n wrote:
> >>
> >> > So there is no out of the box solution for FreeBSD to use DTrace for
> any
> >> userland app.
> >>
> >> What have I been saying ? Userland DTrace support works on FreeBSD 9.0=
,
> but
> >> I don't think you understand what userland DTrace support requires. Fo=
r
> >> PostgreSQL and Ruby you need to re-compile the software with DTrace
> support
> >> enabled. This is the same on Solaris.
> >>
> >> >
> >> > Is there somebody in the FreeBSD team actively working on this?
> >> >
> >> >
> >> > I.
> >> >
> >> >
> >> > On Mon, Oct 18, 2010 at 10:33 PM, Rui Paulo <rpaulo@freebsd.org>
> wrote:
> >> >
> >> > On 18 Oct 2010, at 22:30, Istv=C3=A1n wrote:
> >> >
> >> > > what should I do with the Makefile exactly? I can't see any dtrace
> >> related information in it.
> >> >
> >> > Each software package has it's way of enabling DTrace during the
> build.
> >> Check the postgres90-server port for an example on how to add DTrace
> support
> >> to a port.
>
>     1. I'd do clean install, not install clean to start from a consistent
> state.
>    2. What do the autoconf logs say about dtrace support being
> enabled (make clean configure will provide that data with the least
> number of cycles spent)?
> Thanks,
> -Garrett
>



--=20
the sun shines for all

http://blog.l1x.me



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimFOKbix2bS0wQanGGv_jrysWm=kxu-FAEGd3g6>