diff --git a/data-access/servlet/src/main/java/ops/cli/ExecCmd.java b/data-access/servlet/src/main/java/ops/cli/ExecCmd.java index 8255b272ee0f6a91477ee11b5e44094c7184d031..43f7692078ca7a85898436fd7ca51e1c27d2bc7d 100644 --- a/data-access/servlet/src/main/java/ops/cli/ExecCmd.java +++ b/data-access/servlet/src/main/java/ops/cli/ExecCmd.java @@ -73,6 +73,8 @@ class ExecCmd LOGGER.info("CMD: " + Arrays.toString(cmd)); + long start_nsec = System.nanoTime(); + Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(cmd); @@ -82,6 +84,8 @@ class ExecCmd // any output? StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT", outputStream); + long meas1_nsec = System.nanoTime(); + // kick them off outputGobbler.start(); errorGobbler.start(); @@ -89,9 +93,21 @@ class ExecCmd outputGobbler.join(); errorGobbler.join(); + long meas2_nsec = System.nanoTime(); + exitValue = proc.waitFor(); + long meas3_nsec = System.nanoTime(); + outputStream.flush(); + + long meas4_nsec = System.nanoTime(); + + LOGGER.info("RUNTIME[nsec] ExecCmd::doRun(): " + + String.valueOf((long)Math.round( (meas1_nsec - start_nsec)/1.0e6 )) + + " " + String.valueOf((long)Math.round( (meas2_nsec - start_nsec)/1.0e6 )) + + " " + String.valueOf((long)Math.round( (meas3_nsec - start_nsec)/1.0e6 )) + + " " + String.valueOf((long)Math.round( (meas4_nsec - start_nsec)/1.0e6 ))); } diff --git a/data-access/servlet/src/main/java/webapi/ServletCutout.java b/data-access/servlet/src/main/java/webapi/ServletCutout.java index 19e58b5c9dd82ae22b3d18474df40ec90b397e08..c2ad0721f9216e2820dbd38b3ff4c8bd6f2a741a 100644 --- a/data-access/servlet/src/main/java/webapi/ServletCutout.java +++ b/data-access/servlet/src/main/java/webapi/ServletCutout.java @@ -244,6 +244,7 @@ public class ServletCutout extends HttpServlet { boolean showDuration = settings.defaults.showDuration; long startTime_msec = System.currentTimeMillis(); + long startTime_nsec = System.nanoTime(); ServletOutputStream respOutputStream = response.getOutputStream(); @@ -338,6 +339,7 @@ public class ServletCutout extends HttpServlet respOutputStream.close(); } + LOGGER.info("RUNTIME[nsec] Servlet::execRequest: "+String.valueOf(System.nanoTime() - startTime_nsec)); } private String convertLocalPathnameToRemoteUrl(String localPathname,