Index: oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineImpl.java (revision e8257296a58ec06a08fc039e04e7c278652af384) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineImpl.java (revision ) @@ -276,6 +276,9 @@ Query query = prepareAndSelect(queries); query.getQueryExecutionStats().execute(System.nanoTime() - start); mdc = setupMDC(query); + if (QueryEngineSettingsService.getMeterStats() != null) { + QueryEngineSettingsService.getMeterStats().mark(); + } return query.executeQuery(); } finally { if (mdc) { Index: oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettingsService.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettingsService.java (revision e8257296a58ec06a08fc039e04e7c278652af384) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettingsService.java (revision ) @@ -20,6 +20,9 @@ package org.apache.jackrabbit.oak.query; import org.apache.jackrabbit.oak.api.jmx.QueryEngineSettingsMBean; +import org.apache.jackrabbit.oak.stats.MeterStats; +import org.apache.jackrabbit.oak.stats.StatisticsProvider; +import org.apache.jackrabbit.oak.stats.StatsOptions; import org.osgi.framework.BundleContext; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -88,6 +91,19 @@ @Reference private QueryEngineSettingsMBean queryEngineSettings; + @Reference + private StatisticsProvider statisticsProvider; + + private static MeterStats meter; + + protected void setMeterStats(MeterStats meter) { + this.meter = meter; + } + + protected static MeterStats getMeterStats() { + return meter; + } + @Activate private void activate(BundleContext context, Configuration config) { if (System.getProperty(QueryEngineSettings.OAK_QUERY_LIMIT_IN_MEMORY) == null) { @@ -116,6 +132,8 @@ queryEngineSettings.setFastQuerySize(fastQuerySizeFromConfig || fastQuerySizeSysProp); log.info("Initialize QueryEngine settings {}", queryEngineSettings); + + setMeterStats(statisticsProvider.getMeter("QUERY-COUNT", StatsOptions.METRICS_ONLY)); } private void logMsg(String key, String sysPropKey) {