Author: chetanm
Date: Wed Nov 25 06:31:13 2015
New Revision: 1716311

URL: http://svn.apache.org/viewvc?rev=1716311&view=rev
Log:
OAK-3654 - Integrate with Metrics for various stats collection

Use TimerStats.Context to manage duration calculation

Modified:
    
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java?rev=1716311&r1=1716310&r2=1716311&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java
 Wed Nov 25 06:31:13 2015
@@ -130,15 +130,14 @@ public class QueryManagerImpl implements
             long limit, long offset, HashMap<String, Value> bindVariableMap) 
throws RepositoryException {
         try {
             Map<String, PropertyValue> bindMap = convertMap(bindVariableMap);
-            long t0 = System.nanoTime();
+            TimerStats.Context context = queryDuration.time();
             Result r = queryEngine.executeQuery(
                     statement, language, limit, offset, bindMap,
                     sessionContext.getSessionLocalMappings());
             queryCount.mark();
-            long dt = (System.nanoTime() - t0) / 1000000;
-            queryDuration.update(dt, TimeUnit.MILLISECONDS);
+            long nanos = context.stop();
             sessionContext.getStatisticManager()
-                    .logQueryEvaluationTime(language, statement, dt);
+                    .logQueryEvaluationTime(language, statement, 
TimeUnit.NANOSECONDS.toMillis(nanos));
             return new QueryResultImpl(sessionContext, r);
         } catch (IllegalArgumentException e) {
             throw new InvalidQueryException(e);


Reply via email to