You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2010/03/12 17:14:47 UTC
svn commit: r922311 -
/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
Author: ppoddar
Date: Fri Mar 12 16:14:47 2010
New Revision: 922311
URL: http://svn.apache.org/viewvc?rev=922311&view=rev
Log:
OPENJPA-1566: Allow access to keys of the statistics.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java?rev=922311&r1=922310&r2=922311&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryStatistics.java Fri Mar 12 16:14:47 2010
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
/**
* Records query execution statistics.
@@ -38,6 +39,11 @@ import java.util.Map;
*
*/
public interface QueryStatistics<T> extends Serializable {
+
+ /**
+ * Gets all the identifier keys for the cached queries.
+ */
+ public Set<T> keys();
/**
* Record that the given query has been executed.
@@ -126,6 +132,10 @@ public interface QueryStatistics<T> exte
private Map<T, long[]> astats = new HashMap<T, long[]>();
private Date start = new Date();
private Date since = start;
+
+ public Set<T> keys() {
+ return stats.keySet();
+ }
public long getExecutionCount() {
return stat[READ];
@@ -205,6 +215,8 @@ public interface QueryStatistics<T> exte
}
public void recordExecution(T query) {
+ if (query == null)
+ return;
boolean cached = (astats.containsKey(query));
addSample(query, READ);
if (cached)