Chad has uploaded a new change for review. https://gerrit.wikimedia.org/r/177277
Change subject: Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString ...................................................................... Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString All can be passed as options to $wgProfiler now. Change-Id: I49c0a83e0d386be0f66d6703fc358089e4b1f59f --- M includes/DefaultSettings.php M includes/profiler/output/ProfilerOutputUdp.php 2 files changed, 40 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/77/177277/1 diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 7523193..7e23763 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5387,14 +5387,18 @@ * 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 = '127.0.0.1'; +$wgUDPProfilerHost = null; /** * Port for UDP profiler. * @see $wgUDPProfilerHost + * + * @deprecated set $wgProfiler['udpport'] instead */ -$wgUDPProfilerPort = '3811'; +$wgUDPProfilerPort = null; /** * Format string for the UDP profiler. The UDP profiler invokes sprintf() with @@ -5404,8 +5408,10 @@ * * @see $wgStatsFormatString * @since 1.22 + * + * @deprecated set $wgProfiler['udpformat'] instead */ -$wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n"; +$wgUDPProfilerFormatString = null; /** * Output debug message on every wfProfileIn/wfProfileOut diff --git a/includes/profiler/output/ProfilerOutputUdp.php b/includes/profiler/output/ProfilerOutputUdp.php index a938861..c1cfbcb 100644 --- a/includes/profiler/output/ProfilerOutputUdp.php +++ b/includes/profiler/output/ProfilerOutputUdp.php @@ -29,19 +29,45 @@ * @since 1.25 */ class ProfilerOutputUdp extends ProfilerOutput { + private $port = 3811; + private $host = '127.0.0.1'; + private $format = "%s - %d %f %f %f %f %s\n" + + 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; + } + } + public function canUse() { # Sockets are not enabled return function_exists( 'socket_create' ); } public function log( array $stats ) { - global $wgUDPProfilerHost, $wgUDPProfilerPort, $wgUDPProfilerFormatString; - $sock = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); $plength = 0; $packet = ""; foreach ( $stats as $pfdata ) { - $pfline = sprintf( $wgUDPProfilerFormatString, + $pfline = sprintf( $this->format, $this->collector->getProfileID(), $pfdata['calls'], $pfdata['cpu'] / 1000, // ms => sec @@ -53,13 +79,13 @@ ); $length = strlen( $pfline ); if ( $length + $plength > 1400 ) { - socket_sendto( $sock, $packet, $plength, 0, $wgUDPProfilerHost, $wgUDPProfilerPort ); + socket_sendto( $sock, $packet, $plength, 0, $this->host, $this->port ); $packet = ""; $plength = 0; } $packet .= $pfline; $plength += $length; } - socket_sendto( $sock, $packet, $plength, 0x100, $wgUDPProfilerHost, $wgUDPProfilerPort ); + socket_sendto( $sock, $packet, $plength, 0x100, $this->host, $this->port ); } } -- To view, visit https://gerrit.wikimedia.org/r/177277 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I49c0a83e0d386be0f66d6703fc358089e4b1f59f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Chad <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
