HBASE-23949 refactor loadBalancer implements for rsgroup balance by table to achieve...
[hbase.git] / hbase-server / src / main / java / org / apache / hadoop / hbase / io / MetricsIO.java
blob3634ccb595ff1f8656b22630a0f143468f7f1bf6
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 package org.apache.hadoop.hbase.io;
21 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
22 import org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory;
23 import org.apache.yetus.audience.InterfaceAudience;
25 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
27 @InterfaceAudience.Private
28 public class MetricsIO {
30 private final MetricsIOSource source;
31 private final MetricsIOWrapper wrapper;
33 public MetricsIO(MetricsIOWrapper wrapper) {
34 this(CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class)
35 .createIO(wrapper), wrapper);
38 MetricsIO(MetricsIOSource source, MetricsIOWrapper wrapper) {
39 this.source = source;
40 this.wrapper = wrapper;
43 @VisibleForTesting
44 public MetricsIOSource getMetricsSource() {
45 return source;
48 @VisibleForTesting
49 public MetricsIOWrapper getWrapper() {
50 return wrapper;
53 public void updateFsReadTime(long t) {
54 source.updateFsReadTime(t);
57 public void updateFsPreadTime(long t) {
58 source.updateFsPReadTime(t);
61 public void updateFsWriteTime(long t) {
62 source.updateFsWriteTime(t);