You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by al...@apache.org on 2022/08/17 13:14:19 UTC

[camel-quarkus] branch main updated: perf-regression: add unit test #4001

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 <al...@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