1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.io;
20
21 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
22 import org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory;
23 import com.google.common.annotations.VisibleForTesting;
24
25 public class MetricsIO {
26
27 private final MetricsIOSource source;
28 private final MetricsIOWrapper wrapper;
29
30 public MetricsIO(MetricsIOWrapper wrapper) {
31 this(CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class)
32 .createIO(wrapper), wrapper);
33 }
34
35 MetricsIO(MetricsIOSource source, MetricsIOWrapper wrapper) {
36 this.source = source;
37 this.wrapper = wrapper;
38 }
39
40 @VisibleForTesting
41 public MetricsIOSource getMetricsSource() {
42 return source;
43 }
44
45 @VisibleForTesting
46 public MetricsIOWrapper getWrapper() {
47 return wrapper;
48 }
49
50 public void updateFsReadTime(long t) {
51 source.updateFsReadTime(t);
52 }
53
54 public void updateFsPreadTime(long t) {
55 source.updateFsPReadTime(t);
56 }
57
58 public void updateFsWriteTime(long t) {
59 source.updateFsWriteTime(t);
60 }
61 }