Show
Ignore:
Timestamp:
02/14/08 22:31:01 (22 months ago)
Author:
bchoate
Message:

Initial work for performance logging.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/release-30/lib/MT/Core.pm

    r1369 r1372  
    499499            # Basename settings 
    500500            'AuthorBansenameLimit' => { default => 30 }, 
     501            'PerformanceLogging' => { default => 0 }, 
     502            'PerformanceLoggingThreshold' => { default => 0.1 }, 
     503            'ProcessMemoryCommand' => { handler => \&ProcessMemoryCommand }, 
    501504        }, 
    502505        upgrade_functions => \&load_upgrade_fns, 
     
    801804} 
    802805 
     806sub ProcessMemoryCommand { 
     807    my $cfg = shift; 
     808    $cfg->set_internal( 'ProcessMemoryCommand', @_ ) if @_; 
     809    my $cmd = $cfg->get_internal('ProcessMemoryCommand'); 
     810    unless ($cmd) { 
     811        my $os = $^O; 
     812        if ($os eq 'darwin') { 
     813            $cmd = 'ps $$ -o rss='; 
     814        } 
     815        elsif ($os eq 'linux') { 
     816            $cmd = 'ps -p $$ -o rss='; 
     817        } 
     818        elsif ($os eq 'MSWin32') { 
     819            $cmd = { command => q{tasklist /FI "PID eq $$" /FO TABLE /NH}, 
     820                regex => qr/([\d,]+) K/ }; 
     821        } 
     822    } 
     823    return $cmd; 
     824} 
     825 
    803826sub SecretToken { 
    804827    my $cfg = shift;