jenkins-bot has submitted this change and it was merged. Change subject: Remove old ProfilerOutputUdp class ......................................................................
Remove old ProfilerOutputUdp class This uses a non-standard output and requires a custom collector that wmf does not maintain nor use anymore. Change-Id: I41a68f7061465417fbdc5ca41f8eb6e1f99f1111 --- M RELEASE-NOTES-1.27 M autoload.php M includes/profiler/Profiler.php D includes/profiler/output/ProfilerOutputUdp.php 4 files changed, 3 insertions(+), 99 deletions(-) Approvals: Ori.livneh: Looks good to me, approved jenkins-bot: Verified diff --git a/RELEASE-NOTES-1.27 b/RELEASE-NOTES-1.27 index 617af0c..f8293b9 100644 --- a/RELEASE-NOTES-1.27 +++ b/RELEASE-NOTES-1.27 @@ -89,6 +89,7 @@ changes to languages because of Bugzilla reports. === Other changes in 1.27 === +* ProfilerOutputUdp was removed. Note that there is a ProfilerOutputStats class. == Compatibility == diff --git a/autoload.php b/autoload.php index b35b683..8720f33 100644 --- a/autoload.php +++ b/autoload.php @@ -954,7 +954,6 @@ 'ProfilerOutputDump' => __DIR__ . '/includes/profiler/output/ProfilerOutputDump.php', 'ProfilerOutputStats' => __DIR__ . '/includes/profiler/output/ProfilerOutputStats.php', 'ProfilerOutputText' => __DIR__ . '/includes/profiler/output/ProfilerOutputText.php', - 'ProfilerOutputUdp' => __DIR__ . '/includes/profiler/output/ProfilerOutputUdp.php', 'ProfilerSectionOnly' => __DIR__ . '/includes/profiler/ProfilerSectionOnly.php', 'ProfilerStub' => __DIR__ . '/includes/profiler/ProfilerStub.php', 'ProfilerXhprof' => __DIR__ . '/includes/profiler/ProfilerXhprof.php', diff --git a/includes/profiler/Profiler.php b/includes/profiler/Profiler.php index 9fd5a36..4d643bf 100644 --- a/includes/profiler/Profiler.php +++ b/includes/profiler/Profiler.php @@ -192,8 +192,8 @@ $outputs = array(); foreach ( $this->params['output'] as $outputType ) { // The class may be specified as either the full class name (for - // example, 'ProfilerOutputUdp') or (for backward compatibility) - // the trailing portion of the class name (for example, 'udp'). + // example, 'ProfilerOutputStats') or (for backward compatibility) + // the trailing portion of the class name (for example, 'stats'). $outputClass = strpos( $outputType, 'ProfilerOutput' ) === false ? 'ProfilerOutput' . ucfirst( $outputType ) : $outputType; diff --git a/includes/profiler/output/ProfilerOutputUdp.php b/includes/profiler/output/ProfilerOutputUdp.php deleted file mode 100644 index a562677..0000000 --- a/includes/profiler/output/ProfilerOutputUdp.php +++ /dev/null @@ -1,96 +0,0 @@ -<?php -/** - * Profiler sending messages over UDP. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Profiler - */ - -/** - * ProfilerSimpleUDP class, that sends out messages for 'udpprofile' daemon - * (see https://git.wikimedia.org/tree/operations%2Fsoftware.git/master/udpprofile) - * - * @ingroup Profiler - * @since 1.25 - */ -class ProfilerOutputUdp extends ProfilerOutput { - /** @var int port to send profiling data to */ - private $port = 3811; - - /** @var string host to send profiling data to */ - private $host = '127.0.0.1'; - - /** @var string format string for profiling data */ - 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 ) { - $sock = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); - $plength = 0; - $packet = ""; - foreach ( $stats as $pfdata ) { - $pfline = sprintf( $this->format, - $this->collector->getProfileID(), - $pfdata['calls'], - $pfdata['cpu'] / 1000, // ms => sec - 0.0, // sum of CPU^2 for each invocation (unused) - $pfdata['real'] / 1000, // ms => sec - 0.0, // sum of real^2 for each invocation (unused) - $pfdata['name'], - $pfdata['memory'] - ); - $length = strlen( $pfline ); - if ( $length + $plength > 1400 ) { - socket_sendto( $sock, $packet, $plength, 0, $this->host, $this->port ); - $packet = ""; - $plength = 0; - } - $packet .= $pfline; - $plength += $length; - } - socket_sendto( $sock, $packet, $plength, 0x100, $this->host, $this->port ); - } -} -- To view, visit https://gerrit.wikimedia.org/r/247971 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I41a68f7061465417fbdc5ca41f8eb6e1f99f1111 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits