* (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
* $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';
*/
$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
*/
$wgDebugLogGroups['ratelimit'] = $wgRateLimitLog;
}
-if ( $wgProfileOnly ) {
- $wgDebugLogGroups['profileoutput'] = $wgDebugLogFile;
- $wgDebugLogFile = '';
-}
-
wfProfileOut( $fname . '-defaults' );
// Disable MWDebug for command line mode, this prevents MWDebug from eating up
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() );
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;
}
}
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;
}
}