mirror of
https://github.com/element-hq/synapse.git
synced 2026-10-23 13:03:28 +00:00
Merge pull request #1821 from matrix-org/erikj/cache_metrics_string_intern
Measure metrics of string_cache
This commit is contained in:
commit
f648313f98
1 file changed
+8
-3
@@ -40,8 +40,8 @@ def register_cache(name, cache):
|
||||
)
|
||||
|
||||
|
||||
_string_cache = LruCache(int(5000 * CACHE_SIZE_FACTOR))
|
||||
caches_by_name["string_cache"] = _string_cache
|
||||
_string_cache = LruCache(int(100000 * CACHE_SIZE_FACTOR))
|
||||
_stirng_cache_metrics = register_cache("string_cache", _string_cache)
|
||||
|
||||
|
||||
KNOWN_KEYS = {
|
||||
@@ -69,7 +69,12 @@ KNOWN_KEYS = {
|
||||
def intern_string(string):
|
||||
"""Takes a (potentially) unicode string and interns using custom cache
|
||||
"""
|
||||
return _string_cache.setdefault(string, string)
|
||||
new_str = _string_cache.setdefault(string, string)
|
||||
if new_str is string:
|
||||
_stirng_cache_metrics.inc_hits()
|
||||
else:
|
||||
_stirng_cache_metrics.inc_misses()
|
||||
return new_str
|
||||
|
||||
|
||||
def intern_dict(dictionary):
|
||||
|
||||
Reference in new issue
Block a user