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 re...@apache.org on 2014/02/26 16:14:42 UTC
svn commit: r1572087 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Author: reschke
Date: Wed Feb 26 15:14:42 2014
New Revision: 1572087
URL: http://svn.apache.org/r1572087
Log:
OAK-1463 - add cache statistics
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1572087&r1=1572086&r2=1572087&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Wed Feb 26 15:14:42 2014
@@ -38,6 +38,7 @@ import javax.annotation.Nonnull;
import javax.sql.DataSource;
import org.apache.jackrabbit.mk.api.MicroKernelException;
+import org.apache.jackrabbit.oak.cache.CacheStats;
import org.apache.jackrabbit.oak.cache.CacheValue;
import org.apache.jackrabbit.oak.plugins.document.Collection;
import org.apache.jackrabbit.oak.plugins.document.Document;
@@ -48,6 +49,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.StableRevisionComparator;
import org.apache.jackrabbit.oak.plugins.document.UpdateOp;
import org.apache.jackrabbit.oak.plugins.document.UpdateUtils;
+import org.apache.jackrabbit.oak.plugins.document.cache.CachingDocumentStore;
import org.apache.jackrabbit.oak.plugins.document.util.StringValue;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
@@ -58,7 +60,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.cache.Cache;
import com.google.common.util.concurrent.Striped;
-public class RDBDocumentStore implements DocumentStore {
+public class RDBDocumentStore implements CachingDocumentStore {
/**
* Creates a {@linkplain RDBDocumentStore} instance using an embedded H2
@@ -230,6 +232,11 @@ public class RDBDocumentStore implements
}
}
+ @Override
+ public CacheStats getCacheStats() {
+ return this.cacheStats;
+ }
+
// implementation
private final String MODIFIED = "_modified";
@@ -257,6 +264,7 @@ public class RDBDocumentStore implements
this.callStack = LOG.isDebugEnabled() ? new Exception("call stack of RDBDocumentStore creation") : null;
this.nodesCache = builder.buildCache(builder.getDocumentCacheSize());
+ this.cacheStats = new CacheStats(nodesCache, "Document-Documents", builder.getWeigher(), builder.getDocumentCacheSize());
}
@Override
@@ -620,6 +628,7 @@ public class RDBDocumentStore implements
// Memory Cache
private Cache<CacheValue, NodeDocument> nodesCache;
+ private CacheStats cacheStats;
private final Striped<Lock> locks = Striped.lock(64);
private Lock getAndLock(String key) {