diff --git a/pdb-utils/src/main/java/org/lucares/utils/cache/LRUCache.java b/pdb-utils/src/main/java/org/lucares/utils/cache/LRUCache.java index 24221bd..0cafcf1 100644 --- a/pdb-utils/src/main/java/org/lucares/utils/cache/LRUCache.java +++ b/pdb-utils/src/main/java/org/lucares/utils/cache/LRUCache.java @@ -6,6 +6,9 @@ import java.util.Map; public class LRUCache { private final LinkedHashMap cache; + private long countGet = 0; + private long countGetHits = 0; + public LRUCache(final int maxEntries) { this.cache = new LinkedHashMap<>(16, 0.75f, true) { private static final long serialVersionUID = 1L; @@ -21,7 +24,12 @@ public class LRUCache { } public V get(final K key) { - return cache.get(key); + final V result = cache.get(key); + countGet++; + if (result != null) { + countGetHits++; + } + return result; } public V remove(final K key) { @@ -32,4 +40,7 @@ public class LRUCache { return cache.size(); } + public double cacheHitRate() { + return (double) countGetHits / (double) countGet; + } }