Kill NamespaceCompat. Nothing, anywhere (not even comments, since r70692) still refer...
[lhc/web/wiklou.git] / maintenance / lag.php
1 <?php
2
3 /**
4 * Shows database lag
5 *
6 * @ingroup Maintenance
7 */
8
9 require_once( dirname( __FILE__ ) . '/Maintenance.php' );
10
11 class DatabaseLag extends Maintenance {
12 public function __construct() {
13 parent::__construct();
14 $this->mDescription = "Shows database lag";
15 $this->addOption( 'r', "Don't exit immediately, but show the lag every 5 seconds" );
16 }
17
18 public function execute() {
19 if ( $this->hasOption( 'r' ) ) {
20 $lb = wfGetLB();
21 echo 'time ';
22 for ( $i = 1; $i < $lb->getServerCount(); $i++ ) {
23 $hostname = $lb->getServerName( $i );
24 printf( "%-12s ", $hostname );
25 }
26 echo "\n";
27
28 while ( 1 ) {
29 $lb->clearLagTimeCache();
30 $lags = $lb->getLagTimes();
31 unset( $lags[0] );
32 echo gmdate( 'H:i:s' ) . ' ';
33 foreach ( $lags as $i => $lag ) {
34 printf( "%-12s " , $lag === false ? 'false' : $lag );
35 }
36 echo "\n";
37 sleep( 5 );
38 }
39 } else {
40 $lb = wfGetLB();
41 $lags = $lb->getLagTimes();
42 foreach ( $lags as $i => $lag ) {
43 $name = $lb->getServerName( $i );
44 $this->output( sprintf( "%-20s %s\n" , $name, $lag === false ? 'false' : $lag ) );
45 }
46 }
47 }
48 }
49
50 $maintClass = "DatabaseLag";
51 require_once( DO_MAINTENANCE );