jenkins-bot has submitted this change and it was merged.
Change subject: Add getStatsdDataFactory to MediawikiServices
......................................................................
Add getStatsdDataFactory to MediawikiServices
Change-Id: Iaf89d5d7887f766064266874ea7ba73362531ed2
---
M includes/DefaultSettings.php
M includes/MediaWikiServices.php
M includes/ServiceWiring.php
M includes/context/ContextSource.php
M includes/context/DerivativeContext.php
M includes/context/IContextSource.php
M includes/context/RequestContext.php
M tests/phpunit/includes/MediaWikiServicesTest.php
8 files changed, 40 insertions(+), 25 deletions(-)
Approvals:
Daniel Kinzler: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 10e6adb..f5b3caa 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -5896,7 +5896,7 @@
/**
* Prefix for metric names sent to $wgStatsdServer.
*
- * @see RequestContext::getStats
+ * @see MediaWikiServices::getStatsdDataFactory
* @see BufferingStatsdDataFactory
* @since 1.25
*/
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index 7b1def9..3f4d8ed 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -6,6 +6,7 @@
use Config;
use Hooks;
use LBFactory;
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use LoadBalancer;
use MediaWiki\Services\ServiceContainer;
use SiteLookup;
@@ -144,6 +145,13 @@
return $this->getService( 'SiteStore' );
}
+ /**
+ * @return StatsdDataFactory
+ */
+ public function getStatsdDataFactory() {
+ return $this->getService( 'StatsdDataFactory' );
+ }
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service getter here, don't forget to add a test
// case for it in MediaWikiServicesTest::provideGetters() and in
diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php
index d8709b9..7e1d4e3 100644
--- a/includes/ServiceWiring.php
+++ b/includes/ServiceWiring.php
@@ -72,6 +72,12 @@
return $services->getConfigFactory()->makeConfig( 'main' );
},
+ 'StatsdDataFactory' => function( MediaWikiServices $services ) {
+ return new BufferingStatsdDataFactory(
+ rtrim( $services->getMainConfig()->get(
'StatsdMetricPrefix' ), '.' )
+ );
+ },
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service here, don't forget to add a getter
function
// in the MediaWikiServices class. The convenience getter should just
call
diff --git a/includes/context/ContextSource.php
b/includes/context/ContextSource.php
index 911ecdd..b617871 100644
--- a/includes/context/ContextSource.php
+++ b/includes/context/ContextSource.php
@@ -18,6 +18,8 @@
* @author Happy-melon
* @file
*/
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
+use MediaWiki\MediaWikiServices;
/**
* The simplest way of implementing IContextSource is to hold a RequestContext
as a
@@ -165,8 +167,10 @@
/**
* Get the Stats object
*
+ * @deprecated since 1.27 use a StatsdDataFactory from
MediaWikiServices (preferably injected)
+ *
* @since 1.25
- * @return BufferingStatsdDataFactory
+ * @return StatsdDataFactory
*/
public function getStats() {
return $this->getContext()->getStats();
diff --git a/includes/context/DerivativeContext.php
b/includes/context/DerivativeContext.php
index 1b881e4..e77a058 100644
--- a/includes/context/DerivativeContext.php
+++ b/includes/context/DerivativeContext.php
@@ -18,6 +18,8 @@
* @author Daniel Friesen
* @file
*/
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
+use MediaWiki\MediaWikiServices;
/**
* An IContextSource implementation which will inherit context from another
source
@@ -68,11 +70,6 @@
private $config;
/**
- * @var Stats
- */
- private $stats;
-
- /**
* @var Timing
*/
private $timing;
@@ -110,14 +107,12 @@
/**
* Get the stats object
*
- * @return BufferingStatsdDataFactory
+ * @deprecated since 1.27 use a StatsdDataFactory from
MediaWikiServices (preferably injected)
+ *
+ * @return StatsdDataFactory
*/
public function getStats() {
- if ( !is_null( $this->stats ) ) {
- return $this->stats;
- } else {
- return $this->getContext()->getStats();
- }
+ return MediaWikiServices::getInstance()->getStatsdDataFactory();
}
/**
diff --git a/includes/context/IContextSource.php
b/includes/context/IContextSource.php
index 750389d..ccefc72 100644
--- a/includes/context/IContextSource.php
+++ b/includes/context/IContextSource.php
@@ -21,6 +21,8 @@
* @file
*/
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
+
/**
* Interface for objects which can provide a MediaWiki context on request
*
@@ -126,8 +128,10 @@
/**
* Get the stats object
*
+ * @deprecated since 1.27 use a StatsdDataFactory from
MediaWikiServices (preferably injected)
+ *
* @since 1.25
- * @return BufferingStatsdDataFactory
+ * @return StatsdDataFactory
*/
public function getStats();
diff --git a/includes/context/RequestContext.php
b/includes/context/RequestContext.php
index c8b8108..c87798e 100644
--- a/includes/context/RequestContext.php
+++ b/includes/context/RequestContext.php
@@ -22,7 +22,9 @@
* @file
*/
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
/**
* Group all the pieces relevant to the context of a request into one instance
@@ -62,11 +64,6 @@
* @var Skin
*/
private $skin;
-
- /**
- * @var \Liuggio\StatsdClient\Factory\StatsdDataFactory
- */
- private $stats;
/**
* @var Timing
@@ -138,14 +135,12 @@
/**
* Get the Stats object
*
- * @return BufferingStatsdDataFactory
+ * @deprecated since 1.27 use a StatsdDataFactory from
MediaWikiServices (preferably injected)
+ *
+ * @return StatsdDataFactory
*/
public function getStats() {
- if ( $this->stats === null ) {
- $prefix = rtrim( $this->getConfig()->get(
'StatsdMetricPrefix' ), '.' );
- $this->stats = new BufferingStatsdDataFactory( $prefix
);
- }
- return $this->stats;
+ return MediaWikiServices::getInstance()->getStatsdDataFactory();
}
/**
diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php
b/tests/phpunit/includes/MediaWikiServicesTest.php
index 127f869..1889575 100644
--- a/tests/phpunit/includes/MediaWikiServicesTest.php
+++ b/tests/phpunit/includes/MediaWikiServicesTest.php
@@ -1,4 +1,5 @@
<?php
+use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use MediaWiki\MediaWikiServices;
/**
@@ -23,6 +24,7 @@
'MainConfig' => [ 'getMainConfig', Config::class ],
'SiteStore' => [ 'getSiteStore', SiteStore::class ],
'SiteLookup' => [ 'getSiteLookup', SiteLookup::class ],
+ 'StatsdDataFactory' => [ 'getStatsdDataFactory',
StatsdDataFactory::class ],
];
}
@@ -46,6 +48,7 @@
'MainConfig' => [ 'MainConfig', Config::class ],
'SiteStore' => [ 'SiteStore', SiteStore::class ],
'SiteLookup' => [ 'SiteLookup', SiteLookup::class ],
+ 'StatsdDataFactory' => [ 'StatsdDataFactory',
StatsdDataFactory::class ],
];
}
--
To view, visit https://gerrit.wikimedia.org/r/282740
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iaf89d5d7887f766064266874ea7ba73362531ed2
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits