httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Theo Schlossnagle <je...@omniti.com>
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:
>>
>> 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/


Mime
View raw message