httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: [PATCH] DTrace probes patch.
Date Tue, 06 May 2008 06:44:03 GMT
Theo Schlossnagle wrote:
> Hello all,
> 
> The probes can really give a different perspective on production 
> environments.
> 
> The patch has some nastiness to it that I'm sure people would want to 
> strategize on cleaning up.  The main issue being that Apache is 
> constructed from a bunch of static apr/libtool built libraries.  DTrace 
> doesn't work on archives.  So, I've got some bloody knuckles from 
> bending the build system to keep things as normal ELF objects.
> 
> I had a first good step... and then a red herring issue that I worked 
> through with the DTrace team led me to a much less-elegant way of 
> building. I could revert to the original process (ld -r -o the objects 
> into library-esque packages) as DTrace can work on those.
> 
> The probes are neatly defined and placed, but the patches to the build 
> system are gruesome.

Uhm. yah. libtool-dep-extract, doesn't work with jlibtool.[1]

So, to get this to compile on OSX, I found out dtrace on OSX doesn't 
have -G, and Apple says headers only/-h is enough. [2]  Not having to 
muck with the prelink steps makes this whole thing much easier to deal with.

For trunk, I had to mess around with http_request.c, as it seems the 
2.2.x version is quite out of sync with trunk. (All due to the async 
request processing work that happened in trunk).

The install-dtrace target is also slightly... worrying. For example:
	@chown -R root:bin $(DESTDIR)/usr/lib
Seems like a bad thing for non-solaris operating systems, like OSX :-)

Attached is a patch for todays trunk, which seems to compile on OSX 10.5.

To get this in, I think we should make include/apache_probes.h a target 
in the makefile, and not build it in configure.in. I'll try to get 
something workong on OSX tomorrow and then hopefully someone can help me 
with Solaris later,

> The apr-util patch to the apr_hooks.h is simple and affords some nice 
> probability for future probe uses.

I've committed this patch to ARP-Util in r653681. [3]

I think we should add --enable-dtrace to APR{,-Util}'s configure.in, so 
that we can wire up other things, and have a standard way of adding 
things to the CPPFLAGS to enable it. (And to append those CPPFLAGS to 
apr/apr-util's -config programs)

-Paul

[1] - http://svn.apache.org/repos/asf/apr/apr/trunk/build/jlibtool.c
[2] - http://archive.netbsd.se/?ml=dtrace-discuss&a=2007-10&m=5528648
[3] - https://svn.apache.org/viewvc?view=rev&revision=653681

Mime
View raw message