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

Reply via email to