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.MetricHistogram;
24 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
25
26 @InterfaceAudience.Private
27 public class MetricsAssignmentManagerSourceImpl
28 extends BaseSourceImpl
29 implements MetricsAssignmentManagerSource {
30
31 private MutableGaugeLong ritGauge;
32 private MutableGaugeLong ritCountOverThresholdGauge;
33 private MutableGaugeLong ritOldestAgeGauge;
34 private MetricHistogram assignTimeHisto;
35 private MetricHistogram bulkAssignTimeHisto;
36
37 public MetricsAssignmentManagerSourceImpl() {
38 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
39 }
40
41 public MetricsAssignmentManagerSourceImpl(String metricsName,
42 String metricsDescription,
43 String metricsContext, String metricsJmxContext) {
44 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
45 }
46
47 public void init() {
48 ritGauge = metricsRegistry.newGauge(RIT_COUNT_NAME, "", 0l);
49 ritCountOverThresholdGauge = metricsRegistry.newGauge(RIT_COUNT_OVER_THRESHOLD_NAME, "", 0l);
50 ritOldestAgeGauge = metricsRegistry.newGauge(RIT_OLDEST_AGE_NAME, "", 0l);
51 assignTimeHisto = metricsRegistry.newTimeHistogram(ASSIGN_TIME_NAME);
52 bulkAssignTimeHisto = metricsRegistry.newTimeHistogram(BULK_ASSIGN_TIME_NAME);
53 }
54
55 @Override
56 public void updateAssignmentTime(long time) {
57 assignTimeHisto.add(time);
58 }
59
60 @Override
61 public void updateBulkAssignTime(long time) {
62 bulkAssignTimeHisto.add(time);
63 }
64
65 public void setRIT(int ritCount) {
66 ritGauge.set(ritCount);
67 }
68
69 public void setRITCountOverThreshold(int ritCount) {
70 ritCountOverThresholdGauge.set(ritCount);
71 }
72
73 public void setRITOldestAge(long ritCount) {
74 ritOldestAgeGauge.set(ritCount);
75 }
76 }