You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Bill Stoddard <bi...@wstoddard.com> on 2004/08/11 18:29:06 UTC

ARM4 module for Apache 2, any interest?

I've written a module to ARM4 instrument Apache 2. I'd like to donate this module to the ASF and ideally put 
it in the modules/experimental directory (or somewhere else in the ASF where we can place it under cvs 
control?). The ARM4 API headers are available from the Open Group website at 
http://www.opengroup.org/tech/management/arm/ (I have not checked the license lately. My assumption is that 
the license is not too restrictive, though I could be wrong). I've heard rumors that HP may be making an ARM4 
  SDK publically available "real soon now".

I would sign on to support the module if we put it in httpd-2.0 modules/experimental. Anyone interested?

Bill



Re: ARM4 module for Apache 2, any interest?

Posted by Mads Toftum <ma...@toftum.dk>.
On Wed, Aug 11, 2004 at 12:08:40PM -0500, William A. Rowe, Jr. wrote:
> 
> One thought on 2.2 was to simply not place any unfinished modules on that
> branch, and let them live on in the 2.1-dev (well, that becomes 2.3-dev once
> 2.2.0 is golden), until it can be released.  The modules can live in the "right
> location" in a 2.odd-dev tree from their inception.
> 
Big +1 on that - no matter how much we try to warn people off using certain
modules or mpm's (think perchild) there's still going to be a significant
number of people ignoring that warning.
Perhaps something like jakarta commons / sandbox would be useful for those
modules that doesn't need incubation, but are not quite at a state where
we would want to distribute them? It would probably also make tings easier
for bringing in new committers.

just my kr .02 

vh

