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.metrics.BaseSourceImpl;
22 import org.apache.hadoop.metrics2.lib.MetricMutableGaugeLong;
23 import org.apache.hadoop.metrics2.lib.MetricMutableHistogram;
24
25 public class MetricsAssignmentManagerSourceImpl extends BaseSourceImpl implements MetricsAssignmentManagerSource {
26
27 private MetricMutableGaugeLong ritGauge;
28 private MetricMutableGaugeLong ritCountOverThresholdGauge;
29 private MetricMutableGaugeLong ritOldestAgeGauge;
30 private MetricMutableHistogram assignTimeHisto;
31 private MetricMutableHistogram bulkAssignTimeHisto;
32
33 public MetricsAssignmentManagerSourceImpl() {
34 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
35 }
36
37 public MetricsAssignmentManagerSourceImpl(String metricsName,
38 String metricsDescription,
39 String metricsContext, String metricsJmxContext) {
40 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
41 }
42
43 @Override
44 public void init() {
45 super.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 }