diff --git a/README.md b/README.md index 7aeca775..d17f69a2 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,8 @@ This software is licensed under [Elastic License v2](https://www.elastic.co/lice - Clone or download the Github repo. In order to clone the repo you must have Git installed and running. See the instructions appropriate for your operating system. - Make sure you have a JDK version 17 or greater. It **must** be a JDK, not a JRE or you will not be able to compile. - Set the `JAVA_HOME` environment variable to point to your JDK installation. -- Make sure a recent version of Maven is installed on the build machine. -- Create a `MAVEN_HOME` directory pointing to the location you've unzipped it to. -- `cd` to the top level repo directory and type `mvn package`. -- The release artifacts will be contained in the `target` directory. +- `cd` to the top level repo directory and type `./gradlew build`. +- The release artifacts will be contained in the `build/libs` directory. ### Creating A Docker Image diff --git a/src/main/resources/logstash-diagnostic-templates/flow_metrics.html.ftlh b/src/main/resources/logstash-diagnostic-templates/flow_metrics.html.ftlh index 5bd248ec..21238926 100644 --- a/src/main/resources/logstash-diagnostic-templates/flow_metrics.html.ftlh +++ b/src/main/resources/logstash-diagnostic-templates/flow_metrics.html.ftlh @@ -757,6 +757,11 @@ }; } + const hasBatchP50 = _try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p50) !== "" + || _try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p50) !== ""; + const hasBatchP90 = _try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p90) !== "" + || _try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p90) !== ""; + return ( @@ -833,6 +838,89 @@ + + {_try(() => data.stats.pipelines[selectedPipeline.name].batch) && ( + + + Batch structure + } /> + + + + + + + Metric + Current + Average + {hasBatchP50 && p50} + {hasBatchP90 && p90} + + + + + + {hasBatchP50 && + 1 min + 5 min + 15 min + } + {hasBatchP90 && + 1 min + 5 min + 15 min + } + + + + + Event count + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.current)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.average.lifetime)} + {hasBatchP50 && + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p50.last_1_minute)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p50.last_5_minutes)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p50.last_15_minutes)} + } + {hasBatchP90 && + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p90.last_1_minute)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p90.last_5_minutes)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.event_count.p90.last_15_minutes)} + } + + + Byte size + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.current)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.average.lifetime)} + {hasBatchP50 && + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p50.last_1_minute)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p50.last_5_minutes)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p50.last_15_minutes)} + } + {hasBatchP90 && + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p90.last_1_minute)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p90.last_5_minutes)} + {_try(() => data.stats.pipelines[selectedPipeline.name].batch.byte_size.p90.last_15_minutes)} + } + + +
+
+
+
+ )}