This is an automated email from the ASF dual-hosted git repository. aldettinger pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new d70da15319 perf-regression: add unit test #4001 d70da15319 is described below commit d70da15319ef65e9357fbd6c10367fae3e3081ad Author: aldettinger <aldettin...@gmail.com> AuthorDate: Wed Aug 17 10:52:04 2022 +0200 perf-regression: add unit test #4001 --- .../PerformanceRegressionReportTest.java | 36 ++++++++++++++++------ .../test/resources/expecteds/jvm-and-native.txt | 8 +++++ .../src/test/resources/expecteds/jvm-only.txt | 6 ++++ .../perf-regression-expecteds/nominal.txt | 6 ---- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/tooling/perf-regression/src/test/java/org/apache/camel/quarkus/performance/regression/PerformanceRegressionReportTest.java b/tooling/perf-regression/src/test/java/org/apache/camel/quarkus/performance/regression/PerformanceRegressionReportTest.java index 6424ea1454..14c7b500ae 100644 --- a/tooling/perf-regression/src/test/java/org/apache/camel/quarkus/performance/regression/PerformanceRegressionReportTest.java +++ b/tooling/perf-regression/src/test/java/org/apache/camel/quarkus/performance/regression/PerformanceRegressionReportTest.java @@ -27,18 +27,34 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class PerformanceRegressionReportTest { @Test - public void printAllShouldSucceed() throws IOException { + public void printAllJvmAndNativeShouldSucceed() throws IOException { PerformanceRegressionReport sut = new PerformanceRegressionReport("10m"); - sut.setCategoryMeasureForVersion("2.10.0", "JVM", 360.0); - sut.setCategoryMeasureForVersion("2.8.0", "JVM", 380.0); - sut.setCategoryMeasureForVersion("2.9.0", "JVM", 390.0); - - sut.setCategoryMeasureForVersion("2.10.0", "Native", 1000.0); - sut.setCategoryMeasureForVersion("2.8.0", "Native", 1080.0); - sut.setCategoryMeasureForVersion("2.9.0", "Native", 1090.0); - - String expected = IOUtils.resourceToString("/perf-regression-expecteds/nominal.txt", StandardCharsets.UTF_8); + sut.setCategoryMeasureForVersion("2.10.0", "JVM", 333.45); + sut.setCategoryMeasureForVersion("2.6.0", "JVM", 380.0); + sut.setCategoryMeasureForVersion("2.8.75", "JVM", 370.5); + sut.setCategoryMeasureForVersion("2.7.0", "JVM", 390.0); + sut.setCategoryMeasureForVersion("2.9.0", "JVM", 370.5); + + sut.setCategoryMeasureForVersion("2.10.0", "Native", 225.0); + sut.setCategoryMeasureForVersion("2.6.0", "Native", 1080.0); + sut.setCategoryMeasureForVersion("2.8.75", "Native", 1134.0); + sut.setCategoryMeasureForVersion("2.7.0", "Native", 1134.0); + sut.setCategoryMeasureForVersion("2.9.0", "Native", 250.0); + + String expected = IOUtils.resourceToString("/expecteds/jvm-and-native.txt", StandardCharsets.UTF_8); + expected = expected.replaceAll("\\n", System.lineSeparator()); assertEquals(expected, sut.printAll()); } + @Test + public void printAllJvmShouldSucceed() throws IOException { + PerformanceRegressionReport sut = new PerformanceRegressionReport("1h"); + sut.setCategoryMeasureForVersion("2.10.0", "JVM", 900.00); + sut.setCategoryMeasureForVersion("2.6.0", "JVM", 300.0); + sut.setCategoryMeasureForVersion("3.61.15", "JVM", 300.0); + + String expected = IOUtils.resourceToString("/expecteds/jvm-only.txt", StandardCharsets.UTF_8); + expected = expected.replaceAll("\\n", System.lineSeparator()); + assertEquals(expected, sut.printAll()); + } } diff --git a/tooling/perf-regression/src/test/resources/expecteds/jvm-and-native.txt b/tooling/perf-regression/src/test/resources/expecteds/jvm-and-native.txt new file mode 100644 index 0000000000..b815757fcf --- /dev/null +++ b/tooling/perf-regression/src/test/resources/expecteds/jvm-and-native.txt @@ -0,0 +1,8 @@ + Camel Quarkus Throughput Performance Increase Compared to Previous Version + Camel Quarkus version | Duration | JVM req/s [%increase] | Native req/s [%increase] | Status | +----------------------------------------------------------------------------------------------------------------------------------- + 2.6.0 | 10m | 380.00 req/s [+0.00%] | 1080.00 req/s [+0.00%] | OK | + 2.7.0 | 10m | 390.00 req/s [+2.63%] | 1134.00 req/s [+5.00%] | OK | + 2.8.75 | 10m | 370.50 req/s [-5.00%] | 1134.00 req/s [+0.00%] | Potential performance regression | + 2.9.0 | 10m | 370.50 req/s [+0.00%] | 250.00 req/s [-77.95%] | Potential performance regression | + 2.10.0 | 10m | 333.45 req/s [-10.00%] | 225.00 req/s [-10.00%] | Potential performance regression | \ No newline at end of file diff --git a/tooling/perf-regression/src/test/resources/expecteds/jvm-only.txt b/tooling/perf-regression/src/test/resources/expecteds/jvm-only.txt new file mode 100644 index 0000000000..b62fddcde1 --- /dev/null +++ b/tooling/perf-regression/src/test/resources/expecteds/jvm-only.txt @@ -0,0 +1,6 @@ + Camel Quarkus Throughput Performance Increase Compared to Previous Version + Camel Quarkus version | Duration | JVM req/s [%increase] | Status | +------------------------------------------------------------------------------------------------------- + 2.6.0 | 1h | 300.00 req/s [+0.00%] | OK | + 2.10.0 | 1h | 900.00 req/s [+200.00%] | OK | + 3.61.15 | 1h | 300.00 req/s [-66.67%] | Potential performance regression | \ No newline at end of file diff --git a/tooling/perf-regression/src/test/resources/perf-regression-expecteds/nominal.txt b/tooling/perf-regression/src/test/resources/perf-regression-expecteds/nominal.txt deleted file mode 100644 index ff49459f93..0000000000 --- a/tooling/perf-regression/src/test/resources/perf-regression-expecteds/nominal.txt +++ /dev/null @@ -1,6 +0,0 @@ - Camel Quarkus Throughput Performance Increase Compared to Previous Version - Camel Quarkus version | Duration | JVM req/s [%increase] | Native req/s [%increase] | Status | ----------------------------------------------------------------------------------------------------------------------------------- - 2.8.0 | 10m | 380.00 req/s [+0.00%] | 1080.00 req/s [+0.00%] | OK | - 2.9.0 | 10m | 390.00 req/s [+2.63%] | 1090.00 req/s [+0.93%] | OK | - 2.10.0 | 10m | 360.00 req/s [-7.69%] | 1000.00 req/s [-8.26%] | Potential performance regression | \ No newline at end of file