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.classification.InterfaceAudience;
24 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
25 import org.apache.hadoop.metrics2.MetricHistogram;
26
27
28
29
30
31 @InterfaceAudience.Private
32 public class MetricsEditsReplaySourceImpl extends BaseSourceImpl implements
33 MetricsEditsReplaySource {
34
35 private static final Log LOG = LogFactory.getLog(MetricsEditsReplaySourceImpl.class.getName());
36
37 private MetricHistogram replayTimeHisto;
38 private MetricHistogram replayBatchSizeHisto;
39 private MetricHistogram replayDataSizeHisto;
40
41 public MetricsEditsReplaySourceImpl() {
42 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
43 }
44
45 public MetricsEditsReplaySourceImpl(String metricsName,
46 String metricsDescription,
47 String metricsContext,
48 String metricsJmxContext) {
49 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
50 }
51
52 @Override
53 public void init() {
54 super.init();
55 replayTimeHisto = metricsRegistry.newTimeHistogram(REPLAY_TIME_NAME, REPLAY_TIME_DESC);
56 replayBatchSizeHisto = metricsRegistry.newSizeHistogram(REPLAY_BATCH_SIZE_NAME,
57 REPLAY_BATCH_SIZE_DESC);
58 replayDataSizeHisto = metricsRegistry
59 .newSizeHistogram(REPLAY_DATA_SIZE_NAME, REPLAY_DATA_SIZE_DESC);
60 }
61
62 @Override
63 public void updateReplayTime(long time) {
64 replayTimeHisto.add(time);
65 }
66
67 @Override
68 public void updateReplayBatchSize(long size) {
69 replayBatchSizeHisto.add(size);
70 }
71
72 @Override
73 public void updateReplayDataSize(long size) {
74 replayDataSizeHisto.add(size);
75 }
76 }