1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.ipc;
21
22 import org.apache.hadoop.hbase.NotServingRegionException;
23 import org.apache.hadoop.hbase.RegionTooBusyException;
24 import org.apache.hadoop.hbase.UnknownScannerException;
25 import org.apache.hadoop.hbase.classification.InterfaceAudience;
26 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
27 import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;
28 import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;
29 import org.apache.hadoop.hbase.exceptions.RegionMovedException;
30
31 @InterfaceAudience.Private
32 public class MetricsHBaseServer {
33 private MetricsHBaseServerSource source;
34
35 public MetricsHBaseServer(String serverName, MetricsHBaseServerWrapper wrapper) {
36 source = CompatibilitySingletonFactory.getInstance(MetricsHBaseServerSourceFactory.class)
37 .create(serverName, wrapper);
38 }
39
40 void authorizationSuccess() {
41 source.authorizationSuccess();
42 }
43
44 void authorizationFailure() {
45 source.authorizationFailure();
46 }
47
48 void authenticationFailure() {
49 source.authenticationFailure();
50 }
51
52 void authenticationSuccess() {
53 source.authenticationSuccess();
54 }
55
56 void sentBytes(long count) {
57 source.sentBytes(count);
58 }
59
60 void receivedBytes(int count) {
61 source.receivedBytes(count);
62 }
63
64 void dequeuedCall(int qTime) {
65 source.dequeuedCall(qTime);
66 }
67
68 void processedCall(int processingTime) {
69 source.processedCall(processingTime);
70 }
71
72 void totalCall(int totalTime) {
73 source.queuedAndProcessedCall(totalTime);
74 }
75
76 public void exception(Throwable throwable) {
77 source.exception();
78
79
80
81
82
83
84
85
86
87 if (throwable != null) {
88 if (throwable instanceof OutOfOrderScannerNextException) {
89 source.outOfOrderException();
90 } else if (throwable instanceof RegionTooBusyException) {
91 source.tooBusyException();
92 } else if (throwable instanceof UnknownScannerException) {
93 source.unknownScannerException();
94 } else if (throwable instanceof RegionMovedException) {
95 source.movedRegionException();
96 } else if (throwable instanceof NotServingRegionException) {
97 source.notServingRegionException();
98 } else if (throwable instanceof FailedSanityCheckException) {
99 source.failedSanityException();
100 }
101 }
102 }
103
104 public MetricsHBaseServerSource getMetricsSource() {
105 return source;
106 }
107 }