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/

Reply via email to