From 88c42dc1df93533286dfbe969631403f77958dca Mon Sep 17 00:00:00 2001 From: Chad Horohoe Date: Thu, 4 Dec 2014 08:47:34 -0800 Subject: [PATCH] Remove deprecated profiling config parameters, clarify docs We've already broken profiling completely in this release. Make this abundantly clear in the RELEASE-NOTES and just remove the awful back-compat attempt from I2af28cd3 and I49c0a83e. Change-Id: Ib0b87192e2a6e87db19f7821906dd7b2063081e3 --- RELEASE-NOTES-1.25 | 9 +++- StartProfiler.sample | 6 ++- includes/DefaultSettings.php | 47 ------------------- includes/Setup.php | 5 -- includes/profiler/Profiler.php | 1 + includes/profiler/output/ProfilerOutputDb.php | 3 -- .../profiler/output/ProfilerOutputUdp.php | 7 --- 7 files changed, 14 insertions(+), 64 deletions(-) diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25 index ce825e553f..e2449c18fa 100644 --- a/RELEASE-NOTES-1.25 +++ b/RELEASE-NOTES-1.25 @@ -19,8 +19,15 @@ production. * (T74951) The UserGetLanguageObject hook may be passed any IContextSource for its $context parameter. Formerly it was documented as receiving a RequestContext specifically. -* Profiling was restructured and $wgProfiler now requires an 'output' parameter. +* BREAKING CHANGE: Profiling was restructured and $wgProfiler will require + reconfiguration. Notably, it now needs an 'output' parameter. Using normal + MediaWiki profiling requires setting the class to 'ProfilerStandard.' + Xhprof-backed profiling is also now available. See StartProfiler.sample for details. +* BREAKING CHANGE: $wgProfilePerHost, $wgUDPProfilerHost, $wgUDPProfilerPort + and $wgUDPProfilerFormatString have been removed in favor of similar parameters + to $wgProfiler. See StartProfiler.sample for details. +* $wgProfileOnly was removed, deprecated in 1.23 * $wgMangleFlashPolicy was added to make MediaWiki's mangling of anything that might be a flash policy directive configurable. * ApiOpenSearch now supports XML output. The OpenSearchXml extension should no diff --git a/StartProfiler.sample b/StartProfiler.sample index d20c0e1bd9..fad43b5699 100644 --- a/StartProfiler.sample +++ b/StartProfiler.sample @@ -19,7 +19,11 @@ * $wgProfiler['visible'] = true; * * The 'db' output expects a database table that can be created by applying - * maintenance/archives/patch-profiling.sql to your database. + * maintenance/archives/patch-profiling.sql to your database. You can also + * set $wgProfiler['perHost'] to true to store this data on a per-host basis. + * + * 'udp' also has additional parameters of 'udphost', 'udpport' and 'udpformat' + * for the destination host, port and line format. * * For a rudimentary sampling profiler: * $wgProfiler['class'] = 'ProfilerStandard'; diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index e644e09884..8a1aa47a12 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5370,58 +5370,11 @@ $wgDeprecationReleaseLimit = false; */ $wgProfileLimit = 0.0; -/** - * Don't put non-profiling info into log file - * - * @deprecated since 1.23, set the log file in - * $wgDebugLogGroups['profileoutput'] instead. - */ -$wgProfileOnly = false; - /** * If true, print a raw call tree instead of per-function report */ $wgProfileCallTree = false; -/** - * Should application server host be put into profiling table - * - * @deprecated set $wgProfiler['perhost'] = true instead - */ -$wgProfilePerHost = null; - -/** - * Host for UDP profiler. - * - * The host should be running a daemon which can be obtained from MediaWiki - * Git at: - * http://git.wikimedia.org/tree/operations%2Fsoftware.git/master/udpprofile - * - * @deprecated set $wgProfiler['udphost'] instead - */ -$wgUDPProfilerHost = null; - -/** - * Port for UDP profiler. - * @see $wgUDPProfilerHost - * - * @deprecated set $wgProfiler['udpport'] instead - */ -$wgUDPProfilerPort = null; - -/** - * Format string for the UDP profiler. The UDP profiler invokes sprintf() with - * (profile id, count, cpu, cpu_sq, real, real_sq, entry name, memory) as - * arguments. You can use sprintf's argument numbering/swapping capability to - * repeat, re-order or omit fields. - * - * @see $wgStatsFormatString - * @since 1.22 - * - * @deprecated set $wgProfiler['udpformat'] instead - */ -$wgUDPProfilerFormatString = null; - /** * Output debug message on every wfProfileIn/wfProfileOut */ diff --git a/includes/Setup.php b/includes/Setup.php index f61de7eb6d..1777e43af5 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -453,11 +453,6 @@ if ( $wgRateLimitLog && !array_key_exists( 'ratelimit', $wgDebugLogGroups ) ) { $wgDebugLogGroups['ratelimit'] = $wgRateLimitLog; } -if ( $wgProfileOnly ) { - $wgDebugLogGroups['profileoutput'] = $wgDebugLogFile; - $wgDebugLogFile = ''; -} - wfProfileOut( $fname . '-defaults' ); // Disable MWDebug for command line mode, this prevents MWDebug from eating up diff --git a/includes/profiler/Profiler.php b/includes/profiler/Profiler.php index 2be142fc6c..e59b09e6e2 100644 --- a/includes/profiler/Profiler.php +++ b/includes/profiler/Profiler.php @@ -77,6 +77,7 @@ abstract class Profiler { if ( PHP_SAPI === 'cli' || mt_rand( 0, $factor - 1 ) != 0 ) { $class = 'ProfilerStub'; } + /** @var Profiler */ self::$__instance = new $class( $wgProfiler ); } else { self::$__instance = new ProfilerStub( array() ); diff --git a/includes/profiler/output/ProfilerOutputDb.php b/includes/profiler/output/ProfilerOutputDb.php index ab428027e9..5efb3ab241 100644 --- a/includes/profiler/output/ProfilerOutputDb.php +++ b/includes/profiler/output/ProfilerOutputDb.php @@ -33,13 +33,10 @@ class ProfilerOutputDb extends ProfilerOutput { public function __construct( Profiler $collector, array $params ) { parent::__construct( $collector, $params ); - global $wgProfilePerHost; // Initialize per-host profiling from config, back-compat if available if ( isset( $this->params['perHost'] ) ) { $this->perHost = $this->params['perHost']; - } elseif( $wgProfilePerHost ) { - $this->perHost = $wgProfilePerHost; } } diff --git a/includes/profiler/output/ProfilerOutputUdp.php b/includes/profiler/output/ProfilerOutputUdp.php index d5c7e5c54f..e8a73e086a 100644 --- a/includes/profiler/output/ProfilerOutputUdp.php +++ b/includes/profiler/output/ProfilerOutputUdp.php @@ -40,25 +40,18 @@ class ProfilerOutputUdp extends ProfilerOutput { public function __construct( Profiler $collector, array $params ) { parent::__construct( $collector, $params ); - global $wgUDPProfilerPort, $wgUDPProfilerHost, $wgUDPProfilerFormatString; // Initialize port, host, and format from config, back-compat if available if ( isset( $this->params['udpport'] ) ) { $this->port = $this->params['udpport']; - } elseif( $wgUDPProfilerPort ) { - $this->port = $wgUDPProfilerPort; } if ( isset( $this->params['udphost'] ) ) { $this->host = $this->params['udphost']; - } elseif( $wgUDPProfilerHost ) { - $this->host = $wgUDPProfilerHost; } if ( isset( $this->params['udpformat'] ) ) { $this->format = $this->params['udpformat']; - } elseif( $wgUDPProfilerFormatString ) { - $this->format = $wgUDPProfilerFormatString; } } -- 2.20.1