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]

Reply via email to