On May 6, 2008, at 8:21 AM, Dirk-Willem van Gulik wrote:
On May 5, 2008, at 9:27 PM, Theo Schlossnagle wrote:
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.
The apr-util patch to the apr_hooks.h is simple and affords some
nice probability for future probe uses.
Docs on these probes are available here:
https://labs.omniti.com/trac/project-dtrace/wiki/
Applications#Apache2.2.x
I'm not on this list -- Cc me on pertinent responses please.
Works lovely on Solaris with the normal/real libtool - but not with
Justin's. On MacOSX I think there is something wrong with the
linker. Either MacOS does not need the extra -G or -h is enough on
all platforms.
What is the downside/penalty for making this a default ? Or should
this always be an optional thing - set at ./configure time ?
I see no issues with making this the default and having a --disable-
dtrace. I can see a reason that someone might wish to turn them off
-- thought that someone isn't me.
Note, that to get all the apr_hooks linked up (which allows timing
hook call-times and classifying system calls by hook name and phase)
we need to patch apr_hooks.h. The patch for that changes flow
slightly (but not outcome) and has no cost when disabled. Also, the
way I wrote that was to use another define to turn that on
"APR_DTRACE_PROVIDER". So, anyone using apr-util for hooks can enable
or disable probes on those hooks with that define.
--
Theo Schlossnagle
Esoteric Curio -- http://lethargy.org/
OmniTI Computer Consulting, Inc. -- http://omniti.com/