1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.regionserver;
19
20 import org.apache.hadoop.hbase.classification.InterfaceAudience;
21 import org.apache.hadoop.hbase.classification.InterfaceStability;
22 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
23
24
25
26
27
28
29
30
31 @InterfaceStability.Evolving
32 @InterfaceAudience.Private
33 public class MetricsRegionServer {
34 private MetricsRegionServerSource serverSource;
35 private MetricsRegionServerWrapper regionServerWrapper;
36
37 public MetricsRegionServer(MetricsRegionServerWrapper regionServerWrapper) {
38 this(regionServerWrapper,
39 CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class)
40 .createServer(regionServerWrapper));
41
42 }
43
44 MetricsRegionServer(MetricsRegionServerWrapper regionServerWrapper,
45 MetricsRegionServerSource serverSource) {
46 this.regionServerWrapper = regionServerWrapper;
47 this.serverSource = serverSource;
48 }
49
50
51 public MetricsRegionServerSource getMetricsSource() {
52 return serverSource;
53 }
54
55 public MetricsRegionServerWrapper getRegionServerWrapper() {
56 return regionServerWrapper;
57 }
58
59 public void updatePut(long t) {
60 if (t > 1000) {
61 serverSource.incrSlowPut();
62 }
63 serverSource.updatePut(t);
64 }
65
66 public void updateDelete(long t) {
67 if (t > 1000) {
68 serverSource.incrSlowDelete();
69 }
70 serverSource.updateDelete(t);
71 }
72
73 public void updateGet(long t) {
74 if (t > 1000) {
75 serverSource.incrSlowGet();
76 }
77 serverSource.updateGet(t);
78 }
79
80 public void updateIncrement(long t) {
81 if (t > 1000) {
82 serverSource.incrSlowIncrement();
83 }
84 serverSource.updateIncrement(t);
85 }
86
87 public void updateAppend(long t) {
88 if (t > 1000) {
89 serverSource.incrSlowAppend();
90 }
91 serverSource.updateAppend(t);
92 }
93
94 public void updateReplay(long t){
95 serverSource.updateReplay(t);
96 }
97
98 public void updateScannerNext(long scanSize){
99 serverSource.updateScannerNext(scanSize);
100 }
101
102 public void updateSplitTime(long t) {
103 serverSource.updateSplitTime(t);
104 }
105
106 public void incrSplitRequest() {
107 serverSource.incrSplitRequest();
108 }
109
110 public void incrSplitSuccess() {
111 serverSource.incrSplitSuccess();
112 }
113
114 public void updateFlushTime(long t) {
115 serverSource.updateFlushTime(t);
116 }
117 }