You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Stas Bekman <st...@stason.org> on 2003/12/09 01:12:20 UTC
completing 2.0 scoreboard data set
We still lack several things from the scoreboard to provide a compelete status
- httpd 2.0 doesn't maintain start/stop times in the extended status mode
This feature was lost during the transition to 2.0. This breaks tools that
relied on these features in httpd 1.3. Jim has promised to look at it 2 months
ago, but I suppose that he didn't have the tuits to do that.
- while vhost info was added, it doesn't contain the port info, rendering the
vhost record useless for the non named vhosts.
any objections to adding it? Should it be in a separate record (port) or
should we just concat vhost name and port together? "name:port"?
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: completing 2.0 scoreboard data set
Posted by Jeff Trawick <tr...@attglobal.net>.
gregames@apache.org wrote:
> Jeff Trawick wrote:
>
>> Also, should we be allowing modules to look at the scoreboard
>> structures directly, or indexing into the scoreboard arrays directly?
>> If the latter were avoided, at least we could add fields to the end of
>> process_score or worker_score without hurting modules (okay to require
>> MPMs to be recompiled until such time that they can be dynamically
>> loaded).
>
>
> we've got accessor functions - ap_get_scoreboard_(worker|parent|global)
> - which look correct. Why not require non-MPM modules to use those?
and MPMs would have to declare AP_MPM_PRIVATE before including scoreboard.h in
order to see the declarations required to access the structures directly
Re: completing 2.0 scoreboard data set
Posted by gr...@apache.org.
Jeff Trawick wrote:
> (Lots of structures aren't arranged to minimize or make available for
> future use the inevitable padding, but the scoreboard is one where we
> potentally have a great number of them in shared memory and also where
> changing the size of the structure can break some modules.)
>
> Also, should we be allowing modules to look at the scoreboard structures
> directly, or indexing into the scoreboard arrays directly? If the
> latter were avoided, at least we could add fields to the end of
> process_score or worker_score without hurting modules (okay to require
> MPMs to be recompiled until such time that they can be dynamically loaded).
we've got accessor functions - ap_get_scoreboard_(worker|parent|global) - which
look correct. Why not require non-MPM modules to use those?
There shouldn't be a noticable performance hit. I'm assuming
ap_update_child_status* would continue to access the structures directly, which
won't be a problem if the base server is recompiled when the scoreboard
structures change.
Greg
Re: completing 2.0 scoreboard data set
Posted by Jeff Trawick <tr...@attglobal.net>.
Stas Bekman wrote:
> - httpd 2.0 doesn't maintain start/stop times in the extended status mode
add it
> - while vhost info was added, it doesn't contain the port info,
> rendering the vhost record useless for the non named vhosts.
>
> any objections to adding it?
none from me
> Should it be in a separate record (port)
I'd vote for a separate field.
--/--
barely related jabber:
Note that the scoreboard data structures are screwed up w.r.t. padding
currently. It is hard to justify adding fields to 2.0 to use some of the
implicit padding because theoretically there may be some platform I can't test
that doesn't insert padding and I could break binary compatibility. For
2.1-dev it would be nice to rearrange the fields to minimize padding and, where
we can show there is padding on common platforms, insert reserved fields that
we can potentially start using later without breaking binary compatibility.
(Lots of structures aren't arranged to minimize or make available for future
use the inevitable padding, but the scoreboard is one where we potentally have
a great number of them in shared memory and also where changing the size of the
structure can break some modules.)
Also, should we be allowing modules to look at the scoreboard structures
directly, or indexing into the scoreboard arrays directly? If the latter were
avoided, at least we could add fields to the end of process_score or
worker_score without hurting modules (okay to require MPMs to be recompiled
until such time that they can be dynamically loaded).