Stop using $wgProfileToDatabase
Was not completely removed and the remaining bits were mostly broken. $wgProfiler['output'] = 'db' is the proper way. Fixes T75917 Change-Id: I36565e2372db2ed49b219cf533ec433e8111c52f
This commit is contained in:
parent
2e2958d6d9
commit
dbca12bf93
6 changed files with 42 additions and 25 deletions
|
|
@ -34,7 +34,7 @@ Primary scripts:
|
|||
To save the profiling information in the database (required to use this
|
||||
script), you have to modify StartProfiler.php to use the Profiler class and
|
||||
not the stub profiler which is enabled by default.
|
||||
You will also need to set $wgProfileToDatabase to true in LocalSettings.php
|
||||
You will also need to set $wgProfiler['output'] to 'db' in LocalSettings.php
|
||||
to force the profiler to save the informations in the database and apply the
|
||||
maintenance/archives/patch-profiling.sql patch to the database.
|
||||
|
||||
|
|
|
|||
|
|
@ -1058,6 +1058,31 @@ abstract class DatabaseUpdater {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable profiling table when it's turned on
|
||||
*/
|
||||
protected function doEnableProfiling() {
|
||||
global $wgProfiler;
|
||||
|
||||
if ( !$this->doTable( 'profiling' ) ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$profileToDb = false;
|
||||
if ( isset( $wgProfiler['output'] ) ) {
|
||||
$out = $wgProfiler['output'];
|
||||
if ( $out === 'db' ) {
|
||||
$profileToDb = true;
|
||||
} elseif( is_array( $out ) && in_array( 'db', $out ) ) {
|
||||
$profileToDb = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $profileToDb && !$this->db->tableExists( 'profiling', __METHOD__ ) ) {
|
||||
$this->applyPatch( 'patch-profiling.sql', false, 'Add profiling table' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebuilds the localisation cache
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -924,18 +924,6 @@ class MysqlUpdater extends DatabaseUpdater {
|
|||
}
|
||||
}
|
||||
|
||||
protected function doEnableProfiling() {
|
||||
global $wgProfileToDatabase;
|
||||
|
||||
if ( !$this->doTable( 'profiling' ) ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( $wgProfileToDatabase === true && !$this->db->tableExists( 'profiling', __METHOD__ ) ) {
|
||||
$this->applyPatch( 'patch-profiling.sql', false, 'Add profiling table' );
|
||||
}
|
||||
}
|
||||
|
||||
protected function doMaybeProfilingMemoryUpdate() {
|
||||
if ( !$this->doTable( 'profiling' ) ) {
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -168,11 +168,4 @@ class SqliteUpdater extends DatabaseUpdater {
|
|||
$this->output( "...fulltext search table appears to be in order.\n" );
|
||||
}
|
||||
}
|
||||
|
||||
protected function doEnableProfiling() {
|
||||
global $wgProfileToDatabase;
|
||||
if ( $wgProfileToDatabase === true && !$this->db->tableExists( 'profiling', __METHOD__ ) ) {
|
||||
$this->applyPatch( 'patch-profiling.sql', false, 'Add profiling table' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
ini_set( 'zlib.output_compression', 'off' );
|
||||
|
||||
$wgEnableProfileInfo = $wgProfileToDatabase = false;
|
||||
$wgEnableProfileInfo = false;
|
||||
require __DIR__ . '/includes/WebStart.php';
|
||||
|
||||
header( 'Content-Type: text/html; charset=utf-8' );
|
||||
|
|
@ -149,8 +149,8 @@ $dbr = wfGetDB( DB_SLAVE );
|
|||
|
||||
if ( !$dbr->tableExists( 'profiling' ) ) {
|
||||
echo '<p>No <code>profiling</code> table exists, so we can\'t show you anything.</p>'
|
||||
. '<p>If you want to log profiling data, enable <code>$wgProfileToDatabase</code>'
|
||||
. ' in your LocalSettings.php and run <code>maintenance/update.php</code> to'
|
||||
. '<p>If you want to log profiling data, enable <code>$wgProfiler[\'output\'] = \'db\'</code>'
|
||||
. ' in your StartProfiler.php and run <code>maintenance/update.php</code> to'
|
||||
. ' create the profiling table.'
|
||||
. '</body></html>';
|
||||
exit( 1 );
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
|
|||
* @todo Currently only checks list of tables
|
||||
*/
|
||||
public function testUpgrades() {
|
||||
global $IP, $wgVersion, $wgProfileToDatabase;
|
||||
global $IP, $wgVersion, $wgProfiler;
|
||||
|
||||
// Versions tested
|
||||
$versions = array(
|
||||
|
|
@ -291,7 +291,18 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
|
|||
|
||||
$currentDB = new DatabaseSqliteStandalone( ':memory:' );
|
||||
$currentDB->sourceFile( "$IP/maintenance/tables.sql" );
|
||||
if ( $wgProfileToDatabase ) {
|
||||
|
||||
$profileToDb = false;
|
||||
if ( isset( $wgProfiler['output'] ) ) {
|
||||
$out = $wgProfiler['output'];
|
||||
if ( $out === 'db' ) {
|
||||
$profileToDb = true;
|
||||
} elseif( is_array( $out ) && in_array( 'db', $out ) ) {
|
||||
$profileToDb = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $profileToDb ) {
|
||||
$currentDB->sourceFile( "$IP/maintenance/sqlite/archives/patch-profiling.sql" );
|
||||
}
|
||||
$currentTables = $this->getTables( $currentDB );
|
||||
|
|
|
|||
Loading…
Reference in a new issue