Revert "Remove deprecated profiling config parameters, clarify docs"
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 4 Dec 2014 21:40:13 +0000 (21:40 +0000)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 4 Dec 2014 21:40:13 +0000 (21:40 +0000)
StatCounter still needs $wgUDPProfilerHost.

This reverts commit 88c42dc1df93533286dfbe969631403f77958dca.

Change-Id: I4a56f6fb6bc454d15a9dc752f45dfb29b2b47a84

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 e2449c1..ce825e5 100644 (file)
@@ -19,15 +19,8 @@ production.
 * (T74951) The UserGetLanguageObject hook may be passed any IContextSource
   for its $context parameter. Formerly it was documented as receiving a
   RequestContext specifically.
-* 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.
+* Profiling was restructured and $wgProfiler now requires an 'output' parameter.
   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 fad43b5..d20c0e1 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. 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.
+ * maintenance/archives/patch-profiling.sql to your database.
  *
  * For a rudimentary sampling profiler:
  *   $wgProfiler['class'] = 'ProfilerStandard';
index 8a1aa47..e644e09 100644 (file)
@@ -5370,11 +5370,58 @@ $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 1777e43..f61de7e 100644 (file)
@@ -453,6 +453,11 @@ 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 e59b09e..2be142f 100644 (file)
@@ -77,7 +77,6 @@ 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 5efb3ab..ab42802 100644 (file)
@@ -33,10 +33,13 @@ 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 e8a73e0..d5c7e5c 100644 (file)
@@ -40,18 +40,25 @@ 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;
                }
        }