1 *** Main.java.old 2024-04-11 16:17:12.132429143 -0700 2 --- Main.java 2024-04-11 16:22:52.143865272 -0700 3 *************** 4 *** 1,6 **** 5 --- 1,8 ---- 6 7 package io.helidon.examples.quickstart.se; 8 9 + import java.lang.management.ManagementFactory; 10 + import java.lang.management.RuntimeMXBean; 11 12 import io.helidon.logging.common.LogConfig; 13 import io.helidon.config.Config; 14 *************** 15 *** 29,34 **** 16 --- 31,43 ---- 17 */ 18 public static void main(String[] args) { 19 20 + long mainStart = System.currentTimeMillis(); 21 + RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); 22 + // This includes all the time spent inside the JVM before main() is reached 23 + // (since os::Posix::init is called and initial_time_count is initialized). 24 + long vmStart = runtimeMXBean.getStartTime(); 25 + long maxBeanOverHead = System.currentTimeMillis() - mainStart; 26 + 27 // load logging configuration 28 LogConfig.configureRuntime(); 29 30 *************** 31 *** 46,51 **** 32 --- 55,71 ---- 33 34 System.out.println("WEB server is up! http://localhost:" + server.port() + "/simple-greet"); 35 36 + long end = System.currentTimeMillis(); 37 + Boolean quit = Boolean.getBoolean("autoQuit"); 38 + if (quit) { 39 + System.out.println("#### Booted and returned in " + (end - vmStart - maxBeanOverHead) + "ms"); 40 + System.out.println("#### (debug) mainStart = " + mainStart); 41 + System.out.println("#### (debug) vmStart = " + vmStart); 42 + System.out.println("#### (debug) before main (mainStart - vmStart) = " + (mainStart - vmStart)); 43 + System.out.println("#### (debug) maxBeanOverHead = " + maxBeanOverHead); 44 + System.out.println("#### (debug) end = " + end); 45 + System.exit(0); 46 + } 47 } 48 49