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.MutableFastCounter;
22 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
23 import org.apache.hadoop.metrics2.lib.MutableHistogram;
24
25 public class MetricsReplicationSinkSourceImpl implements MetricsReplicationSinkSource {
26
27 private final MutableHistogram ageHist;
28 private final MutableFastCounter batchesCounter;
29 private final MutableFastCounter opsCounter;
30 private final MutableFastCounter hfilesCounter;
31
32 public MetricsReplicationSinkSourceImpl(MetricsReplicationSourceImpl rms) {
33 ageHist = rms.getMetricsRegistry().newTimeHistogram(SINK_AGE_OF_LAST_APPLIED_OP);
34 batchesCounter = rms.getMetricsRegistry().getCounter(SINK_APPLIED_BATCHES, 0L);
35 opsCounter = rms.getMetricsRegistry().getCounter(SINK_APPLIED_OPS, 0L);
36 hfilesCounter = rms.getMetricsRegistry().getCounter(SINK_APPLIED_HFILES, 0L);
37 }
38
39 @Override public void setLastAppliedOpAge(long age) {
40 ageHist.add(age);
41 }
42
43 @Override public void incrAppliedBatches(long batches) {
44 batchesCounter.incr(batches);
45 }
46
47 @Override public void incrAppliedOps(long batchsize) {
48 opsCounter.incr(batchsize);
49 }
50
51 @Override
52 public long getLastAppliedOpAge() {
53 return ageHist.getMax();
54 }
55
56 @Override
57 public void incrAppliedHFiles(long hfiles) {
58 hfilesCounter.incr(hfiles);
59 }
60 }