Non-Solaris dtrace support is disabled in 8.4!!!?

Started by Tom Laneover 16 years ago8 messageshackers
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

I have just discovered that this commit
http://archives.postgresql.org/pgsql-committers/2008-03/msg00316.php
which was alleged to improve our dtrace support on non-Solaris operating
systems, actually disabled it completely:

+ ifeq ($(PORTNAME), solaris)
ifeq ($(enable_dtrace), yes)
LOCALOBJS += utils/probes.o
endif
+ endif

OBJS = $(SUBDIROBJS) $(LOCALOBJS) $(top_builddir)/src/port/libpgport_srv.a

Wasn't anybody paying attention?

regards, tom lane

#2Josh Berkus
josh@agliodbs.com
In reply to: Tom Lane (#1)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

On 9/4/09 2:49 PM, Tom Lane wrote:

Wasn't anybody paying attention?

Apparently nobody is using it on other platforms. I know I'm not.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com

#3Joshua D. Drake
jd@commandprompt.com
In reply to: Josh Berkus (#2)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

On Fri, 2009-09-04 at 15:09 -0700, Josh Berkus wrote:

On 9/4/09 2:49 PM, Tom Lane wrote:

Wasn't anybody paying attention?

Apparently nobody is using it on other platforms. I know I'm not.

That doesn't make it any less embarrassing.

Joshua D. Drake

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com

--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564
Consulting, Training, Support, Custom Development, Engineering

#4Devrim GÜNDÜZ
devrim@gunduz.org
In reply to: Josh Berkus (#2)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

On Fri, 2009-09-04 at 15:09 -0700, Josh Berkus wrote:

On 9/4/09 2:49 PM, Tom Lane wrote:

Wasn't anybody paying attention?

Apparently nobody is using it on other platforms.

But at least it is enabled in Fedora 11+ RPMs. Maybe there are some
users out there.
--
Devrim GÜNDÜZ, RHCE
Command Prompt - http://www.CommandPrompt.com
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Josh Berkus (#2)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

Josh Berkus <josh@agliodbs.com> writes:

On 9/4/09 2:49 PM, Tom Lane wrote:

Wasn't anybody paying attention?

Apparently nobody is using it on other platforms. I know I'm not.

Some experimentation shows that systemtap is okay (modulo a small bug
https://bugzilla.redhat.com/show_bug.cgi?id=520469), but OS X's
version of dtrace seems to have different switch syntax. I'm a bit
confused by that because I thought we'd tested this stuff on OS X
way back when, and this commit doesn't seem to have touched the
dtrace arguments ...

regards, tom lane

#6Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#1)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

On fre, 2009-09-04 at 17:49 -0400, Tom Lane wrote:

I have just discovered that this commit
http://archives.postgresql.org/pgsql-committers/2008-03/msg00316.php
which was alleged to improve our dtrace support on non-Solaris operating
systems, actually disabled it completely:

You might want to check with Robert Lor about the details.

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#6)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

Peter Eisentraut <peter_e@gmx.net> writes:

On fre, 2009-09-04 at 17:49 -0400, Tom Lane wrote:

I have just discovered that this commit
http://archives.postgresql.org/pgsql-committers/2008-03/msg00316.php
which was alleged to improve our dtrace support on non-Solaris operating
systems, actually disabled it completely:

You might want to check with Robert Lor about the details.

After further investigation I've concluded that it wasn't as broken as
it appeared, just desperately underdocumented. The actual situation
seems to be:

* We need probes.o for dtrace on Solaris (or so I would assume, I don't
have this platform to test on).
* On OS X, we don't need it, and in fact dtrace spits up on the command
that tries to generate it. So we can't have a completely platform
independent makefile for this :-(
* Systemtap will execute "dtrace -G", but apparently it's only for
compatibility with Solaris --- the produced file is an empty stub.

(The systemtap problem that I initially thought was caused by omission
of the probes.o file was actually not caused by that.)

Given this, I've reverted to the "ifeq ($(PORTNAME), solaris)" condition
for producing probes.o, but annotated it a bit. It seems likely that
it will need adjustment as more platforms come up with their own
idiosyncratic dtrace implementations. It's possible that what we should
use instead is "ifneq ($(PORTNAME), darwin)", but I'm going to guess for
now that what appears on the BSDen will look more like OSX's
implementation than like Solaris'.

regards, tom lane

#8Zdenek Kotala
Zdenek.Kotala@Sun.COM
In reply to: Josh Berkus (#2)
Re: Non-Solaris dtrace support is disabled in 8.4!!!?

Dne 5.09.09 00:09, Josh Berkus napsal(a):

On 9/4/09 2:49 PM, Tom Lane wrote:

Wasn't anybody paying attention?

Apparently nobody is using it on other platforms. I know I'm not.

I think that buildfarm members can enable it for supported platform. I
already did it for my machine.

Zdenek