Skip to content

Commit 952f2c5

Browse files
A simple metric capturing mechanism to expose metrics to queries
1 parent ec6742e commit 952f2c5

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

server/src/main/java/org/elasticsearch/index/store/MetricHolder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
package org.elasticsearch.index.store;
1111

1212
public interface MetricHolder<M> {
13-
static <M> MetricHolder<M> noop() {
13+
static <M> MetricHolder<M> noop(M noopData) {
1414
return new MetricHolder<>() {
1515

1616
@Override
@@ -20,8 +20,7 @@ public MetricHolder<M> singleThreaded() {
2020

2121
@Override
2222
public M instance() {
23-
// todo fix this
24-
return null;
23+
return noopData;
2524
}
2625
};
2726
}

server/src/main/java/org/elasticsearch/index/store/StoreMetrics.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
package org.elasticsearch.index.store;
1111

1212
public class StoreMetrics {
13+
public static final MetricHolder<StoreMetrics> NOOP_HOLDER = MetricHolder.noop(new StoreMetrics() {
14+
@Override
15+
public void addBytesRead(long amount) {
16+
}
17+
});
18+
1319
private long bytesRead;
1420

1521
public long getBytesRead() {

server/src/test/java/org/elasticsearch/index/IndexModuleTests.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
import org.elasticsearch.index.store.FsDirectoryFactory;
8585
import org.elasticsearch.index.store.MetricHolder;
8686
import org.elasticsearch.index.store.Store;
87+
import org.elasticsearch.index.store.StoreMetrics;
8788
import org.elasticsearch.indices.IndicesModule;
8889
import org.elasticsearch.indices.IndicesQueryCache;
8990
import org.elasticsearch.indices.TestIndexNameExpressionResolver;
@@ -265,7 +266,7 @@ public void testWrapperIsBound() throws IOException {
265266
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
266267
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
267268
MergeMetrics.NOOP,
268-
MetricHolder.noop()
269+
StoreMetrics.NOOP_HOLDER
269270
);
270271
module.setReaderWrapper(s -> new Wrapper());
271272

@@ -297,7 +298,7 @@ public void testRegisterIndexStore() throws IOException {
297298
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
298299
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
299300
MergeMetrics.NOOP,
300-
MetricHolder.noop()
301+
StoreMetrics.NOOP_HOLDER
301302
);
302303

303304
final IndexService indexService = newIndexService(module);
@@ -327,7 +328,7 @@ public void testDirectoryWrapper() throws IOException {
327328
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
328329
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
329330
MergeMetrics.NOOP,
330-
MetricHolder.noop()
331+
StoreMetrics.NOOP_HOLDER
331332
);
332333

333334
module.setDirectoryWrapper(new TestDirectoryWrapper());
@@ -685,7 +686,7 @@ public void testRegisterCustomRecoveryStateFactory() throws IOException {
685686
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
686687
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
687688
MergeMetrics.NOOP,
688-
MetricHolder.noop()
689+
StoreMetrics.NOOP_HOLDER
689690
);
690691

691692
final IndexService indexService = newIndexService(module);
@@ -712,7 +713,7 @@ public void testIndexCommitListenerIsBound() throws IOException, ExecutionExcept
712713
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
713714
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
714715
MergeMetrics.NOOP,
715-
MetricHolder.noop()
716+
StoreMetrics.NOOP_HOLDER
716717
);
717718

718719
final AtomicLong lastAcquiredPrimaryTerm = new AtomicLong();
@@ -819,7 +820,7 @@ private static IndexModule createIndexModule(
819820
new IndexingStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
820821
new SearchStatsSettings(ClusterSettings.createBuiltInClusterSettings()),
821822
MergeMetrics.NOOP,
822-
MetricHolder.noop()
823+
StoreMetrics.NOOP_HOLDER
823824
);
824825
}
825826

0 commit comments

Comments
 (0)