open(PID, "/proc/$$/statm");
return (split(' ', <PID>))[5] * 4;
but I found that the overhead of handling every statement with DB::DB was far too high. I tried to adjust the script to use DB::sub and just record subroutine calls.
I need to include something in my DB::sub function that handles the recursion caused by the calls to $Q->pending etc. but so far I have failed to come up with a mechanism that both breaks the recursion and actually keeps on executing. Any suggestions would be appreciated.
my $handling = 0;
sub DB::sub {
return &$DB::sub if $handling;
$handling = 1;
scalar $Q->dequeue if $Q->pending > $OPTS{ LINES };
$Q->enqueue( $DB::sub );
$handling = 0;
return &$DB::sub;
}
|