View Javadoc

1   /**
2    * Copyright The Apache Software Foundation
3    *
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements. See the NOTICE file distributed with this
6    * work for additional information regarding copyright ownership. The ASF
7    * licenses this file to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   * http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16   * License for the specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.hadoop.hbase.regionserver;
20  
21  import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
22  import org.apache.hadoop.hbase.classification.InterfaceAudience;
23  
24  @InterfaceAudience.Private
25  public class MetricsTable {
26    private final MetricsTableAggregateSource tableSourceAgg;
27    private MetricsTableWrapperAggregate wrapper;
28  
29    public MetricsTable(final MetricsTableWrapperAggregate wrapper) {
30      tableSourceAgg = CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class)
31                                               .getTableAggregate();
32      this.wrapper = wrapper;
33    }
34  
35    public MetricsTableWrapperAggregate getTableWrapperAgg() {
36      return wrapper;
37    }
38  
39    public MetricsTableAggregateSource getTableSourceAgg() {
40      return tableSourceAgg;
41    }
42  
43    public void incrSplitRequest(String table) {
44      tableSourceAgg.getOrCreateTableSource(table, wrapper).incrSplitRequest();
45    }
46  
47    public void incrSplitSuccess(String table) {
48      tableSourceAgg.getOrCreateTableSource(table, wrapper).incrSplitSuccess();
49    }
50  
51    public void updateSplitTime(String table, long t) {
52      tableSourceAgg.getOrCreateTableSource(table, wrapper).updateSplitTime(t);
53    }
54  
55    public void updateFlushTime(String table, long t) {
56      tableSourceAgg.getOrCreateTableSource(table, wrapper).updateFlushTime(t);
57    }
58  
59    public void updateFlushMemstoreSize(String table, long bytes) {
60      tableSourceAgg.getOrCreateTableSource(table, wrapper).updateFlushMemstoreSize(bytes);
61    }
62  
63    public void updateFlushOutputSize(String table, long bytes) {
64      tableSourceAgg.getOrCreateTableSource(table, wrapper).updateFlushOutputSize(bytes);
65    }
66  
67    public void updateCompactionTime(String table, boolean isMajor, long t) {
68      tableSourceAgg.getOrCreateTableSource(table, wrapper).updateCompactionTime(isMajor, t);
69    }
70  
71    public void updateCompactionInputFileCount(String table, boolean isMajor, long c) {
72      tableSourceAgg.getOrCreateTableSource(table, wrapper)
73        .updateCompactionInputFileCount(isMajor, c);
74    }
75  
76    public void updateCompactionInputSize(String table, boolean isMajor, long bytes) {
77      tableSourceAgg.getOrCreateTableSource(table, wrapper)
78        .updateCompactionInputSize(isMajor, bytes);
79    }
80  
81    public void updateCompactionOutputFileCount(String table, boolean isMajor, long c) {
82      tableSourceAgg.getOrCreateTableSource(table, wrapper)
83        .updateCompactionOutputFileCount(isMajor, c);
84    }
85  
86    public void updateCompactionOutputSize(String table, boolean isMajor, long bytes) {
87      tableSourceAgg.getOrCreateTableSource(table, wrapper)
88        .updateCompactionOutputSize(isMajor, bytes);
89    }
90  }