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