This project has retired. For details please refer to its Attic page.
NoOpHistogram xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package com.yammer.metrics.core;
20  
21  import com.yammer.metrics.stats.Snapshot;
22  
23  /**
24   * An empty Metrics' Histogram that does nothing.
25   */
26  public class NoOpHistogram extends Histogram {
27    /** singleton instance for everyone to use */
28    public static final NoOpHistogram INSTANCE = new NoOpHistogram();
29  
30    /** do not instantiate */
31    private NoOpHistogram() { super(SampleType.UNIFORM); }
32  
33    @Override
34    public void clear() { }
35  
36    @Override
37    public void update(int value) { }
38  
39    @Override
40    public void update(long value) { }
41  
42    @Override
43    public long count() { return 0; }
44  
45    @Override
46    public double max() { return 0.0; }
47  
48    @Override
49    public double min() { return 0.0; }
50  
51    @Override
52    public double mean() { return 0.0; }
53  
54    @Override
55    public double stdDev() { return 0.0; }
56  
57    @Override
58    public double sum() { return 0.0; }
59  
60    @Override
61    public Snapshot getSnapshot() { return new Snapshot(new double[0]); }
62  
63    @Override
64    public <T> void processWith(MetricProcessor<T> processor, MetricName name,
65                                T context)
66      throws Exception { }
67  }