X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2Fstats.php;h=46926dd07be3249617c0012002a12a23ad4e02e8;hb=73994ed5968b127eead3f0f0d6571c289b557abe;hp=e20c345a93afbf34798e379a786c158f39400590;hpb=567f244e3611c9e020bc69446a77a10c21257f84;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/stats.php b/maintenance/stats.php index e20c345a93..46926dd07b 100644 --- a/maintenance/stats.php +++ b/maintenance/stats.php @@ -20,70 +20,81 @@ * @ingroup Maintenance */ -require_once( dirname(__FILE__) . '/Maintenance.php' ); +require_once( dirname( __FILE__ ) . '/Maintenance.php' ); class CacheStats extends Maintenance { public function __construct() { $this->mDescription = "Show statistics from the cache"; + parent::__construct(); + } + + public function getDbType() { + return Maintenance::DB_NONE; } public function execute() { global $wgMemc; - - // Can't do stats if - if( get_class( $wgMemc ) == 'FakeMemCachedClient' ) { - $this->error( "You are running FakeMemCachedClient, I can not provide any statistics.", true ); + + // Can't do stats if + if ( get_class( $wgMemc ) == 'EmptyBagOStuff' ) { + $this->error( "You are running EmptyBagOStuff, I can not provide any statistics.", true ); } - $session = intval($wgMemc->get(wfMemcKey('stats','request_with_session'))); - $noSession = intval($wgMemc->get(wfMemcKey('stats','request_without_session'))); + $session = intval( $wgMemc->get( wfMemcKey( 'stats', 'request_with_session' ) ) ); + $noSession = intval( $wgMemc->get( wfMemcKey( 'stats', 'request_without_session' ) ) ); $total = $session + $noSession; if ( $total == 0 ) { $this->error( "You either have no stats or the cache isn't running. Aborting.", true ); } $this->output( "Requests\n" ); - $this->output( sprintf( "with session: %-10d %6.2f%%\n", $session, $session/$total*100 ) ); - $this->output( sprintf( "without session: %-10d %6.2f%%\n", $noSession, $noSession/$total*100 ) ); + $this->output( sprintf( "with session: %-10d %6.2f%%\n", $session, $session / $total * 100 ) ); + $this->output( sprintf( "without session: %-10d %6.2f%%\n", $noSession, $noSession / $total * 100 ) ); $this->output( sprintf( "total: %-10d %6.2f%%\n", $total, 100 ) ); - - + + $this->output( "\nParser cache\n" ); - $hits = intval($wgMemc->get(wfMemcKey('stats','pcache_hit'))); - $invalid = intval($wgMemc->get(wfMemcKey('stats','pcache_miss_invalid'))); - $expired = intval($wgMemc->get(wfMemcKey('stats','pcache_miss_expired'))); - $absent = intval($wgMemc->get(wfMemcKey('stats','pcache_miss_absent'))); - $stub = intval($wgMemc->get(wfMemcKey('stats','pcache_miss_stub'))); - $total = $hits + $invalid + $expired + $absent + $stub; - $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits/$total*100 ) ); - $this->output( sprintf( "invalid: %-10d %6.2f%%\n", $invalid, $invalid/$total*100 ) ); - $this->output( sprintf( "expired: %-10d %6.2f%%\n", $expired, $expired/$total*100 ) ); - $this->output( sprintf( "absent: %-10d %6.2f%%\n", $absent, $absent/$total*100 ) ); - $this->output( sprintf( "stub threshold: %-10d %6.2f%%\n", $stub, $stub/$total*100 ) ); - $this->output( sprintf( "total: %-10d %6.2f%%\n", $total, 100 ) ); - - $hits = intval($wgMemc->get(wfMemcKey('stats','image_cache_hit'))); - $misses = intval($wgMemc->get(wfMemcKey('stats','image_cache_miss'))); - $updates = intval($wgMemc->get(wfMemcKey('stats','image_cache_update'))); + $hits = intval( $wgMemc->get( wfMemcKey( 'stats', 'pcache_hit' ) ) ); + $expired = intval( $wgMemc->get( wfMemcKey( 'stats', 'pcache_miss_expired' ) ) ); + $absent = intval( $wgMemc->get( wfMemcKey( 'stats', 'pcache_miss_absent' ) ) ); + $stub = intval( $wgMemc->get( wfMemcKey( 'stats', 'pcache_miss_stub' ) ) ); + $total = $hits + $expired + $absent + $stub; + if ( $total ) { + $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits / $total * 100 ) ); + $this->output( sprintf( "expired: %-10d %6.2f%%\n", $expired, $expired / $total * 100 ) ); + $this->output( sprintf( "absent: %-10d %6.2f%%\n", $absent, $absent / $total * 100 ) ); + $this->output( sprintf( "stub threshold: %-10d %6.2f%%\n", $stub, $stub / $total * 100 ) ); + $this->output( sprintf( "total: %-10d %6.2f%%\n", $total, 100 ) ); + } else { + $this->output( "no statistics available\n" ); + } + + $this->output( "\nImage cache\n" ); + $hits = intval( $wgMemc->get( wfMemcKey( 'stats', 'image_cache_hit' ) ) ); + $misses = intval( $wgMemc->get( wfMemcKey( 'stats', 'image_cache_miss' ) ) ); + $updates = intval( $wgMemc->get( wfMemcKey( 'stats', 'image_cache_update' ) ) ); $total = $hits + $misses; - $this->output("\nImage cache\n"); - $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits/$total*100 ) ); - $this->output( sprintf( "misses: %-10d %6.2f%%\n", $misses, $misses/$total*100 ) ); - $this->output( sprintf( "updates: %-10d\n", $updates ) ); - - $hits = intval($wgMemc->get(wfMemcKey('stats','diff_cache_hit'))); - $misses = intval($wgMemc->get(wfMemcKey('stats','diff_cache_miss'))); - $uncacheable = intval($wgMemc->get(wfMemcKey('stats','diff_uncacheable'))); + if ( $total ) { + $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits / $total * 100 ) ); + $this->output( sprintf( "misses: %-10d %6.2f%%\n", $misses, $misses / $total * 100 ) ); + $this->output( sprintf( "updates: %-10d\n", $updates ) ); + } else { + $this->output( "no statistics available\n" ); + } + + $this->output( "\nDiff cache\n" ); + $hits = intval( $wgMemc->get( wfMemcKey( 'stats', 'diff_cache_hit' ) ) ); + $misses = intval( $wgMemc->get( wfMemcKey( 'stats', 'diff_cache_miss' ) ) ); + $uncacheable = intval( $wgMemc->get( wfMemcKey( 'stats', 'diff_uncacheable' ) ) ); $total = $hits + $misses + $uncacheable; - $this->output("\nDiff cache\n"); - $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits/$total*100 ) ); - $this->output( sprintf( "misses: %-10d %6.2f%%\n", $misses, $misses/$total*100 ) ); - $this->output( sprintf( "uncacheable: %-10d %6.2f%%\n", $uncacheable, $uncacheable/$total*100 ) ); + if ( $total ) { + $this->output( sprintf( "hits: %-10d %6.2f%%\n", $hits, $hits / $total * 100 ) ); + $this->output( sprintf( "misses: %-10d %6.2f%%\n", $misses, $misses / $total * 100 ) ); + $this->output( sprintf( "uncacheable: %-10d %6.2f%%\n", $uncacheable, $uncacheable / $total * 100 ) ); + } else { + $this->output( "no statistics available\n" ); + } } } $maintClass = "CacheStats"; -require_once( DO_MAINTENANCE ); - - - - +require_once( RUN_MAINTENANCE_IF_MAIN );