summary refs log tree commit diff
path: root/synapse/util/caches/expiringcache.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2022-02-15 14:31:04 +0000
committerGitHub <noreply@github.com>2022-02-15 14:31:04 +0000
commit0dbbe33a65c17cdb1ad41d6109b5629029dce886 (patch)
tree1813f0acb252c5c2a383db79e1842e3d4a738178 /synapse/util/caches/expiringcache.py
parentFix incorrect `get_rooms_for_user` for remote user (#11999) (diff)
downloadsynapse-0dbbe33a65c17cdb1ad41d6109b5629029dce886.tar.xz
Track cache invalidations (#12000)
Currently we only track evictions due to size or time constraints.
Diffstat (limited to 'synapse/util/caches/expiringcache.py')
-rw-r--r--synapse/util/caches/expiringcache.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/util/caches/expiringcache.py b/synapse/util/caches/expiringcache.py
index 67ee4c693b..c6a5d0dfc0 100644
--- a/synapse/util/caches/expiringcache.py
+++ b/synapse/util/caches/expiringcache.py
@@ -133,6 +133,11 @@ class ExpiringCache(Generic[KT, VT]):
                 raise KeyError(key)
             return default
 
+        if self.iterable:
+            self.metrics.inc_evictions(EvictionReason.invalidation, len(value.value))
+        else:
+            self.metrics.inc_evictions(EvictionReason.invalidation)
+
         return value.value
 
     def __contains__(self, key: KT) -> bool: