From 72c50093a4e35658d4a9f5e699d94559522d0f8d Mon Sep 17 00:00:00 2001 From: addshore Date: Mon, 2 Jul 2018 18:01:45 +0100 Subject: [PATCH] Add MediaWikiService::getPerDbNameStatsdDataFactory Bug: T196609 Change-Id: I08a4909e2855e33569641166b77be5d8bf4e2c34 --- includes/MediaWikiServices.php | 8 ++++++++ includes/ServiceWiring.php | 8 ++++++++ tests/phpunit/includes/MediaWikiServicesTest.php | 2 ++ 3 files changed, 18 insertions(+) diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index caaa6b35f8..7cc2462ef6 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -467,6 +467,14 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'StatsdDataFactory' ); } + /** + * @since 1.32 + * @return IBufferingStatsdDataFactory + */ + public function getPerDbNameStatsdDataFactory() { + return $this->getService( 'PerDbNameStatsdDataFactory' ); + } + /** * @since 1.27 * @return EventRelayerGroup diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index ba576d5899..9c2be7e5c5 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -128,6 +128,14 @@ return [ ); }, + 'PerDbNameStatsdDataFactory' => function ( MediaWikiServices $services ) { + $config = $services->getMainConfig(); + $wiki = $config->get( 'DBname' ); + return new BufferingStatsdDataFactory( + rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' ) . $wiki + ); + }, + 'EventRelayerGroup' => function ( MediaWikiServices $services ) { return new EventRelayerGroup( $services->getMainConfig()->get( 'EventRelayerConfig' ) ); }, diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php b/tests/phpunit/includes/MediaWikiServicesTest.php index cf48215083..41368ce0eb 100644 --- a/tests/phpunit/includes/MediaWikiServicesTest.php +++ b/tests/phpunit/includes/MediaWikiServicesTest.php @@ -315,6 +315,8 @@ class MediaWikiServicesTest extends MediaWikiTestCase { 'SiteStore' => [ 'SiteStore', SiteStore::class ], 'SiteLookup' => [ 'SiteLookup', SiteLookup::class ], 'StatsdDataFactory' => [ 'StatsdDataFactory', IBufferingStatsdDataFactory::class ], + 'PerDbNameStatsdDataFactory' => + [ 'PerDbNameStatsdDataFactory', IBufferingStatsdDataFactory::class ], 'InterwikiLookup' => [ 'InterwikiLookup', InterwikiLookup::class ], 'EventRelayerGroup' => [ 'EventRelayerGroup', EventRelayerGroup::class ], 'SearchEngineFactory' => [ 'SearchEngineFactory', SearchEngineFactory::class ], -- 2.20.1