Apache2::Statusã使ã£ã¦ã¿ã
mod_perlã§ã©ã®ãããã¡ã¢ãªã¼ä½¿ããã¦ããã¨ã調ã¹ããã£ãã®ã§Apache2::Statusã使ã£ã¦ã¿ãã
Shibuya.pmã®LTã«ãå«ãããã¨æã£ããã©5åã«æ¼ãè¾¼ããã®ã¯ç¡çãªã®ã§ããã§å
¬éã
ãã¹ã対象ã¨ãã¦CGI::Applicationã§
package HelloWorld; use strict; use warnings; use base 'CGI::Application'; sub setup { my $self = shift; $self->start_mode('index'); $self->run_modes( ['index']); } sub index { "HelloWorld"; } 1;
runã¹ã¯ãªããã¨ãã¦
#!/usr/bin/perl use strict; use warnings; use lib './lib'; use HelloWorld; HelloWorld->new->run;
ã¿ãããªã®ãä½ãã¾ãã
ã§ãhttpd.confã«
PerlSwitches -I/home/hide/public_html/bench/modperl/cgi-app/lib PerlModule HelloWorld <Location /~hide/bench/modperl> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> <Location /~hide/bench/modperl/cgi-app/run> SetHandler perl-script PerlHandler "sub { HelloWorld->new()->run();}" </Location>
ã追å ãã¦
- http://localhost/~hide/bench/modperl/cgi-app/helloworld.cgiã ã¨ModPerl::Registry
- http://localhost/~hide/bench/modperl/cgi-app/runã ã¨handler
çµç±ã§åãããã«ãã¦ä¸¡è ã®æ¯è¼ããã¾ãã
ããããApache2::Statusã®è¨å®ã§ãã
ã¾ããMemoryUsageãè¦ãããã«cpanã³ãã³ãã§B::TerseSizeãã¤ã³ã¹ãã¼ã«ãã¾ãã
httpd.confã«
<Location /perl-status> SetHandler modperl PerlOptions +GlobalRequest PerlResponseHandler Apache2::Status </Location> PerlSetVar StatusOptionsAll On
ã追å ãã¾ãã
httpdããªã¹ã¿ã¼ããã¦http://localhost/perl-statusãéãã¨
ãããªã¡ãã¥ã¼ãéãã¾ãã
ã§ã
- http://localhost/~hide/bench/modperl/cgi-app/helloworld.cgi
- http://localhost/~hide/bench/modperl/cgi-app/run
ããããä¸åã¥ã¤èµ°ããã¦ã³ã³ãã¤ã«/ãã¼ãããã¾ãã
Apache2::Statusã®ã¡ãã¥ã¼ãã[Compiled Registry Scripts]->[ModPerl::ROOT::ModPerl::Registry::home_hide_public_html_bench_modperl_cgi_2dapp_helloworld_2ecgi::handler]->[MemoryUsage]ã§ModPerl::Registryä¸ã§èµ°ãhelloworld.cgiã®æ
å ±ã表示ããã¾ãã
ãããªæãã
åæ§ã«[Loaded Modules]->[HelloWorld]->[MemoryUsage]ã§handlerçµç±ã®æ
å ±ã表示ããã¾ãã
ãããªæãã
ä»ã«ãMemoryUsageã ããããªãOP Treeã®è¡¨ç¤ºãDeparseãªã©ãè¦ãã¾ãã