diff --git a/data-prepper-plugins/grok-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessor.java b/data-prepper-plugins/grok-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessor.java index 391d50f603..8b8b7f2e90 100644 --- a/data-prepper-plugins/grok-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessor.java +++ b/data-prepper-plugins/grok-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessor.java @@ -149,13 +149,15 @@ public Collection> doExecute(final Collection> recor final Instant endTime = Instant.now(); - Long totalEventTimeInGrok = (Long) event.getMetadata().getAttribute(TOTAL_TIME_SPENT_IN_GROK_METADATA_KEY); - if (totalEventTimeInGrok == null) { - totalEventTimeInGrok = 0L; - } + if (grokProcessorConfig.getIncludePerformanceMetadata()) { + Long totalEventTimeInGrok = (Long) event.getMetadata().getAttribute(TOTAL_TIME_SPENT_IN_GROK_METADATA_KEY); + if (totalEventTimeInGrok == null) { + totalEventTimeInGrok = 0L; + } - final long timeSpentInThisGrok = endTime.toEpochMilli() - startTime.toEpochMilli(); - event.getMetadata().setAttribute(TOTAL_TIME_SPENT_IN_GROK_METADATA_KEY, totalEventTimeInGrok + timeSpentInThisGrok); + final long timeSpentInThisGrok = endTime.toEpochMilli() - startTime.toEpochMilli(); + event.getMetadata().setAttribute(TOTAL_TIME_SPENT_IN_GROK_METADATA_KEY, totalEventTimeInGrok + timeSpentInThisGrok); + } } return records; } diff --git a/data-prepper-plugins/grok-processor/src/test/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessorTests.java b/data-prepper-plugins/grok-processor/src/test/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessorTests.java index d2ff11c3e0..e6fc984d8e 100644 --- a/data-prepper-plugins/grok-processor/src/test/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessorTests.java +++ b/data-prepper-plugins/grok-processor/src/test/java/org/opensearch/dataprepper/plugins/processor/grok/GrokProcessorTests.java @@ -190,6 +190,7 @@ public void testMatchMerge() throws JsonProcessingException, ExecutionException, assertThat(grokkedRecords.get(0).getData(), notNullValue()); assertThat(grokkedRecords.get(0).getData().getMetadata(), notNullValue()); assertThat(grokkedRecords.get(0).getData().getMetadata().getAttribute(TOTAL_PATTERNS_ATTEMPTED_METADATA_KEY), equalTo(null)); + assertThat(grokkedRecords.get(0).getData().getMetadata().getAttribute(TOTAL_TIME_SPENT_IN_GROK_METADATA_KEY), equalTo(null)); assertRecordsAreEqual(grokkedRecords.get(0), resultRecord); verify(grokProcessingMatchCounter, times(1)).increment(); diff --git a/data-prepper-plugins/s3-sink/build.gradle b/data-prepper-plugins/s3-sink/build.gradle index 8a792174de..7f85ac7aef 100644 --- a/data-prepper-plugins/s3-sink/build.gradle +++ b/data-prepper-plugins/s3-sink/build.gradle @@ -22,7 +22,7 @@ dependencies { implementation libs.hadoop.common implementation 'org.apache.parquet:parquet-avro:1.13.1' implementation 'software.amazon.awssdk:apache-client' - implementation 'org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22' + implementation 'org.jetbrains.kotlin:kotlin-stdlib-common:1.9.23' implementation libs.commons.lang3 testImplementation project(':data-prepper-test-common') testImplementation project(':data-prepper-plugins:parquet-codecs')