On Fri, 12 Oct 2007 11:39:20 -0700
Carlos <[EMAIL PROTECTED]> wrote:

> I RTFCd and got this:
> 
>     $objects_out.puts "run,classname,last,count,delta,lenmean,lensd,lenmax"
> 
> So,
> run: a serial number of the request
> classname: obvious
> last: number of object from previous run
> count: number of objects in this run
> delta: last - count
> lenmean: average length of object
> lensd: std deviation
> lenmax: largest-seen (or maybe largest-existing?) object of this class
> 
> Right?

Yep, except len(mean|sd|max) are used for objects that report a length, and 
that header should be created if the file is first created.  You must have 
truncated it at some point.

How you use this file is you run a *sequential* number of hits and do it in 
*production* mode.  When it's done you load it into a spreadsheet or R or some 
Ruby and you look for the following:

1) Any class which seems to have a count who's delta mean isn't close to 0 for 
all runs.  A leak can actually be defined in a GC language as: any class who's 
object count delta over time do not have a mean of 0.
2) Any class who's average length or sd.dev length is gigantic (send_file 
anyone?).
3) Any classes who have a mean of 0, but have a sd.dev that's massive.  This 
shows poor GC management since it's a huge number of object being created and 
destroyed.
4) Any other column that for any class seems to be not like the others.

Also look at bleakhouse.

-- 
Zed A. Shaw
- Hate: http://savingtheinternetwithhate.com/
- Good: http://www.zedshaw.com/
- Evil: http://yearofevil.com/
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to