Alx G wrote:
I'm running Apache 2.2.3, the conf has the following in it:
--
...
LoadModule perl_module modules/mod_perl.so
# Perl profiler
#
#<Perl>
# require Apache::DB;
# Apache::DB->init;
#</Perl>
PerlModule Apache::DProf
...
--
I tried with and without the commented stuff - as was suggested in this
thread.
I'm running prefork and have used DProf many times. I even wrote a
script to merge multiple tmon.out files, so you can see how your app is
doing in its normal environment.
The lack of recording happens when you don't do Apache::DB->init, and
you also need to explicitly create the 'dprof' directory in your apache
log directory, and make the apache user own it.
----------------------- perl config include:
<Perl>
require Apache::DB;
Apache::DB->init; # required otherwise very few subroutine calls get
captured
</Perl>
PerlModule Apache::DProf
----------------------- files:
(replace /var/log/httpd with your main log file path)
/var/log/httpd/dprof/ ********** you have to explicitly create this,
and make it owned by the apache user
/var/log/httpd/dprof/PID/tmon.out <----- output from a particular
process (where PID is the pid)
-----------------
Once you've let it run and made a few requests (make lots of requests so
any heavy startup code doesn't overshadow the real results, and so each
process gets a go), merge the tmon.out files using this script:
http://www.versatilia.com/downloads/merge-tmon-out.pl
(see top of file for usage)
hope that helps,
John