CacheMetrics: Add recent hit rate
The depricated recent hit rate implementation was add from Origin as it is still been used by external system. Signed-off-by: Amnon Heiman <amnon@scylladb.com>
This commit is contained in:
parent
72f6f5dab4
commit
54d451de88
|
@ -24,6 +24,8 @@
|
|||
package org.apache.cassandra.metrics;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import com.cloudius.urchin.api.APIClient;
|
||||
import com.cloudius.urchin.metrics.APIMetrics;
|
||||
import com.cloudius.urchin.metrics.DefaultNameFactory;
|
||||
|
@ -48,6 +50,9 @@ public class CacheMetrics {
|
|||
/** Total number of cache entries */
|
||||
public final Gauge<Integer> entries;
|
||||
|
||||
private final AtomicLong lastRequests = new AtomicLong(0);
|
||||
private final AtomicLong lastHits = new AtomicLong(0);
|
||||
|
||||
private APIClient c = new APIClient();
|
||||
|
||||
/**
|
||||
|
@ -101,6 +106,17 @@ public class CacheMetrics {
|
|||
// for backward compatibility
|
||||
@Deprecated
|
||||
public double getRecentHitRate() {
|
||||
return 0;
|
||||
long r = requests.count();
|
||||
long h = hits.count();
|
||||
try
|
||||
{
|
||||
return ((double)(h - lastHits.get())) / (r - lastRequests.get());
|
||||
}
|
||||
finally
|
||||
{
|
||||
lastRequests.set(r);
|
||||
lastHits.set(h);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user