* (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
* $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';
*/
$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;
}
}