package com.niklim.clicktrace; import java.text.MessageFormat; import org.slf4j.Logger; public class TimeMeter { private final long startMilis; private final String label; private final Logger log; private static boolean active = false; public static void init() { active = true; } private TimeMeter(String label, Logger log) { startMilis = System.currentTimeMillis(); this.label = label; this.log = log; } public void stop() { if (!active) return; long measurement = System.currentTimeMillis() - startMilis; String msg = MessageFormat.format("{0} - {1}ms", label, measurement); if (log != null) { log.debug(msg); } else { System.out.println(msg); } } public static TimeMeter start(String label, Logger log) { return new TimeMeter(label, log); } public static TimeMeter start(String label) { return new TimeMeter(label, null); } }