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 org.apache.hadoop.hbase.metrics;
20  
21  import org.apache.hadoop.hbase.testclassification.SmallTests;
22  import org.apache.hadoop.hbase.testclassification.MetricsTests;
23  import org.apache.hadoop.metrics2.lib.MutableCounterLong;
24  import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
25  import org.junit.BeforeClass;
26  import org.junit.Test;
27  import org.junit.experimental.categories.Category;
28  
29  import static org.junit.Assert.assertEquals;
30  import static org.junit.Assert.assertNull;
31  
32  /**
33   *  Test of default BaseSource for hadoop 2
34   */
35  @Category({MetricsTests.class, SmallTests.class})
36  public class TestBaseSourceImpl {
37  
38    private static BaseSourceImpl bmsi;
39  
40    @BeforeClass
41    public static void setUp() throws Exception {
42      bmsi = new BaseSourceImpl("TestName", "test description", "testcontext", "TestContext");
43    }
44  
45    @Test
46    public void testSetGauge() throws Exception {
47      bmsi.setGauge("testset", 100);
48      assertEquals(100, ((MutableGaugeLong) bmsi.metricsRegistry.get("testset")).value());
49      bmsi.setGauge("testset", 300);
50      assertEquals(300, ((MutableGaugeLong) bmsi.metricsRegistry.get("testset")).value());
51  
52    }
53  
54    @Test
55    public void testIncGauge() throws Exception {
56      bmsi.incGauge("testincgauge", 100);
57      assertEquals(100, ((MutableGaugeLong) bmsi.metricsRegistry.get("testincgauge")).value());
58      bmsi.incGauge("testincgauge", 100);
59      assertEquals(200, ((MutableGaugeLong) bmsi.metricsRegistry.get("testincgauge")).value());
60  
61    }
62  
63    @Test
64    public void testDecGauge() throws Exception {
65      bmsi.decGauge("testdec", 100);
66      assertEquals(-100, ((MutableGaugeLong) bmsi.metricsRegistry.get("testdec")).value());
67      bmsi.decGauge("testdec", 100);
68      assertEquals(-200, ((MutableGaugeLong) bmsi.metricsRegistry.get("testdec")).value());
69  
70    }
71  
72    @Test
73    public void testIncCounters() throws Exception {
74      bmsi.incCounters("testinccounter", 100);
75      assertEquals(100, ((MutableCounterLong) bmsi.metricsRegistry.get("testinccounter")).value());
76      bmsi.incCounters("testinccounter", 100);
77      assertEquals(200, ((MutableCounterLong) bmsi.metricsRegistry.get("testinccounter")).value());
78  
79    }
80  
81    @Test
82    public void testRemoveMetric() throws Exception {
83      bmsi.setGauge("testrmgauge", 100);
84      bmsi.removeMetric("testrmgauge");
85      assertNull(bmsi.metricsRegistry.get("testrmgauge"));
86    }
87  
88  }