mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Merge pull request #2957 from FOCONIS/detailed-evict-stats
ENH: add statistics trimmedByGC/LRU/TTL/Idle to ServerCacheStatistics?
This commit is contained in:
+24
-1
@@ -44,7 +44,10 @@ public class DefaultServerCache implements ServerCache {
|
||||
protected final CountMetric removeCount;
|
||||
protected final CountMetric clearCount;
|
||||
protected final CountMetric evictCount;
|
||||
|
||||
protected final CountMetric gcCount;
|
||||
protected final CountMetric idleCount;
|
||||
protected final CountMetric ttlCount;
|
||||
protected final CountMetric lruCount;
|
||||
protected final String name;
|
||||
protected final String shortName;
|
||||
protected final int maxSize;
|
||||
@@ -55,6 +58,7 @@ public class DefaultServerCache implements ServerCache {
|
||||
protected final ReentrantLock lock = new ReentrantLock();
|
||||
protected final AtomicLong mutationCounter = new AtomicLong();
|
||||
|
||||
|
||||
public DefaultServerCache(DefaultServerCacheConfig config) {
|
||||
this.name = config.getName();
|
||||
this.shortName = config.getShortName();
|
||||
@@ -73,6 +77,11 @@ public class DefaultServerCache implements ServerCache {
|
||||
this.removeCount = factory.createCountMetric(prefix + shortName + ".remove");
|
||||
this.clearCount = factory.createCountMetric(prefix + shortName + ".clear");
|
||||
this.evictCount = factory.createCountMetric(prefix + shortName + ".evict");
|
||||
this.gcCount = factory.createCountMetric(prefix + shortName + ".gc");
|
||||
this.idleCount = factory.createCountMetric(prefix + shortName + ".idle");
|
||||
this.ttlCount = factory.createCountMetric(prefix + shortName + ".ttl");
|
||||
this.lruCount = factory.createCountMetric(prefix + shortName + ".lru");
|
||||
|
||||
}
|
||||
|
||||
public void periodicTrim(BackgroundExecutor executor) {
|
||||
@@ -90,6 +99,10 @@ public class DefaultServerCache implements ServerCache {
|
||||
removeCount.visit(visitor);
|
||||
clearCount.visit(visitor);
|
||||
evictCount.visit(visitor);
|
||||
gcCount.visit(visitor);
|
||||
idleCount.visit(visitor);
|
||||
ttlCount.visit(visitor);
|
||||
lruCount.visit(visitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,6 +117,10 @@ public class DefaultServerCache implements ServerCache {
|
||||
cacheStats.setRemoveCount(removeCount.get(reset));
|
||||
cacheStats.setClearCount(clearCount.get(reset));
|
||||
cacheStats.setEvictCount(evictCount.get(reset));
|
||||
cacheStats.setGcCount(gcCount.get(reset));
|
||||
cacheStats.setIdleCount(idleCount.get(reset));
|
||||
cacheStats.setTtlCount(ttlCount.get(reset));
|
||||
cacheStats.setLruCount(lruCount.get(reset));
|
||||
return cacheStats;
|
||||
}
|
||||
|
||||
@@ -289,6 +306,12 @@ public class DefaultServerCache implements ServerCache {
|
||||
evictCount.add(trimmedByGC);
|
||||
evictCount.add(trimmedByTTL);
|
||||
evictCount.add(trimmedByLRU);
|
||||
|
||||
gcCount.add(trimmedByGC);
|
||||
idleCount.add(trimmedByIdle);
|
||||
ttlCount.add(trimmedByTTL);
|
||||
lruCount.add(trimmedByLRU);
|
||||
|
||||
if (logger.isLoggable(TRACE)) {
|
||||
long exeMicros = TimeUnit.MICROSECONDS.convert(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS);
|
||||
logger.log(TRACE, "Executed trim of cache {0} in [{1}]millis idle[{2}] timeToLive[{3}] accessTime[{4}] gc[{5}]",
|
||||
|
||||
Reference in New Issue
Block a user