You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Tristan Greaves <tr...@extricate.org> on 2007/03/01 13:42:31 UTC

DProf - managing the tmon.out files

Hi,

I've got DProf working successfully on a development modperl server 
here.  It is producing tmon.out files as expected:

	proceed_id/tmon.out

Any given tmon.out file will contain all the timing information for all 
scripts run under that process ID.

However, we want to work on allowing easy profiling of individual scripts.

One way that comes to mind would be to limit the number of scripts that 
a mod_perl server will run to 1, before it reforks.  Not exactly 
efficient, but at least a single tmon.out file would contain one set of 
timing information.  A lot of files though...

In addition, we like having the single continous process up as it helps 
us spot any accidental variable persistance problems.

So, can anyone suggest any good ways of splitting up the tmon.out data 
into individual scripts?  Or is biting the bullet and running the 
"limiting" method the best way to go?

Thanks in advance,

Tris.


Re: DProf - managing the tmon.out files

Posted by Perrin Harkins <ph...@gmail.com>.
On 3/1/07, Philip M. Gollucci <pg...@p6m7g8.com> wrote:
> I don't think you have many other choices.  httpd -X or in the
> httpd.conf limit t he number of children to 1 and have 1 parent (prefork
> mpm obviously)

I agree, but I also don't see the point.  It's a development server,
so it should be possible to just hit one script repeatedly and then
shut down the server.  Profile output from hitting that one script 100
times is much better than output from hitting it once.  Hitting a
single time will give somewhat unpredictable results because of the
other things happening on the system at the same time.

- Perrin

Re: DProf - managing the tmon.out files

Posted by "Philip M. Gollucci" <pg...@p6m7g8.com>.
Tristan Greaves wrote:
> Hi,
> 
> I've got DProf working successfully on a development modperl server 
> here.  It is producing tmon.out files as expected:
> 
>     proceed_id/tmon.out
> 
> Any given tmon.out file will contain all the timing information for all 
> scripts run under that process ID.
> 
> However, we want to work on allowing easy profiling of individual scripts.
> 
> One way that comes to mind would be to limit the number of scripts that 
> a mod_perl server will run to 1, before it reforks.  Not exactly 
> efficient, but at least a single tmon.out file would contain one set of 
> timing information.  A lot of files though...
> 
> In addition, we like having the single continous process up as it helps 
> us spot any accidental variable persistance problems.
> 
> So, can anyone suggest any good ways of splitting up the tmon.out data 
> into individual scripts?  Or is biting the bullet and running the 
> "limiting" method the best way to go?
I don't think you have many other choices.  httpd -X or in the 
httpd.conf limit t he number of children to 1 and have 1 parent (prefork 
mpm obviously)

You can always collate the output of each dprofpp tmon.out (sum them)
but you won't be able to isolate one script from another.


-- 
------------------------------------------------------------------------
Philip M. Gollucci (pgollucci@p6m7g8.com) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/EC88A0BF 0DE5 C55C 6BF3 B235 2DAB  B89E 1324 9B4F EC88 A0BF

I never had a dream come true
'Til the day that I found you.
Even though I pretend that I've moved on
You'll always be my baby.
I never found the words to say
You're the one I think about each day
And I know no matter where life takes me to
A part of me will always be...
A part of me will always be with you.