RSS | Module Info | Add a review of Devel-Leak-Object

8 out of 8 found this review helpful:

Devel-Leak-Object (0.90) *****

This module is incredibly helpful. I've been tracking down a memory leak in Angerwhale for a while now, and wasn't satisfied with the existing tools (so I started writing my own). I saw this module on use perl, loaded it into my application like:

ANGERWHALE_EXIT_OK=1 perl -MDevel::Leak::Object=GLOBAL_bless script/angerwhale_server.pl -d

Ran a few requests against the app:

ab -n 100 http://localhost:3000/

And found the problem within about 30 seconds.

Turns out that scalar::defer::lazy was closing over my Catalyst model on each request and never freeing itself. So I was leaking basically my whole application on every request. Ouch. (In case you want to know how it ends, I rewrote the deferred evaluation bit with my own code, because Scalar::Defer was A Bit Too Magical For Me (tm)).

Anyway, this module gave me a good idea on what was leaking and how badly, and pointed me at the problem almost immediately. Highly recommended.

Jonathan T. Rockway - 2007-08-30 01:24:58
Was this review helpful to you?  Yes No


the camel