You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2016/07/20 08:12:14 UTC

svn commit: r1753465 - /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java

Author: mduerig
Date: Wed Jul 20 08:12:14 2016
New Revision: 1753465

URL: http://svn.apache.org/viewvc?rev=1753465&view=rev
Log:
OAK-4474: Finalise SegmentCache
Add current weight to segment cache statistics

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java?rev=1753465&r1=1753464&r2=1753465&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java Wed Jul 20 08:12:14 2016
@@ -24,6 +24,7 @@ import java.util.concurrent.ExecutionExc
 
 import javax.annotation.Nonnull;
 
+import com.google.common.cache.Weigher;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheLIRS.EvictionCallback;
 import org.apache.jackrabbit.oak.cache.CacheStats;
@@ -76,7 +77,12 @@ public class SegmentCache {
 
     @Nonnull
     public CacheStats getCacheStats() {
-        return new CacheStats(cache, "Segment Cache", null,
-                cache.getMaxMemory());
+        Weigher<?, ?> weigher = new Weigher<SegmentId, Segment>() {
+            @Override
+            public int weigh(SegmentId key, Segment segment) {
+                return segment.size();
+            }
+        };
+        return new CacheStats(cache, "Segment Cache", weigher, cache.getMaxMemory());
     }
 }
\ No newline at end of file