Skip to content

Commit 369cb94

Browse files
committed
Fixed inmemory stats
1 parent 8b6d351 commit 369cb94

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

evcache-core/src/main/java/com/netflix/evcache/EVCacheInMemoryCache.java

+21-14
Original file line numberDiff line numberDiff line change
@@ -170,23 +170,30 @@ public Optional<T> call() {
170170
}
171171
}
172172

173+
private CacheStats previousStats = null;
173174
private long getSize() {
174175
final long size = cache.size();
175176
final CacheStats stats = cache.stats();
176-
177-
getCounter("hits").increment(stats.hitCount());
178-
getCounter("miss").increment(stats.missCount());
179-
getCounter("evictions").increment(stats.evictionCount());
180-
getCounter("requests").increment(stats.requestCount());
181-
182-
getCounter("loadExceptionCount").increment(stats.loadExceptionCount());
183-
getCounter("loadCount").increment(stats.loadCount());
184-
getCounter("loadSuccessCount").increment(stats.loadSuccessCount());
185-
getCounter("totalLoadTime-ms").increment(cache.stats().totalLoadTime()/1000000);
186-
187-
getGauge("hitrate").set(stats.hitRate());
188-
getGauge("loadExceptionRate").set(stats.loadExceptionRate());
189-
getGauge("averageLoadTime-ms").set(stats.averageLoadPenalty()/1000000);
177+
if(previousStats != null) {
178+
try {
179+
getCounter("hits").increment(stats.hitCount() - previousStats.hitCount());
180+
getCounter("miss").increment(stats.missCount() - previousStats.missCount());
181+
getCounter("evictions").increment(stats.evictionCount() - previousStats.evictionCount());
182+
getCounter("requests").increment(stats.requestCount() - previousStats.requestCount());
183+
184+
getCounter("loadExceptionCount").increment(stats.loadExceptionCount() - previousStats.loadExceptionCount());
185+
getCounter("loadCount").increment(stats.loadCount() - previousStats.loadCount());
186+
getCounter("loadSuccessCount").increment(stats.loadSuccessCount() - previousStats.loadSuccessCount());
187+
getCounter("totalLoadTime-ms").increment(( stats.totalLoadTime() - previousStats.totalLoadTime())/1000000);
188+
189+
getGauge("hitrate").set(stats.hitRate());
190+
getGauge("loadExceptionRate").set(stats.loadExceptionRate());
191+
getGauge("averageLoadTime-ms").set(stats.averageLoadPenalty()/1000000);
192+
} catch(Exception e) {
193+
log.error("Error while reporting stats", e);
194+
}
195+
}
196+
previousStats = stats;
190197
return size;
191198
}
192199

0 commit comments

Comments
 (0)