[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Shows database lag 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @file 21 * @ingroup Maintenance 22 */ 23 24 require_once __DIR__ . '/Maintenance.php'; 25 26 /** 27 * Maintenance script to show database lag. 28 * 29 * @ingroup Maintenance 30 */ 31 class DatabaseLag extends Maintenance { 32 public function __construct() { 33 parent::__construct(); 34 $this->mDescription = "Shows database lag"; 35 $this->addOption( 'r', "Don't exit immediately, but show the lag every 5 seconds" ); 36 } 37 38 public function execute() { 39 if ( $this->hasOption( 'r' ) ) { 40 $lb = wfGetLB(); 41 echo 'time '; 42 43 $serverCount = $lb->getServerCount(); 44 for ( $i = 1; $i < $serverCount; $i++ ) { 45 $hostname = $lb->getServerName( $i ); 46 printf( "%-12s ", $hostname ); 47 } 48 echo "\n"; 49 50 while ( 1 ) { 51 $lb->clearLagTimeCache(); 52 $lags = $lb->getLagTimes(); 53 unset( $lags[0] ); 54 echo gmdate( 'H:i:s' ) . ' '; 55 foreach ( $lags as $lag ) { 56 printf( "%-12s ", $lag === false ? 'false' : $lag ); 57 } 58 echo "\n"; 59 sleep( 5 ); 60 } 61 } else { 62 $lb = wfGetLB(); 63 $lags = $lb->getLagTimes(); 64 foreach ( $lags as $i => $lag ) { 65 $name = $lb->getServerName( $i ); 66 $this->output( sprintf( "%-20s %s\n", $name, $lag === false ? 'false' : $lag ) ); 67 } 68 } 69 } 70 } 71 72 $maintClass = "DatabaseLag"; 73 require_once RUN_MAINTENANCE_IF_MAIN;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |