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 ritDurationHisto;
35 private MetricHistogram assignTimeHisto;
36 private MetricHistogram bulkAssignTimeHisto;
37
38 public MetricsAssignmentManagerSourceImpl() {
39 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
40 }
41
42 public MetricsAssignmentManagerSourceImpl(String metricsName,
43 String metricsDescription,
44 String metricsContext, String metricsJmxContext) {
45 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
46 }
47
48 public void init() {
49 ritGauge = metricsRegistry.newGauge(RIT_COUNT_NAME, "", 0l);
50 ritCountOverThresholdGauge = metricsRegistry.newGauge(RIT_COUNT_OVER_THRESHOLD_NAME, "", 0l);
51 ritOldestAgeGauge = metricsRegistry.newGauge(RIT_OLDEST_AGE_NAME, "", 0l);
52 assignTimeHisto = metricsRegistry.newTimeHistogram(ASSIGN_TIME_NAME);
53 bulkAssignTimeHisto = metricsRegistry.newTimeHistogram(BULK_ASSIGN_TIME_NAME);
54 ritDurationHisto = metricsRegistry.newTimeHistogram(RIT_DURATION_NAME);
55 }
56
57 @Override
58 public void updateAssignmentTime(long time) {
59 assignTimeHisto.add(time);
60 }
61
62 @Override
63 public void updateBulkAssignTime(long time) {
64 bulkAssignTimeHisto.add(time);
65 }
66
67 public void setRIT(int ritCount) {
68 ritGauge.set(ritCount);
69 }
70
71 public void setRITCountOverThreshold(int ritCount) {
72 ritCountOverThresholdGauge.set(ritCount);
73 }
74
75 public void setRITOldestAge(long ritCount) {
76 ritOldestAgeGauge.set(ritCount);
77 }
78
79 @Override
80 public void updateRitDuration(long duration) {
81 ritDurationHisto.add(duration);
82 }
83 }