package com.zillabyte.motherbrain.benchmarking; import java.util.Map; import org.apache.log4j.Logger; import com.google.common.collect.Maps; public class StderrBenchmarker extends Benchmark { private static final long serialVersionUID = -724934236310162049L; private static Logger _log = Logger.getLogger(StderrBenchmarker.class); private Map<String, Long> _map = Maps.newHashMap(); /** * * @param scope * @param name */ @Override public void begin(String name) { //System.err.println("Benchmark start: " + name); if (_map.containsKey(name)) { _log.warn("benchmark key already existis for thread: " + name); return; } _map.put(name, System.currentTimeMillis()); } /*** * * @param scope * @param name */ @Override public void end(String name) { Long start = _map.remove(name); if (start == null) { _log.error("banchmark '" + name + "' did not have a corresponding begin()" ); return; } long delta = System.currentTimeMillis() - start; System.err.println("Benchmark end. '" + name + "' took: " + (delta/1000.0) + "s"); } }