On Mon, 2004-02-23 at 20:34, Stas Bekman wrote: > Richard F. Rebel wrote: > > > Speaking of, does anyone know of a way to tell exactly how many > > interpreters are running in a given process? > > Sounds like a job for Apache::Status. Though it will need an API to query the > interpreter pools which AFAIK don't exist yet. Or may be it'll better suite > Apache::VMonitor http://search.cpan.org/dist/Apache-VMonitor/. At the moment > it will show you all the active threads for each process, though it won't tell > you which one is perl and which is not. > > Meanwhile if your interpreters pool is always growing and never get its items > killed you can cheat and count the number of started interpreters by defining > a function CLONE in some package, e.g. in httpd.conf:
Great hack Stas, but alas, I suspect(all right, I *know*) that there are
interpreters that are getting reaped in my situation. Is there a
similar magic BLOCK for gc like the 'CLONE' convention?
The CLONE special block should be documented somewhere, who shall I rag
at for that??
And if I( haven't said it b4, thanks for the hard work on mp2...
> <Perl>
> package My::InterpreterCounter;
> use threads;
> use threads::shared;
> my $counter : shared = 0;
> sub CLONE {
> lock $counter;
> $counter++;
> }
> sub END {
> print STDERR "$counter interpreters were started";
> }
> </Perl>
>
> this is untested... the special function CLONE is called every time a new perl
> interpreter is created (via perl_clone()). It can exist in any package.
>
> __________________________________________________________________
> Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/ mod_perl Guide ---> http://perl.apache.org
> mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org http://ticketmaster.com
--
Richard F. Rebel <[EMAIL PROTECTED]>
WhenU.com
signature.asc
Description: This is a digitally signed message part
