
chip at force-elite
May 5, 2008, 11:44 PM
Post #2 of 6
(83 views)
Permalink
|
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
|