1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.replication.regionserver;
20
21 import org.apache.hadoop.metrics2.lib.MetricMutableCounterLong;
22 import org.apache.hadoop.metrics2.lib.MetricMutableGaugeLong;
23
24 public class MetricsReplicationSinkSourceImpl implements MetricsReplicationSinkSource {
25
26 private final MetricMutableGaugeLong ageGauge;
27 private long ageOfLastApplied;
28 private final MetricMutableCounterLong batchesCounter;
29 private final MetricMutableCounterLong opsCounter;
30
31 public MetricsReplicationSinkSourceImpl(MetricsReplicationSourceImpl rms) {
32 ageGauge = rms.getMetricsRegistry().getLongGauge(SINK_AGE_OF_LAST_APPLIED_OP, 0L);
33 batchesCounter = rms.getMetricsRegistry().getLongCounter(SINK_APPLIED_BATCHES, 0L);
34 opsCounter = rms.getMetricsRegistry().getLongCounter(SINK_APPLIED_OPS, 0L);
35 }
36
37 @Override public void setLastAppliedOpAge(long age) {
38 ageGauge.set(age);
39 ageOfLastApplied = age;
40 }
41
42 @Override public void incrAppliedBatches(long batches) {
43 batchesCounter.incr(batches);
44 }
45
46 @Override public void incrAppliedOps(long batchsize) {
47 opsCounter.incr(batchsize);
48 }
49
50 @Override
51 public long getLastAppliedOpAge() {
52 return ageOfLastApplied;
53 }
54 }