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);