1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver.wal;
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
24 import org.apache.hadoop.metrics2.lib.MetricMutableHistogram;
25
26
27
28
29
30
31 public class MetricsEditsReplaySourceImpl
32 extends BaseSourceImpl implements MetricsEditsReplaySource {
33
34 private static final Log LOG = LogFactory.getLog(MetricsEditsReplaySourceImpl.class.getName());
35
36 private MetricMutableHistogram replayTimeHisto;
37 private MetricMutableHistogram replayBatchSizeHisto;
38 private MetricMutableHistogram replayDataSizeHisto;
39
40 public MetricsEditsReplaySourceImpl() {
41 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
42 }
43
44 public MetricsEditsReplaySourceImpl(String metricsName,
45 String metricsDescription,
46 String metricsContext,
47 String metricsJmxContext) {
48 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
49 }
50
51 @Override
52 public void init() {
53 super.init();
54 replayTimeHisto = metricsRegistry.newHistogram(REPLAY_TIME_NAME, REPLAY_TIME_DESC);
55 replayBatchSizeHisto =
56 metricsRegistry.newHistogram(REPLAY_BATCH_SIZE_NAME, REPLAY_BATCH_SIZE_DESC);
57 replayDataSizeHisto =
58 metricsRegistry.newHistogram(REPLAY_DATA_SIZE_NAME, REPLAY_DATA_SIZE_DESC);
59 }
60
61 @Override
62 public void updateReplayTime(long time) {
63 replayTimeHisto.add(time);
64 }
65
66 @Override
67 public void updateReplayBatchSize(long size) {
68 replayBatchSizeHisto.add(size);
69 }
70
71 @Override
72 public void updateReplayDataSize(long size) {
73 replayDataSizeHisto.add(size);
74 }
75 }