Mads Toftum
-- 
`Darn it, who spiked my coffee with water?!' - lwall


Re: ARM4 module for Apache 2, any interest?

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Wednesday, August 11, 2004 12:08 PM -0500 "William A. Rowe, Jr." 
<wr...@rowe-clan.net> wrote:

> Doesn't some de minimis treatment through the incubator still apply?  There
> are two templates, one for a full project's incubation, one for a lightweight
> pass through IP vetting.  ++1 here for submission to the incubator as
> a new httpd instrumentation subproject.  Also happy to help on the ppmc.

A lightweight pass through the Incubator for IP vetting seems reasonable.  I 
don't think a PPMC is justified here unless we start adding a whole bunch of 
monitoring modules (but I don't think that'll happen, honestly).  The 
lightweight pass is just us (as the HTTP Server PMC) filling out some forms so 
the ASF legal butt is covered.  So, that process goes as fast (or as slow) as 
we make it.

> -1 on experimental - it needs to die :)  Look how long it's taken to get
> cache stable.  If that module was only placed in the main distro once it was
> fully complete, it would have been finished far sooner.  In general, new
> modules into 2.0 doesn't seem to make alot of sense since 2.2 will release
> before ApacheCon (straightforward goal, don't you think?.)

If we decide as a group to go in that direction, certainly.

> One thought on 2.2 was to simply not place any unfinished modules on that
> branch, and let them live on in the 2.1-dev (well, that becomes 2.3-dev once
> 2.2.0 is golden), until it can be released.  The modules can live in the
> "right location" in a 2.odd-dev tree from their inception.

Let's see what is remaining in experimental when we start the 2.2 release 
cycle.  mod_cache will almost certainly be out of there.  ;-)  -- justin

Re: APR 1.0? [Was: ARM4 module for Apache 2, any interest?]

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 12:48 PM 8/11/2004, Paul Querna wrote:
>On Wed, 2004-08-11 at 12:08 -0500, William A. Rowe, Jr. wrote:
>[..snip-snip..]
>> In general, new modules into 2.0 doesn't seem to make alot of sense
>> since 2.2 will release before ApacheCon (straightforward goal, don't 
>> you think?.)
>
>I hope so, but at the pace APR 1.0 is going....

APR 1.0 is moving just as fast as the amount of contributors allows...
just a note from across the fence, it seems 1.0 apr is now ready, apr-util
folks are still reviewing if the ldap solution was complete.  Anyone feel 
like helping it along by contributing?

:)

Bill 


Re: ARM4 module for Apache 2, any interest?

Posted by Paul Querna <ch...@force-elite.com>.
On Wed, 2004-08-11 at 12:08 -0500, William A. Rowe, Jr. wrote:
[..snip..]
> -1 on experimental - it needs to die :)  Look how long it's taken to get cache
> stable.  If that module was only placed in the main distro once it was fully
> complete, it would have been finished far sooner.  In general, new modules
> into 2.0 doesn't seem to make alot of sense since 2.2 will release before
> ApacheCon (straightforward goal, don't you think?.)

I hope so, but at the pace APR 1.0 is going....

> One thought on 2.2 was to simply not place any unfinished modules on that
> branch, and let them live on in the 2.1-dev (well, that becomes 2.3-dev once
> 2.2.0 is golden), until it can be released.  The modules can live in the "right
> location" in a 2.odd-dev tree from their inception.

+1 to that.  It makes sense to not include 'experimental' modules that
just cause more trouble than they are worth in a GA release.

-Paul Querna


Re: ARM4 module for Apache 2, any interest?

Posted by Bill Stoddard <bi...@wstoddard.com>.
William A. Rowe, Jr. wrote:

> Doesn't some de minimis treatment through the incubator still apply?  There
> are two templates, one for a full project's incubation, one for a lightweight
> pass through IP vetting.  ++1 here for submission to the incubator as 
> a new httpd instrumentation subproject.  Also happy to help on the ppmc.

Cool. So where to projects in incubation live in cvs?

> 
> My own interest is snmp support - I believe my employer's port of mod_snmp
> effectively was able to get at most of the operating parameters without extra
> patches to httpd 2.0 (thank you to new hook flexibility!)  But having more than 
> one instrumentation module will really show up any weaknesses in what we 
> expose to monitoring, and help us correct them before 2.2 walks out the door.
> 
> -1 on experimental - it needs to die :)  

Yea, I figured suggesting putting it into experimental would draw howls of protest :-) I don't really disagree.

Bill

Re: ARM4 module for Apache 2, any interest?

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Doesn't some de minimis treatment through the incubator still apply?  There
are two templates, one for a full project's incubation, one for a lightweight
pass through IP vetting.  ++1 here for submission to the incubator as 
a new httpd instrumentation subproject.  Also happy to help on the ppmc.

My own interest is snmp support - I believe my employer's port of mod_snmp
effectively was able to get at most of the operating parameters without extra
patches to httpd 2.0 (thank you to new hook flexibility!)  But having more than 
one instrumentation module will really show up any weaknesses in what we 
expose to monitoring, and help us correct them before 2.2 walks out the door.

-1 on experimental - it needs to die :)  Look how long it's taken to get cache
stable.  If that module was only placed in the main distro once it was fully
complete, it would have been finished far sooner.  In general, new modules
into 2.0 doesn't seem to make alot of sense since 2.2 will release before
ApacheCon (straightforward goal, don't you think?.)

One thought on 2.2 was to simply not place any unfinished modules on that
branch, and let them live on in the 2.1-dev (well, that becomes 2.3-dev once
2.2.0 is golden), until it can be released.  The modules can live in the "right
location" in a 2.odd-dev tree from their inception.

Bill

At 11:29 AM 8/11/2004, Bill Stoddard wrote:
>I've written a module to ARM4 instrument Apache 2. I'd like to donate this module to the ASF and ideally put it in the modules/experimental directory (or somewhere else in the ASF where we can place it under cvs control?). The ARM4 API headers are available from the Open Group website at http://www.opengroup.org/tech/management/arm/ (I have not checked the license lately. My assumption is that the license is not too restrictive, though I could be wrong). I've heard rumors that HP may be making an ARM4  SDK publically available "real soon now".
>
>I would sign on to support the module if we put it in httpd-2.0 modules/experimental. Anyone interested?
>
>Bill



Re: ARM4 module for Apache 2, any interest?

Posted by Bill Stoddard <bi...@wstoddard.com>.
Bill Stoddard wrote:

> Paul Querna wrote:
> 
>> So, after a quick look at the website, it looks like ARM4 is some sort
>> of SNMP on Steroids?
>>
>> Also, the License is quite important for any possibility of donating any
>> module to the ASF....  I think that needs to be pinned down before any
>> discussion can really move forward.
> 
> 
> The license for the module will bs ASL 2, no question. I need to check 
> up on the license of the ARM4 API header files.
> 
>>
>> Finally, can you explain what the ARM4 Module does in Apache 2?  
> 
> The ARM architecture is based on ARM 'clients' communicating with a 
> centralized ARM instrumentation data collection point. A piece of 
> software that is ARM instrumented makes calls into an ARM client to tell 
> the ARM client things like when it was started, when it is stopped, when 
> it handles an 'event' (and HTTP request in our case), etc. mod_arm3.so 
> ARM 4 instruments Apache 2. Consider the following configuration:

Dang, sorry for the typos in that last message. Stream of consciousness typing :-)

Re: ARM4 module for Apache 2, any interest?

Posted by Bill Stoddard <bi...@wstoddard.com>.
Paul Querna wrote:

> So, after a quick look at the website, it looks like ARM4 is some sort
> of SNMP on Steroids?
> 
> Also, the License is quite important for any possibility of donating any
> module to the ASF....  I think that needs to be pinned down before any
> discussion can really move forward.

The license for the module will bs ASL 2, no question. I need to check up on the license of the ARM4 API 
header files.

> 
> Finally, can you explain what the ARM4 Module does in Apache 2?  
The ARM architecture is based on ARM 'clients' communicating with a centralized ARM instrumentation data 
collection point. A piece of software that is ARM instrumented makes calls into an ARM client to tell the ARM 
client things like when it was started, when it is stopped, when it handles an 'event' (and HTTP request in 
our case), etc. mod_arm3.so ARM 4 instruments Apache 2. Consider the following configuration:

client --- Apache 2 ------ application_server ------ database

If you ARM instrument apache 2, application_server and database, it is possible for a centralized ARM 
collection point (that is not an official term btw) to have an end-to-end view of the life of an HTTP request 
flowing through the system, from the point it enters Apache 2 through the app server and database and back 
again. You can see precisely where the transaction spends most of its time (or even if the transaction 
completes properly or not).

So how does this work?  When Apache 2 is started, it registers its presence to an ARM client with a call to 
the following ARM4 APIs:

arm_register_application(), arm_register_transaction() and arm_start_application(), all called out of the 
child_init hook.

For each request that flows into the server, ARM APIs are called when the request is first received (to note 
the time of the request and to assign a unique identifier or correlator to the request) and when the request 
is finished (post_read_request and logger phase respectively in this particular implementation).  The 
correlator is passed on to application_server via an HTTP header (ARM_CORRELATOR for now, don't remember if I 
made this configurable or if it is part of the spec...).  If appliocation_server sees an ARM_CORRELATOR, it 
can use this correlator on a call to its ARM client to register recipt of the request (and time of recipt). 
database can do the same. The ARM clients can communicate the instrumentation data that they collect to a 
central collection point where the data can be displayed. The ARM_CORRELATOR enables the ability of doing the 
end-2-end view. ARM is not an architecture for controlling applications.

Hopefully that explanation gives you a rough feel for what ARM is all about.

The source code is not much more difficult than the explanation above (need ablity to stringify correlators 
for addition to HTTP header fields, ability to load arbitrary arm4lib DSOs, etc. All pretty much boilerplate 
stuff.).



Re: ARM4 module for Apache 2, any interest?

Posted by Paul Querna <ch...@force-elite.com>.
So, after a quick look at the website, it looks like ARM4 is some sort
of SNMP on Steroids?

Also, the License is quite important for any possibility of donating any
module to the ASF....  I think that needs to be pinned down before any
discussion can really move forward.

Finally, can you explain what the ARM4 Module does in Apache 2?  It just
exposes Apache to the ARM4 management tools? Performance Stats? Makes
ASCII Art of Gnomes? I need some more details before I even want to read
the source code.

-Paul Querna

On Wed, 2004-08-11 at 12:29 -0400, Bill Stoddard wrote:
> I've written a module to ARM4 instrument Apache 2. I'd like to donate this module to the ASF and ideally put 
> it in the modules/experimental directory (or somewhere else in the ASF where we can place it under cvs 
> control?). The ARM4 API headers are available from the Open Group website at 
> http://www.opengroup.org/tech/management/arm/ (I have not checked the license lately. My assumption is that 
> the license is not too restrictive, though I could be wrong). I've heard rumors that HP may be making an ARM4 
>   SDK publically available "real soon now".
> 
> I would sign on to support the module if we put it in httpd-2.0 modules/experimental. Anyone interested?
> 
> Bill
> 
>