1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.hadoop.hbase.regionserver;
18
19 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
20 import org.apache.hadoop.hbase.TableName;
21 import org.apache.hadoop.hbase.classification.InterfaceAudience;
22 import org.apache.hadoop.hbase.metrics.MetricRegistries;
23
24
25
26
27
28 @InterfaceAudience.Private
29 public class RegionServerTableMetrics {
30
31 private final MetricsTableLatencies latencies;
32 private MetricsTableQueryMeter queryMeter;
33
34 public RegionServerTableMetrics(boolean enableTableQueryMeter) {
35 latencies = CompatibilitySingletonFactory.getInstance(MetricsTableLatencies.class);
36 if (enableTableQueryMeter) {
37 queryMeter = new MetricsTableQueryMeterImpl(MetricRegistries.global().
38 get(((MetricsTableLatenciesImpl) latencies).getMetricRegistryInfo()).get());
39 }
40 }
41
42 public void updatePut(TableName table, long time) {
43 latencies.updatePut(table.getNameAsString(), time);
44 }
45
46 public void updatePutBatch(TableName table, long time) {
47 latencies.updatePutBatch(table.getNameAsString(), time);
48 }
49
50 public void updateGet(TableName table, long time) {
51 latencies.updateGet(table.getNameAsString(), time);
52 }
53
54 public void updateIncrement(TableName table, long time) {
55 latencies.updateIncrement(table.getNameAsString(), time);
56 }
57
58 public void updateAppend(TableName table, long time) {
59 latencies.updateAppend(table.getNameAsString(), time);
60 }
61
62 public void updateDelete(TableName table, long time) {
63 latencies.updateDelete(table.getNameAsString(), time);
64 }
65
66 public void updateDeleteBatch(TableName table, long time) {
67 latencies.updateDeleteBatch(table.getNameAsString(), time);
68 }
69
70 public void updateCheckAndDelete(TableName table, long time) {
71 latencies.updateCheckAndDelete(table.getNameAsString(), time);
72 }
73
74 public void updateCheckAndPut(TableName table, long time) {
75 latencies.updateCheckAndPut(table.getNameAsString(), time);
76 }
77
78 public void updateScanTime(TableName table, long time) {
79 latencies.updateScanTime(table.getNameAsString(), time);
80 }
81
82 public void updateScanSize(TableName table, long size) {
83 latencies.updateScanSize(table.getNameAsString(), size);
84 }
85
86 public void updateTableReadQueryMeter(TableName table, long count) {
87 if (queryMeter != null) {
88 queryMeter.updateTableReadQueryMeter(table, count);
89 }
90 }
91
92 public void updateTableWriteQueryMeter(TableName table, long count) {
93 if (queryMeter != null) {
94 queryMeter.updateTableWriteQueryMeter(table, count);
95 }
96 }
97
98 public void updateTableWriteQueryMeter(TableName table) {
99 if (queryMeter != null) {
100 queryMeter.updateTableWriteQueryMeter(table);
101 }
102 }
103 }