1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.master;
20
21 import org.apache.hadoop.hbase.classification.InterfaceAudience;
22 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
23 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
24 import org.apache.hadoop.metrics2.lib.MutableHistogram;
25
26 @InterfaceAudience.Private
27 public class MetricsAssignmentManagerSourceImpl extends BaseSourceImpl implements MetricsAssignmentManagerSource {
28
29 private MutableGaugeLong ritGauge;
30 private MutableGaugeLong ritCountOverThresholdGauge;
31 private MutableGaugeLong ritOldestAgeGauge;
32 private MutableHistogram assignTimeHisto;
33 private MutableHistogram bulkAssignTimeHisto;
34
35 public MetricsAssignmentManagerSourceImpl() {
36 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
37 }
38
39 public MetricsAssignmentManagerSourceImpl(String metricsName,
40 String metricsDescription,
41 String metricsContext, String metricsJmxContext) {
42 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
43 }
44
45 public void init() {
46 ritGauge = metricsRegistry.newGauge(RIT_COUNT_NAME, "", 0l);
47 ritCountOverThresholdGauge = metricsRegistry.newGauge(RIT_COUNT_OVER_THRESHOLD_NAME, "", 0l);
48 ritOldestAgeGauge = metricsRegistry.newGauge(RIT_OLDEST_AGE_NAME, "", 0l);
49 assignTimeHisto = metricsRegistry.newTimeHistogram(ASSIGN_TIME_NAME);
50 bulkAssignTimeHisto = metricsRegistry.newTimeHistogram(BULK_ASSIGN_TIME_NAME);
51 }
52
53 @Override
54 public void updateAssignmentTime(long time) {
55 assignTimeHisto.add(time);
56 }
57
58 @Override
59 public void updateBulkAssignTime(long time) {
60 bulkAssignTimeHisto.add(time);
61 }
62
63 public void setRIT(int ritCount) {
64 ritGauge.set(ritCount);
65 }
66
67 public void setRITCountOverThreshold(int ritCount) {
68 ritCountOverThresholdGauge.set(ritCount);
69 }
70
71 public void setRITOldestAge(long ritCount) {
72 ritOldestAgeGauge.set(ritCount);
73 }
74 }