Remove deprecated profiling config parameters, clarify docs
authorChad Horohoe <chadh@wikimedia.org>
Thu, 4 Dec 2014 16:47:34 +0000 (08:47 -0800)
committerChad Horohoe <chadh@wikimedia.org>
Thu, 4 Dec 2014 20:51:19 +0000 (12:51 -0800)
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
StartProfiler.sample
includes/DefaultSettings.php
includes/Setup.php
includes/profiler/Profiler.php
includes/profiler/output/ProfilerOutputDb.php
includes/profiler/output/ProfilerOutputUdp.php

index ce825e5..e2449c1 100644 (file)
@@ -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
index d20c0e1..fad43b5 100644 (file)
  *  $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';
index e644e09..8a1aa47 100644 (file)
@@ -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
  */
index f61de7e..1777e43 100644 (file)
@@ -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
index 2be142f..e59b09e 100644 (file)
@@ -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() );
index ab42802..5efb3ab 100644 (file)
@@ -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;
                }
        }
 
index d5c7e5c..e8a73e0 100644 (file)
@@ -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;
                }
        }