httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Theo Schlossnagle <>
Subject Re: [PATCH] DTrace probes patch.
Date Tue, 06 May 2008 14:10:50 GMT

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:
>> 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 --
OmniTI Computer Consulting, Inc. --

View raw message