org.infinispan.jcache.remote.LocalStatistics Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of infinispan-jcache-remote Show documentation
Show all versions of infinispan-jcache-remote Show documentation
JCACHE (JSR-107) implementation using Infinispan client-server mode
package org.infinispan.jcache.remote;
import java.util.concurrent.atomic.LongAdder;
import javax.cache.management.CacheStatisticsMXBean;
/**
* Statistics which reflect only cache interactions done though the
* javax.cache API by the local client.
*/
public class LocalStatistics implements CacheStatisticsMXBean {
private LongAdder cacheHits = new LongAdder();
private LongAdder cacheMisses = new LongAdder();
private LongAdder cacheGets = new LongAdder();
private LongAdder cachePuts = new LongAdder();
private LongAdder cacheRemovals = new LongAdder();
private LongAdder cacheEvictions = new LongAdder();
private float averageGetTime;
private float averagePutTime;
private float averageRemoveTime;
public void incrementCacheHits() {
cacheHits.add(1);
}
public void incrementCacheMisses() {
cacheMisses.add(1);
}
public void incrementCacheGets() {
cacheGets.add(1);
}
public void incrementCachePuts() {
cachePuts.add(1);
}
public void incrementCacheRemovals() {
cacheRemovals.add(1);
}
public void incrementCacheEvictions() {
cacheEvictions.add(1);
}
@Override
public void clear() {
cacheHits.reset();
cacheMisses.reset();
cacheGets.reset();
cachePuts.reset();
cacheRemovals.reset();
cacheEvictions.reset();
}
@Override
public long getCacheHits() {
return cacheHits.sum();
}
@Override
public float getCacheHitPercentage() {
long hits = cacheHits.sum();
float total = hits + cacheMisses.sum();
if (total <= 0)
return 0;
return (hits * 100f / total);
}
@Override
public long getCacheMisses() {
return cacheMisses.sum();
}
@Override
public float getCacheMissPercentage() {
long misses = cacheMisses.sum();
float total = misses + cacheHits.sum();
if (total <= 0)
return 0;
return (misses * 100f / total);
}
@Override
public long getCacheGets() {
return cacheGets.sum();
}
@Override
public long getCachePuts() {
return cachePuts.sum();
}
@Override
public long getCacheRemovals() {
return cacheRemovals.sum();
}
@Override
public long getCacheEvictions() {
return cacheEvictions.sum();
}
@Override
public float getAverageGetTime() {
return averageGetTime;
}
@Override
public float getAveragePutTime() {
return averagePutTime;
}
@Override
public float getAverageRemoveTime() {
return averageRemoveTime;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy