From 2e43ee159277eaeecd3a7b265d0f5c3badfc8954 Mon Sep 17 00:00:00 2001 From: Evgeny Mandrikov Date: Thu, 15 Dec 2011 17:04:21 +0000 Subject: SONARPLUGINS-1023 Display total running time at the end of analysis --- src/main/java/org/sonar/runner/Main.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/sonar/runner/Main.java b/src/main/java/org/sonar/runner/Main.java index aba4a10..8ee7ccb 100644 --- a/src/main/java/org/sonar/runner/Main.java +++ b/src/main/java/org/sonar/runner/Main.java @@ -44,6 +44,7 @@ import java.util.Properties; public final class Main { public static void main(String[] args) { + long startTime = System.currentTimeMillis(); try { Properties props = loadProperties(args); Runner runner = Runner.create(props); @@ -56,15 +57,26 @@ public final class Main { } catch (IOException e) { throw new RuntimeException(e); } finally { - printMemoryUsage(); + printStats(startTime); } } - private static final long MB = 1024 * 1024; + private static void printStats(long startTime) { + long time = System.currentTimeMillis() - startTime; + log("Total time: " + formatTime(time)); - private static void printMemoryUsage() { + System.gc(); Runtime r = Runtime.getRuntime(); - log("Final Memory: " + (r.totalMemory() - r.freeMemory()) / MB + "M/" + r.totalMemory() / MB + "M"); + long mb = 1024 * 1024; + log("Final Memory: " + (r.totalMemory() - r.freeMemory()) / mb + "M/" + r.totalMemory() / mb + "M"); + } + + static String formatTime(long time) { + long h = time / (60 * 60 * 1000); + long m = (time - h * 60 * 60 * 1000) / (60 * 1000); + long s = (time - h * 60 * 60 * 1000 - m * 60 * 1000) / 1000; + long ms = time % 1000; + return String.format("%1$d:%2$02d:%3$02d.%4$03ds", h, m, s, ms); } static Properties loadProperties(String[] args) { -- cgit v1.2.3