package com.codahale.metrics; import java.io.Closeable; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import io.dropwizard.metrics.Metered; import io.dropwizard.metrics.Sampling; @Deprecated public class Timer implements Metered, Metric, Sampling { final io.dropwizard.metrics.Timer timer; public static class Context implements Closeable { final io.dropwizard.metrics.Timer.Context context; public Context(io.dropwizard.metrics.Timer.Context context) { this.context = context; } public long stop() { return context.stop(); } @Override public void close() { context.close(); } } public Timer(io.dropwizard.metrics.Timer timer) { this.timer = timer; } @Override public Snapshot getSnapshot() { return new Snapshot(timer.getSnapshot()); } @Override public long getCount() { return timer.getCount(); } @Override public double getFifteenMinuteRate() { return timer.getFifteenMinuteRate(); } @Override public double getFiveMinuteRate() { return timer.getFiveMinuteRate(); } @Override public double getMeanRate() { return timer.getMeanRate(); } @Override public double getOneMinuteRate() { return timer.getOneMinuteRate(); } public void update(long duration, TimeUnit unit) { timer.update(duration, unit); } public <T> T time(Callable<T> event) throws Exception { return timer.time(event); } public void time(Runnable event) { timer.time(event); } public Context time() { return new Context(timer.time()); } }