1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.yammer.metrics.core;
20
21 import com.yammer.metrics.stats.Snapshot;
22
23 import java.util.concurrent.Callable;
24 import java.util.concurrent.TimeUnit;
25
26
27
28
29 public class NoOpTimer extends Timer {
30
31 public static final NoOpTimer INSTANCE = new NoOpTimer();
32
33
34 private NoOpTimer() {
35 super(new NoOpExecutorService(), TimeUnit.SECONDS, TimeUnit.SECONDS);
36 }
37
38 @Override
39 public void clear() { }
40
41 @Override
42 public void update(long duration, TimeUnit unit) { }
43
44 @Override
45 public <T> T time(Callable<T> event) throws Exception { return event.call(); }
46
47 @Override
48 public long count() { return 0; }
49
50 @Override
51 public double fifteenMinuteRate() { return 0.0; }
52
53 @Override
54 public double fiveMinuteRate() { return 0.0; }
55
56 @Override
57 public double meanRate() { return 0.0; }
58
59 @Override
60 public double oneMinuteRate() { return 0.0; }
61
62 @Override
63 public double max() { return 0.0; }
64
65 @Override
66 public double min() { return 0.0; }
67
68 @Override
69 public double mean() { return 0.0; }
70
71 @Override
72 public double stdDev() { return 0.0; }
73
74 @Override
75 public double sum() { return 0.0; }
76
77 @Override
78 public Snapshot getSnapshot() { return new Snapshot(new double[0]); }
79
80 @Override
81 public String eventType() { return ""; }
82
83 @Override
84 public void stop() { }
85
86 @Override
87 public <T> void processWith(MetricProcessor<T> processor, MetricName name,
88 T context)
89 throws Exception { }
90 }