This is an automated email from the ASF dual-hosted git repository. kbowers pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-benchmarks.git
commit bd4ac3f59de2af6af27165a0b9f730dab2bbac0c Author: Marián Macik <[email protected]> AuthorDate: Fri Jul 30 20:09:59 2021 +0200 BAQE-1911 - Explicitly set heap size for tested apps --- .../java/org/kie/kogito/benchmarks/framework/App.java | 12 +++++++----- .../org/kie/kogito/benchmarks/framework/Commands.java | 16 +++++++++++++--- .../org/kie/kogito/benchmarks/framework/MvnCmds.java | 8 ++++++-- .../src/test/resources/logback-test.xml | 2 ++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/App.java b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/App.java index f9996b9..5984347 100644 --- a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/App.java +++ b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/App.java @@ -29,21 +29,23 @@ import org.apache.commons.lang3.StringUtils; import static org.kie.kogito.benchmarks.framework.Commands.APPS_DIR; public enum App { - SMARTHOUSE_02_QUARKUS_JVM("smarthouse-02-quarkus", MvnCmds.QUARKUS_JVM, URLContent.SMARTHOUSE_02, WhitelistLogLines.EVERYTHING), - SMARTHOUSE_03_QUARKUS_JVM("smarthouse-03-quarkus", MvnCmds.QUARKUS_JVM, URLContent.SMARTHOUSE_03, WhitelistLogLines.EVERYTHING), + SMARTHOUSE_02_QUARKUS_JVM("smarthouse-02-quarkus", MvnCmds.QUARKUS_JVM, new String[] { "-Xms1G", "-Xmx2G" }, URLContent.SMARTHOUSE_02, WhitelistLogLines.EVERYTHING), + SMARTHOUSE_03_QUARKUS_JVM("smarthouse-03-quarkus", MvnCmds.QUARKUS_JVM, new String[] { "-Xms1G", "-Xmx3G" }, URLContent.SMARTHOUSE_03, WhitelistLogLines.EVERYTHING), - SMARTHOUSE_02_SPRING_BOOT("smarthouse-02-springboot", MvnCmds.SPRING_BOOT_JVM, URLContent.SMARTHOUSE_02, WhitelistLogLines.EVERYTHING), - SMARTHOUSE_03_SPRING_BOOT("smarthouse-03-springboot", MvnCmds.SPRING_BOOT_JVM, URLContent.SMARTHOUSE_03, WhitelistLogLines.EVERYTHING); + SMARTHOUSE_02_SPRING_BOOT("smarthouse-02-springboot", MvnCmds.SPRING_BOOT_JVM, new String[] { "-Xms1G", "-Xmx2G" }, URLContent.SMARTHOUSE_02, WhitelistLogLines.EVERYTHING), + SMARTHOUSE_03_SPRING_BOOT("smarthouse-03-springboot", MvnCmds.SPRING_BOOT_JVM, new String[] { "-Xms1G", "-Xmx3G" }, URLContent.SMARTHOUSE_03, WhitelistLogLines.EVERYTHING); public final String dir; public final MvnCmds mavenCommands; + public final String[] jvmArgs; public final URLContent urlContent; public final WhitelistLogLines whitelistLogLines; public final Map<String, Long> thresholdProperties = new HashMap<>(); - App(String dir, MvnCmds mavenCommands, URLContent urlContent, WhitelistLogLines whitelistLogLines) { + App(String dir, MvnCmds mavenCommands, String[] jvmArgs, URLContent urlContent, WhitelistLogLines whitelistLogLines) { this.dir = dir; this.mavenCommands = mavenCommands; + this.jvmArgs = jvmArgs; this.urlContent = urlContent; this.whitelistLogLines = whitelistLogLines; diff --git a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/Commands.java b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/Commands.java index 8a788a6..da65087 100644 --- a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/Commands.java +++ b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/Commands.java @@ -195,7 +195,7 @@ public class Commands { public static RunInfo startApp(App app, StringBuilder whatIDidReport) throws IOException, InterruptedException { File appDir = app.getAppDir(); File runLogA = Path.of(appDir.getAbsolutePath(), "logs", app.mavenCommands.name().toLowerCase() + "-run.log").toFile(); - List<String> cmd = getRunCommand(app.mavenCommands.mvnCmds[1]); + List<String> cmd = getRunCommand(app.mavenCommands.mvnCmds[1], app.jvmArgs); appendln(whatIDidReport, appDir.getAbsolutePath()); appendlnSection(whatIDidReport, String.join(" ", cmd)); Process pA = runCommand(cmd, appDir, runLogA); @@ -243,13 +243,22 @@ public class Commands { } } - public static List<String> getRunCommand(String[] baseCommand) { + public static List<String> getRunCommand(String[] baseCommand, String[] jvmArgs) { List<String> runCmd = new ArrayList<>(); if (isThisWindows) { runCmd.add("cmd"); runCmd.add("/C"); } - runCmd.addAll(Arrays.asList(baseCommand)); + + logger.debug("Filtering command: {}", Arrays.asList(baseCommand)); + for (String cmdPart : baseCommand) { + if (cmdPart.equals(MvnCmds.Placeholders.JVM_ARGS)) { + runCmd.addAll(Arrays.asList(jvmArgs)); + } else { + runCmd.add(cmdPart); + } + } + logger.debug("Command filtered: {}", runCmd); return Collections.unmodifiableList(runCmd); } @@ -315,6 +324,7 @@ public class Commands { } public static Process runCommand(List<String> command, File directory, File logFile) { + logger.info("Running command: {}", String.join(" ", command)); ProcessBuilder pa = new ProcessBuilder(command); Map<String, String> envA = pa.environment(); envA.put("PATH", System.getenv("PATH")); diff --git a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/MvnCmds.java b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/MvnCmds.java index c24143c..8b40b3b 100644 --- a/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/MvnCmds.java +++ b/kogito-benchmarks-framework/src/main/java/org/kie/kogito/benchmarks/framework/MvnCmds.java @@ -23,11 +23,11 @@ import static org.kie.kogito.benchmarks.framework.Commands.getQuarkusNativePrope public enum MvnCmds { QUARKUS_JVM(new String[][] { new String[] { "mvn", "clean", "package", "-Dquarkus.package.output-name=quarkus" }, - new String[] { "java", "-jar", "target/quarkus-runner.jar" } + new String[] { "java", Placeholders.JVM_ARGS, "-jar", "target/quarkus-runner.jar" } }), SPRING_BOOT_JVM(new String[][] { new String[] { "mvn", "clean", "package" }, // The JAR name is unified by setting finalName in the kie-assets-library repo - new String[] { "java", "-jar", "target/smarthouse.jar" } + new String[] { "java", Placeholders.JVM_ARGS, "-jar", "target/smarthouse.jar" } }), // These are not used now but may be useful in the future @@ -61,4 +61,8 @@ public enum MvnCmds { public boolean isJVM() { return this.name().contains("JVM"); } + + public static class Placeholders { + public static final String JVM_ARGS = "$JVM_ARGS"; + } } diff --git a/kogito-benchmarks-tests/src/test/resources/logback-test.xml b/kogito-benchmarks-tests/src/test/resources/logback-test.xml index af25563..4f8d522 100644 --- a/kogito-benchmarks-tests/src/test/resources/logback-test.xml +++ b/kogito-benchmarks-tests/src/test/resources/logback-test.xml @@ -13,4 +13,6 @@ <appender-ref ref="consoleAppender" /> </root> +<!-- <logger name="org.kie.kogito.benchmarks.framework.Commands" level="debug"/>--> + </configuration> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
