浏览代码

Do not report document metering on system indices (#107041)

For system indices we don't want to emit metrics. DocumentSizeReporter will be created given an index. It will internally contain a SystemIndices instance that will verify the indexName with isSystemName
Przemyslaw Gomulka 1 年之前
父节点
当前提交
84d61579c1

+ 6 - 0
docs/changelog/107041.yaml

@@ -0,0 +1,6 @@
+pr: 107041
+summary: '`DocumentParsingObserver` to accept an `indexName` to allow skipping system
+  indices'
+area: Infra/Metrics
+type: enhancement
+issues: []

+ 1 - 1
modules/ingest-common/src/internalClusterTest/java/org/elasticsearch/plugins/internal/DocumentSizeObserverWithPipelinesIT.java

@@ -92,7 +92,7 @@ public class DocumentSizeObserverWithPipelinesIT extends ESIntegTestCase {
                 }
 
                 @Override
-                public DocumentSizeReporter getDocumentParsingReporter() {
+                public DocumentSizeReporter getDocumentParsingReporter(String indexName) {
                     return new TestDocumentSizeReporter();
                 }
             };

+ 1 - 1
server/src/internalClusterTest/java/org/elasticsearch/plugins/internal/DocumentSizeObserverIT.java

@@ -86,7 +86,7 @@ public class DocumentSizeObserverIT extends ESIntegTestCase {
                 }
 
                 @Override
-                public DocumentSizeReporter getDocumentParsingReporter() {
+                public DocumentSizeReporter getDocumentParsingReporter(String indexName) {
                     return new TestDocumentSizeReporter();
                 }
             };

+ 1 - 1
server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java

@@ -487,7 +487,7 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
         final BulkItemResponse executionResult = context.getExecutionResult();
         final boolean isFailed = executionResult.isFailed();
         if (isFailed == false && opType != DocWriteRequest.OpType.DELETE) {
-            DocumentSizeReporter documentSizeReporter = documentParsingProvider.getDocumentParsingReporter();
+            DocumentSizeReporter documentSizeReporter = documentParsingProvider.getDocumentParsingReporter(docWriteRequest.index());
             DocumentSizeObserver documentSizeObserver = context.getDocumentSizeObserver();
             documentSizeReporter.onCompleted(docWriteRequest.index(), documentSizeObserver.normalisedBytesParsed());
         }

+ 2 - 2
server/src/main/java/org/elasticsearch/plugins/internal/DocumentParsingProvider.java

@@ -19,7 +19,7 @@ public interface DocumentParsingProvider {
         }
 
         @Override
-        public DocumentSizeReporter getDocumentParsingReporter() {
+        public DocumentSizeReporter getDocumentParsingReporter(String indexName) {
             return DocumentSizeReporter.EMPTY_INSTANCE;
         }
 
@@ -42,6 +42,6 @@ public interface DocumentParsingProvider {
     /**
      * @return an instance of a reporter to use when parsing has been completed and indexing successful
      */
-    DocumentSizeReporter getDocumentParsingReporter();
+    DocumentSizeReporter getDocumentParsingReporter(String indexName);
 
 }

+ 1 - 1
server/src/test/java/org/elasticsearch/ingest/IngestServiceTests.java

@@ -1206,7 +1206,7 @@ public class IngestServiceTests extends ESTestCase {
             }
 
             @Override
-            public DocumentSizeReporter getDocumentParsingReporter() {
+            public DocumentSizeReporter getDocumentParsingReporter(String indexName) {
                 return null;
             }