Ori.livneh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248237

Change subject: Track tokenizer cache hits / misses
......................................................................

Track tokenizer cache hits / misses

Change-Id: I65d4c6064c37e9957b6f0aca4d3032f26bdf9bde
---
M AbuseFilterTokenizer.php
1 file changed, 22 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AbuseFilter 
refs/changes/37/248237/1

diff --git a/AbuseFilterTokenizer.php b/AbuseFilterTokenizer.php
index 728c851..3001d43 100644
--- a/AbuseFilterTokenizer.php
+++ b/AbuseFilterTokenizer.php
@@ -67,22 +67,33 @@
                        $tokenizerCache = ObjectCache::newAccelerator( array(), 
'hash' );
                }
 
+               static $stats = null;
+
+               if ( !$stats ) {
+                       $stats = RequestContext::getMain()->getStats();
+               }
+
                $cacheKey = wfGlobalCacheKey( __CLASS__, self::CACHE_VERSION, 
crc32( $code ) );
+
                $tokens = $tokenizerCache->get( $cacheKey );
 
-               if ( !$tokens ) {
-                       $tokens = array();
-                       $curPos = 0;
-
-                       do {
-                               $prevPos = $curPos;
-                               $token = self::nextToken( $code, $curPos );
-                               $tokens[ $token->pos ] = array( $token, $curPos 
);
-                       } while ( $curPos !== $prevPos );
-
-                       $tokenizerCache->set( $cacheKey, $tokens, 600 );
+               if ( $tokens ) {
+                       $stats->increment( 'AbuseFilter.tokenizerCache.hit' );
+                       return $tokens;
                }
 
+               $stats->increment( 'AbuseFilter.tokenizerCache.miss' );
+               $tokens = array();
+               $curPos = 0;
+
+               do {
+                       $prevPos = $curPos;
+                       $token = self::nextToken( $code, $curPos );
+                       $tokens[ $token->pos ] = array( $token, $curPos );
+               } while ( $curPos !== $prevPos );
+
+               $tokenizerCache->set( $cacheKey, $tokens, 600 );
+
                return $tokens;
        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I65d4c6064c37e9957b6f0aca4d3032f26bdf9bde
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AbuseFilter
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to