Lucas Werkmeister (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/401772 )

Change subject: Track cache hit/miss counts per-entity
......................................................................

Track cache hit/miss counts per-entity

Increment counters for how many per-entity results we got from the
cache, and how many we didn’t get.

Per-statement results are ignored, since we don’t cache results per
statement. This means that we might increment the counter by zero if
constraint checks for only statement IDs are requested – I verified
manually that statsd is okay with such a non-increment.

Bug: T184062
Change-Id: I6375603af2f865cc2e881fec91df0488173f5528
---
M src/Api/CachingResultsBuilder.php
1 file changed, 16 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityConstraints
 refs/changes/72/401772/1

diff --git a/src/Api/CachingResultsBuilder.php 
b/src/Api/CachingResultsBuilder.php
index 185832a..ca6bb20 100644
--- a/src/Api/CachingResultsBuilder.php
+++ b/src/Api/CachingResultsBuilder.php
@@ -2,6 +2,8 @@
 
 namespace WikibaseQuality\ConstraintReport\Api;
 
+use IBufferingStatsdDataFactory;
+use MediaWiki\MediaWikiServices;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\EntityIdParser;
 use Wikibase\Lib\Store\EntityRevisionLookup;
@@ -64,6 +66,11 @@
        private $possiblyStaleConstraintTypes;
 
        /**
+        * @var IBufferingStatsdDataFactory
+        */
+       private $dataFactory;
+
+       /**
         * @var callable
         */
        private $microtime = 'microtime';
@@ -91,6 +98,8 @@
                $this->entityIdParser = $entityIdParser;
                $this->ttlInSeconds = $ttlInSeconds;
                $this->possiblyStaleConstraintTypes = 
$possiblyStaleConstraintTypes;
+
+               $this->dataFactory = 
MediaWikiServices::getInstance()->getStatsdDataFactory();
        }
 
        /**
@@ -111,6 +120,9 @@
                        foreach ( $entityIds as $entityId ) {
                                $storedResults = $this->getStoredResults( 
$entityId );
                                if ( $storedResults !== null ) {
+                                       $this->dataFactory->increment(
+                                               
'wikibase.quality.constraints.cache.entity.hit'
+                                       );
                                        $results += $storedResults->getArray();
                                        $metadatas[] = 
$storedResults->getMetadata();
                                        $storedEntityIds[] = $entityId;
@@ -119,6 +131,10 @@
                        $entityIds = array_values( array_diff( $entityIds, 
$storedEntityIds ) );
                }
                if ( $entityIds !== [] || $claimIds !== [] ) {
+                       $this->dataFactory->updateCount(
+                               
'wikibase.quality.constraints.cache.entity.miss',
+                               count( $entityIds )
+                       );
                        $response = $this->getAndStoreResults( $entityIds, 
$claimIds, $constraintIds );
                        $results += $response->getArray();
                        $metadatas[] = $response->getMetadata();

-- 
To view, visit https://gerrit.wikimedia.org/r/401772
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6375603af2f865cc2e881fec91df0488173f5528
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseQualityConstraints
Gerrit-Branch: master
Gerrit-Owner: Lucas Werkmeister (WMDE) <lucas.werkmeis...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to