You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by nn...@apache.org on 2017/03/07 00:27:05 UTC
geode git commit: GEODE-2596: Lucene metrics moved to public API
Repository: geode
Updated Branches:
refs/heads/develop eb59268bc -> 946ff6ee4
GEODE-2596: Lucene metrics moved to public API
* LuceneIndexMetrics and LuceneServiceMXBean were moved to org.apache.geode.cache.lucene.management
* They are now public API
This closes #414
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/946ff6ee
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/946ff6ee
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/946ff6ee
Branch: refs/heads/develop
Commit: 946ff6ee49f8061dc7f3c11b43bf823b4314b109
Parents: eb59268
Author: nabarun <nn...@pivotal.io>
Authored: Mon Mar 6 11:59:33 2017 -0800
Committer: nabarun <nn...@pivotal.io>
Committed: Mon Mar 6 16:25:24 2017 -0800
----------------------------------------------------------------------
.../internal/management/LuceneIndexMetrics.java | 190 -------------------
.../management/LuceneIndexStatsMonitor.java | 2 +-
.../management/LuceneServiceBridge.java | 2 +-
.../internal/management/LuceneServiceMBean.java | 2 +
.../management/LuceneServiceMXBean.java | 58 ------
.../lucene/management/LuceneIndexMetrics.java | 190 +++++++++++++++++++
.../lucene/management/LuceneServiceMXBean.java | 58 ++++++
.../management/LuceneManagementDUnitTest.java | 2 +
8 files changed, 254 insertions(+), 250 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexMetrics.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexMetrics.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexMetrics.java
deleted file mode 100644
index 999d8b3..0000000
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexMetrics.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.cache.lucene.internal.management;
-
-import java.beans.ConstructorProperties;
-
-public class LuceneIndexMetrics {
-
- private final String regionPath;
-
- private final String indexName;
-
- private final int queryExecutions;
-
- private final long queryExecutionTime;
-
- private final float queryRate;
-
- private final long queryRateAverageLatency;
-
- private final int queryExecutionsInProgress;
-
- private final long queryExecutionTotalHits;
-
- private final int updates;
-
- private final long updateTime;
-
- private final float updateRate;
-
- private final long updateRateAverageLatency;
-
- private final int updatesInProgress;
-
- private final int commits;
-
- private final long commitTime;
-
- private final float commitRate;
-
- private final long commitRateAverageLatency;
-
- private final int commitsInProgress;
-
- private final int documents;
-
- /**
- * This constructor is to be used by internal JMX framework only. A user should not try to create
- * an instance of this class.
- */
- @ConstructorProperties({"regionPath", "indexName", "queryExecutions", "queryExecutionTime",
- "queryRate", "queryRateAverageLatency", "queryExecutionsInProgress",
- "queryExecutionTotalHits", "updates", "updateTime", "updateRate", "updateRateAverageLatency",
- "updatesInProgress", "commits", "commitTime", "commitRate", "commitRateAverageLatency",
- "commitsInProgress", "documents"})
- public LuceneIndexMetrics(String regionPath, String indexName, int queryExecutions,
- long queryExecutionTime, float queryRate, long queryRateAverageLatency,
- int queryExecutionsInProgress, long queryExecutionTotalHits, int updates, long updateTime,
- float updateRate, long updateRateAverageLatency, int updatesInProgress, int commits,
- long commitTime, float commitRate, long commitRateAverageLatency, int commitsInProgress,
- int documents) {
- this.regionPath = regionPath;
- this.indexName = indexName;
- this.queryExecutions = queryExecutions;
- this.queryExecutionTime = queryExecutionTime;
- this.queryRate = queryRate;
- this.queryRateAverageLatency = queryRateAverageLatency;
- this.queryExecutionsInProgress = queryExecutionsInProgress;
- this.queryExecutionTotalHits = queryExecutionTotalHits;
- this.updates = updates;
- this.updateTime = updateTime;
- this.updateRate = updateRate;
- this.updateRateAverageLatency = updateRateAverageLatency;
- this.updatesInProgress = updatesInProgress;
- this.commits = commits;
- this.commitTime = commitTime;
- this.commitRate = commitRate;
- this.commitRateAverageLatency = commitRateAverageLatency;
- this.commitsInProgress = commitsInProgress;
- this.documents = documents;
- }
-
- public String getRegionPath() {
- return this.regionPath;
- }
-
- public String getIndexName() {
- return this.indexName;
- }
-
- public int getQueryExecutions() {
- return this.queryExecutions;
- }
-
- public long getQueryExecutionTime() {
- return this.queryExecutionTime;
- }
-
- public float getQueryRate() {
- return this.queryRate;
- }
-
- public long getQueryRateAverageLatency() {
- return this.queryRateAverageLatency;
- }
-
- public int getQueryExecutionsInProgress() {
- return this.queryExecutionsInProgress;
- }
-
- public long getQueryExecutionTotalHits() {
- return this.queryExecutionTotalHits;
- }
-
- public int getUpdates() {
- return this.updates;
- }
-
- public long getUpdateTime() {
- return this.updateTime;
- }
-
- public float getUpdateRate() {
- return this.updateRate;
- }
-
- public long getUpdateRateAverageLatency() {
- return this.updateRateAverageLatency;
- }
-
- public int getUpdatesInProgress() {
- return this.updatesInProgress;
- }
-
- public int getCommits() {
- return this.commits;
- }
-
- public long getCommitTime() {
- return this.commitTime;
- }
-
- public float getCommitRate() {
- return this.commitRate;
- }
-
- public long getCommitRateAverageLatency() {
- return this.commitRateAverageLatency;
- }
-
- public int getCommitsInProgress() {
- return this.commitsInProgress;
- }
-
- public int getDocuments() {
- return documents;
- }
-
- @Override
- public String toString() {
- return new StringBuilder().append(getClass().getSimpleName()).append("[").append("regionPath=")
- .append(this.regionPath).append("; indexName=").append(this.indexName)
- .append("; queryExecutions=").append(this.queryExecutions).append("; queryExecutionTime=")
- .append(this.queryExecutionTime).append("; queryRate=").append(this.queryRate)
- .append("; queryRateAverageLatency=").append(this.queryRateAverageLatency)
- .append("; queryExecutionsInProgress=").append(this.queryExecutionsInProgress)
- .append("; queryExecutionTotalHits=").append(this.queryExecutionTotalHits)
- .append("; updates=").append(this.updates).append("; updateTime=").append(this.updateTime)
- .append("; updateRate=").append(this.updateRate).append("; updateRateAverageLatency=")
- .append(this.updateRateAverageLatency).append("; updatesInProgress=")
- .append(this.updatesInProgress).append("; commits=").append(this.commits)
- .append("; commitTime=").append(this.commitTime).append("; commitRate=")
- .append(this.commitRate).append("; commitRateAverageLatency=")
- .append(this.commitRateAverageLatency).append("; commitsInProgress=")
- .append(this.commitsInProgress).append("; documents=").append(this.documents).append("]")
- .toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexStatsMonitor.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexStatsMonitor.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexStatsMonitor.java
index b28541f..8d7d7ca 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexStatsMonitor.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneIndexStatsMonitor.java
@@ -16,7 +16,7 @@ package org.apache.geode.cache.lucene.internal.management;
import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.lucene.internal.LuceneIndexImpl;
-import org.apache.geode.management.internal.ManagementStrings;
+import org.apache.geode.cache.lucene.management.LuceneIndexMetrics;
import org.apache.geode.management.internal.beans.stats.MBeanStatsMonitor;
import org.apache.geode.management.internal.beans.stats.StatType;
import org.apache.geode.management.internal.beans.stats.StatsAverageLatency;
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceBridge.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceBridge.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceBridge.java
index b18b376..eff503a 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceBridge.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceBridge.java
@@ -18,7 +18,7 @@ import org.apache.geode.cache.Region;
import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.lucene.LuceneService;
import org.apache.geode.cache.lucene.internal.LuceneIndexImpl;
-import org.apache.geode.cache.lucene.internal.LuceneIndexStats;
+import org.apache.geode.cache.lucene.management.LuceneIndexMetrics;
import java.util.ArrayList;
import java.util.Collection;
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMBean.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMBean.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMBean.java
index d2739fe..2cfc42e 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMBean.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMBean.java
@@ -16,6 +16,8 @@ package org.apache.geode.cache.lucene.internal.management;
import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.lucene.LuceneService;
+import org.apache.geode.cache.lucene.management.LuceneIndexMetrics;
+import org.apache.geode.cache.lucene.management.LuceneServiceMXBean;
import org.apache.geode.management.internal.beans.CacheServiceMBeanBase;
import javax.management.NotificationBroadcasterSupport;
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMXBean.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMXBean.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMXBean.java
deleted file mode 100644
index 23be091..0000000
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/management/LuceneServiceMXBean.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.cache.lucene.internal.management;
-
-import org.apache.geode.management.internal.security.ResourceOperation;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
-
-/**
- * MBean that provides access to the {@link org.apache.geode.cache.lucene.LuceneService}.
- */
-@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
-public interface LuceneServiceMXBean {
-
- /**
- * Returns an array of {@link LuceneIndexMetrics} for the
- * {@link org.apache.geode.cache.lucene.LuceneIndex} instances defined in this member
- *
- * @return an array of LuceneIndexMetrics for the LuceneIndexes defined in this member
- */
- public LuceneIndexMetrics[] listIndexMetrics();
-
- /**
- * Returns an array of {@link LuceneIndexMetrics} for the
- * {@link org.apache.geode.cache.lucene.LuceneIndex} instances defined on the input region in this
- * member
- *
- * @param regionPath The full path of the region to retrieve
- *
- * @return an array of LuceneIndexMetrics for the LuceneIndex instances defined on the input
- * region in this member
- */
- public LuceneIndexMetrics[] listIndexMetrics(String regionPath);
-
- /**
- * Returns a {@link LuceneIndexMetrics} for the {@link org.apache.geode.cache.lucene.LuceneIndex}
- * with the input index name defined on the input region in this member.
- *
- * @param regionPath The full path of the region to retrieve
- * @param indexName The name of the index to retrieve
- *
- * @return a LuceneIndexMetrics for the LuceneIndex with the input index name defined on the input
- * region in this member.
- */
- public LuceneIndexMetrics listIndexMetrics(String regionPath, String indexName);
-}
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneIndexMetrics.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneIndexMetrics.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneIndexMetrics.java
new file mode 100644
index 0000000..de89758
--- /dev/null
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneIndexMetrics.java
@@ -0,0 +1,190 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.cache.lucene.management;
+
+import java.beans.ConstructorProperties;
+
+public class LuceneIndexMetrics {
+
+ private final String regionPath;
+
+ private final String indexName;
+
+ private final int queryExecutions;
+
+ private final long queryExecutionTime;
+
+ private final float queryRate;
+
+ private final long queryRateAverageLatency;
+
+ private final int queryExecutionsInProgress;
+
+ private final long queryExecutionTotalHits;
+
+ private final int updates;
+
+ private final long updateTime;
+
+ private final float updateRate;
+
+ private final long updateRateAverageLatency;
+
+ private final int updatesInProgress;
+
+ private final int commits;
+
+ private final long commitTime;
+
+ private final float commitRate;
+
+ private final long commitRateAverageLatency;
+
+ private final int commitsInProgress;
+
+ private final int documents;
+
+ /**
+ * This constructor is to be used by internal JMX framework only. A user should not try to create
+ * an instance of this class.
+ */
+ @ConstructorProperties({"regionPath", "indexName", "queryExecutions", "queryExecutionTime",
+ "queryRate", "queryRateAverageLatency", "queryExecutionsInProgress",
+ "queryExecutionTotalHits", "updates", "updateTime", "updateRate", "updateRateAverageLatency",
+ "updatesInProgress", "commits", "commitTime", "commitRate", "commitRateAverageLatency",
+ "commitsInProgress", "documents"})
+ public LuceneIndexMetrics(String regionPath, String indexName, int queryExecutions,
+ long queryExecutionTime, float queryRate, long queryRateAverageLatency,
+ int queryExecutionsInProgress, long queryExecutionTotalHits, int updates, long updateTime,
+ float updateRate, long updateRateAverageLatency, int updatesInProgress, int commits,
+ long commitTime, float commitRate, long commitRateAverageLatency, int commitsInProgress,
+ int documents) {
+ this.regionPath = regionPath;
+ this.indexName = indexName;
+ this.queryExecutions = queryExecutions;
+ this.queryExecutionTime = queryExecutionTime;
+ this.queryRate = queryRate;
+ this.queryRateAverageLatency = queryRateAverageLatency;
+ this.queryExecutionsInProgress = queryExecutionsInProgress;
+ this.queryExecutionTotalHits = queryExecutionTotalHits;
+ this.updates = updates;
+ this.updateTime = updateTime;
+ this.updateRate = updateRate;
+ this.updateRateAverageLatency = updateRateAverageLatency;
+ this.updatesInProgress = updatesInProgress;
+ this.commits = commits;
+ this.commitTime = commitTime;
+ this.commitRate = commitRate;
+ this.commitRateAverageLatency = commitRateAverageLatency;
+ this.commitsInProgress = commitsInProgress;
+ this.documents = documents;
+ }
+
+ public String getRegionPath() {
+ return this.regionPath;
+ }
+
+ public String getIndexName() {
+ return this.indexName;
+ }
+
+ public int getQueryExecutions() {
+ return this.queryExecutions;
+ }
+
+ public long getQueryExecutionTime() {
+ return this.queryExecutionTime;
+ }
+
+ public float getQueryRate() {
+ return this.queryRate;
+ }
+
+ public long getQueryRateAverageLatency() {
+ return this.queryRateAverageLatency;
+ }
+
+ public int getQueryExecutionsInProgress() {
+ return this.queryExecutionsInProgress;
+ }
+
+ public long getQueryExecutionTotalHits() {
+ return this.queryExecutionTotalHits;
+ }
+
+ public int getUpdates() {
+ return this.updates;
+ }
+
+ public long getUpdateTime() {
+ return this.updateTime;
+ }
+
+ public float getUpdateRate() {
+ return this.updateRate;
+ }
+
+ public long getUpdateRateAverageLatency() {
+ return this.updateRateAverageLatency;
+ }
+
+ public int getUpdatesInProgress() {
+ return this.updatesInProgress;
+ }
+
+ public int getCommits() {
+ return this.commits;
+ }
+
+ public long getCommitTime() {
+ return this.commitTime;
+ }
+
+ public float getCommitRate() {
+ return this.commitRate;
+ }
+
+ public long getCommitRateAverageLatency() {
+ return this.commitRateAverageLatency;
+ }
+
+ public int getCommitsInProgress() {
+ return this.commitsInProgress;
+ }
+
+ public int getDocuments() {
+ return documents;
+ }
+
+ @Override
+ public String toString() {
+ return new StringBuilder().append(getClass().getSimpleName()).append("[").append("regionPath=")
+ .append(this.regionPath).append("; indexName=").append(this.indexName)
+ .append("; queryExecutions=").append(this.queryExecutions).append("; queryExecutionTime=")
+ .append(this.queryExecutionTime).append("; queryRate=").append(this.queryRate)
+ .append("; queryRateAverageLatency=").append(this.queryRateAverageLatency)
+ .append("; queryExecutionsInProgress=").append(this.queryExecutionsInProgress)
+ .append("; queryExecutionTotalHits=").append(this.queryExecutionTotalHits)
+ .append("; updates=").append(this.updates).append("; updateTime=").append(this.updateTime)
+ .append("; updateRate=").append(this.updateRate).append("; updateRateAverageLatency=")
+ .append(this.updateRateAverageLatency).append("; updatesInProgress=")
+ .append(this.updatesInProgress).append("; commits=").append(this.commits)
+ .append("; commitTime=").append(this.commitTime).append("; commitRate=")
+ .append(this.commitRate).append("; commitRateAverageLatency=")
+ .append(this.commitRateAverageLatency).append("; commitsInProgress=")
+ .append(this.commitsInProgress).append("; documents=").append(this.documents).append("]")
+ .toString();
+ }
+}
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneServiceMXBean.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneServiceMXBean.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneServiceMXBean.java
new file mode 100644
index 0000000..80ad575
--- /dev/null
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/management/LuceneServiceMXBean.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.cache.lucene.management;
+
+import org.apache.geode.management.internal.security.ResourceOperation;
+import org.apache.geode.security.ResourcePermission.Operation;
+import org.apache.geode.security.ResourcePermission.Resource;
+
+/**
+ * MBean that provides access to the {@link org.apache.geode.cache.lucene.LuceneService}.
+ */
+@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
+public interface LuceneServiceMXBean {
+
+ /**
+ * Returns an array of {@link LuceneIndexMetrics} for the
+ * {@link org.apache.geode.cache.lucene.LuceneIndex} instances defined in this member
+ *
+ * @return an array of LuceneIndexMetrics for the LuceneIndexes defined in this member
+ */
+ public LuceneIndexMetrics[] listIndexMetrics();
+
+ /**
+ * Returns an array of {@link LuceneIndexMetrics} for the
+ * {@link org.apache.geode.cache.lucene.LuceneIndex} instances defined on the input region in this
+ * member
+ *
+ * @param regionPath The full path of the region to retrieve
+ *
+ * @return an array of LuceneIndexMetrics for the LuceneIndex instances defined on the input
+ * region in this member
+ */
+ public LuceneIndexMetrics[] listIndexMetrics(String regionPath);
+
+ /**
+ * Returns a {@link LuceneIndexMetrics} for the {@link org.apache.geode.cache.lucene.LuceneIndex}
+ * with the input index name defined on the input region in this member.
+ *
+ * @param regionPath The full path of the region to retrieve
+ * @param indexName The name of the index to retrieve
+ *
+ * @return a LuceneIndexMetrics for the LuceneIndex with the input index name defined on the input
+ * region in this member.
+ */
+ public LuceneIndexMetrics listIndexMetrics(String regionPath, String indexName);
+}
http://git-wip-us.apache.org/repos/asf/geode/blob/946ff6ee/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/management/LuceneManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/management/LuceneManagementDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/management/LuceneManagementDUnitTest.java
index 73c4183..36a8e55 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/management/LuceneManagementDUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/management/LuceneManagementDUnitTest.java
@@ -19,6 +19,8 @@ import org.apache.geode.cache.lucene.LuceneQuery;
import org.apache.geode.cache.lucene.LuceneQueryException;
import org.apache.geode.cache.lucene.LuceneService;
import org.apache.geode.cache.lucene.LuceneServiceProvider;
+import org.apache.geode.cache.lucene.management.LuceneIndexMetrics;
+import org.apache.geode.cache.lucene.management.LuceneServiceMXBean;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.management.ManagementTestBase;