use Liuggio\StatsdClient\Sender\SocketSender;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Session\SessionManager;
+use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\DBReplicationWaitError;
$statsdSender = new SocketSender( $statsdHost, $statsdPort );
$statsdClient = new SamplingStatsdClient( $statsdSender, true, false );
$statsdClient->setSamplingRates( $config->get( 'StatsdSamplingRates' ) );
- $statsdClient->send( $context->getStats()->getBuffer() );
+ $statsdClient->send(
+ MediaWikiServices::getInstance()->getStatsdDataFactory()->getBuffer()
+ );
} catch ( Exception $ex ) {
MWExceptionHandler::logException( $ex );
}
* @return void
*/
function wfIncrStats( $key, $count = 1 ) {
- $stats = RequestContext::getMain()->getStats();
+ $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
$stats->updateCount( $key, $count );
}
function wfHostname() {
static $host;
if ( is_null( $host ) ) {
-
# Hostname overriding
global $wgOverrideHostname;
if ( $wgOverrideHostname !== false ) {
}
/**
- * Workaround for https://bugs.php.net/bug.php?id=45132
- * escapeshellarg() destroys non-ASCII characters if LANG is not a UTF-8 locale
+ * Set the locale for locale-sensitive operations
+ *
+ * Sets LC_ALL to a known value to work around issues like the following:
+ * - https://bugs.php.net/bug.php?id=45132 escapeshellarg() destroys non-ASCII
+ * characters if LANG is not a UTF-8 locale
+ * - T107128 Scribunto string comparison works case insensitive while the
+ * standard Lua case sensitive
+ *
+ * @see $wgShellLocale
*/
function wfInitShellLocale() {
static $done = false;
}
$done = true;
global $wgShellLocale;
- putenv( "LC_CTYPE=$wgShellLocale" );
- setlocale( LC_CTYPE, $wgShellLocale );
+ putenv( "LC_ALL=$wgShellLocale" );
+ setlocale( LC_ALL, $wgShellLocale );
}
/**