public String printAll()

in tooling/perf-regression/src/main/java/org/apache/camel/quarkus/performance/regression/PerformanceRegressionReport.java [48:95]


    public String printAll() {
        Table table = Table.create("Camel Quarkus Throughput Performance Increase Compared to Previous Version");

        StringColumn cqVersionsColumn = StringColumn.create("Camel Quarkus version");
        StringColumn durationsColumn = StringColumn.create("Duration");
        StringColumn jvmMeasuresColumn = StringColumn.create("JVM req/s [%increase]");
        StringColumn nativeMeasuresColumn = StringColumn.create("Native req/s [%increase]");
        StringColumn statusColumn = StringColumn.create("Status");
        double previousJvmMeasure = Double.POSITIVE_INFINITY;
        double previousNativeMeasure = Double.POSITIVE_INFINITY;

        for (Map.Entry<ComparableVersion, Map<String, Double>> measurePerVersion : measuresPerVersion.entrySet()) {
            cqVersionsColumn.append(measurePerVersion.getKey().toString());
            durationsColumn.append(duration);
            boolean regressionDetected = false;

            double jvmMeasure = measurePerVersion.getValue().get("JVM");
            double percentIncreaseJvm = (previousJvmMeasure == Double.POSITIVE_INFINITY) ? 0.0
                    : ((jvmMeasure / previousJvmMeasure) - 1.0) * 100.0;
            jvmMeasuresColumn.append(String.format(Locale.US, "%.2f req/s [%+.2f%%]", jvmMeasure, percentIncreaseJvm));
            previousJvmMeasure = jvmMeasure;
            if (percentIncreaseJvm <= -5.00) {
                regressionDetected = true;
            }

            if (measurePerVersion.getValue().containsKey("Native")) {
                double nativeMeasure = measurePerVersion.getValue().get("Native");
                double percentIncreaseNative = (previousNativeMeasure == Double.POSITIVE_INFINITY) ? 0.0
                        : ((nativeMeasure / previousNativeMeasure) - 1.0) * 100.0;
                nativeMeasuresColumn
                        .append(String.format(Locale.US, "%.2f req/s [%+.2f%%]", nativeMeasure, percentIncreaseNative));
                previousNativeMeasure = nativeMeasure;
                if (percentIncreaseNative <= -5.00) {
                    regressionDetected = true;
                }
            }

            statusColumn.append(regressionDetected ? "Potential performance regression" : "OK");
        }

        if (!nativeMeasuresColumn.isEmpty()) {
            table.addColumns(cqVersionsColumn, durationsColumn, jvmMeasuresColumn, nativeMeasuresColumn, statusColumn);
        } else {
            table.addColumns(cqVersionsColumn, durationsColumn, jvmMeasuresColumn, statusColumn);
        }

        return table.printAll();
    }