Skip to content

Commit f49c0cb

Browse files
authored
Update Java section of config report (#354)
* Add java information section to output file * Create java section of config report from output file
1 parent 26e98b3 commit f49c0cb

File tree

4 files changed

+40
-20
lines changed

4 files changed

+40
-20
lines changed

reports/report.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,7 +1581,8 @@ def print_action_summary():
15811581
report_json_fh.close()
15821582

15831583
config_json = jb["config"]
1584-
createConfigReport(config_json, config_filename)
1584+
java_json = jb["java"]
1585+
createConfigReport(config_json, java_json, config_filename)
15851586

15861587
os.chdir(cwd)
15871588

@@ -1607,9 +1608,8 @@ def print_action_summary():
16071608
| id | value
16081609
'''
16091610

1610-
def createConfigReport(config_json, config_filename):
1611+
def createConfigReport(config_json, java_json, config_filename):
16111612
#print(config_filename)
1612-
#print(config_json)
16131613

16141614
def printf(s):
16151615
report_fh.write(s)
@@ -1851,19 +1851,18 @@ def action_name(s):
18511851
printf("\n")
18521852
printf("== JVM System Properties\n")
18531853
printf("\n")
1854-
printf("* java.vendor: %s\n"%(System.getProperty("java.vendor")))
1855-
printf("* java.version: %s\n"%(System.getProperty("java.version")))
1856-
printf("* os.name: %s\n"%(System.getProperty("os.name")))
1857-
printf("* os.arch: %s\n"%(System.getProperty("os.arch")))
1854+
printf("* java.vendor: %s\n"%(java_json["jvm.system.properties"]["java.vendor"]))
1855+
printf("* java.version: %s\n"%(java_json["jvm.system.properties"]["java.version"]))
1856+
printf("* java.runtime.version: %s\n"%(java_json["jvm.system.properties"]["java.runtime.version"]))
1857+
printf("* os.name: %s\n"%(java_json["jvm.system.properties"]["os.name"]))
1858+
printf("* os.arch: %s\n"%(java_json["jvm.system.properties"]["os.arch"]))
18581859

18591860
# JVM Runtime Options
18601861
printf("\n")
18611862
printf("== JVM Runtime Options\n")
18621863
printf("\n")
1863-
jvmArgs = ManagementFactory.getRuntimeMXBean().getInputArguments()
1864-
jvmArgs = jvmArgs.stream().distinct().collect(Collectors.toList())
18651864
idx = 0
1866-
for arg in jvmArgs:
1865+
for arg in java_json["jvm.runtime.options"]:
18671866
idx += 1
18681867
printf("* Option %d: %s\n"%(idx, arg))
18691868

tulip-runtime/src/main/java/io/github/wfouche/tulip/api/TulipApi.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import java.io.File;
88
import java.io.IOException;
99
import java.io.InputStreamReader;
10+
import java.lang.management.ManagementFactory;
1011
import java.nio.charset.StandardCharsets;
1112
import java.util.concurrent.Callable;
13+
import java.util.stream.Collectors;
1214
import picocli.CommandLine;
1315
import picocli.CommandLine.ArgGroup;
1416
import picocli.CommandLine.Command;
@@ -121,6 +123,30 @@ public static boolean isUtf8Terminal() {
121123
}
122124
}
123125

126+
public static String getJavaInformation() {
127+
var s = "{ \"jvm.system.properties\": {";
128+
s += "\"java.vendor\"" + ":\"" + System.getProperty("java.vendor") + "\", ";
129+
s += "\"java.version\"" + ":\"" + System.getProperty("java.version") + "\", ";
130+
s +=
131+
"\"java.runtime.version\""
132+
+ ":\""
133+
+ System.getProperty("java.runtime.version")
134+
+ "\", ";
135+
s += "\"os.name\"" + ":\"" + System.getProperty("os.name") + "\", ";
136+
s += "\"os.arch\"" + ":\"" + System.getProperty("os.arch") + "\"}, ";
137+
s += " \"jvm.runtime.options\": ";
138+
var jvmArgs = ManagementFactory.getRuntimeMXBean().getInputArguments();
139+
if (!jvmArgs.isEmpty()) {
140+
s +=
141+
jvmArgs.stream()
142+
.distinct()
143+
.map(arg -> "\"" + arg.replace("\"", "\\\"") + "\"")
144+
.collect(Collectors.joining(", ", "[", "]"));
145+
}
146+
s += " }";
147+
return s;
148+
}
149+
124150
/**
125151
* displayElapsedTime
126152
*

0 commit comments

Comments
 (0)