You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by kb...@apache.org on 2023/11/13 08:32:51 UTC
(incubator-kie-kogito-benchmarks) 24/38: BAQE-1911 - Explicitly set heap size for tested apps
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 <mm...@redhat.com>
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: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org