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
) {
40 this.wrapper
= wrapper
;
44 public MetricsIOSource
getMetricsSource() {
49 public MetricsIOWrapper
getWrapper() {
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
);