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.classification.InterfaceAudience;
22 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
23 import org.apache.hadoop.metrics2.lib.MutableHistogram;
24
25 @InterfaceAudience.Private
26 public class MetricsMasterFilesystemSourceImpl extends BaseSourceImpl implements MetricsMasterFileSystemSource {
27
28 private MutableHistogram splitSizeHisto;
29 private MutableHistogram splitTimeHisto;
30 private MutableHistogram metaSplitTimeHisto;
31 private MutableHistogram metaSplitSizeHisto;
32
33 public MetricsMasterFilesystemSourceImpl() {
34 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT);
35 }
36
37 public MetricsMasterFilesystemSourceImpl(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 splitSizeHisto = metricsRegistry.newHistogram(SPLIT_SIZE_NAME, SPLIT_SIZE_DESC);
46 splitTimeHisto = metricsRegistry.newHistogram(SPLIT_TIME_NAME, SPLIT_TIME_DESC);
47 metaSplitTimeHisto = metricsRegistry.newHistogram(META_SPLIT_TIME_NAME, META_SPLIT_TIME_DESC);
48 metaSplitSizeHisto = metricsRegistry.newHistogram(META_SPLIT_SIZE_NAME, META_SPLIT_SIZE_DESC);
49 }
50
51 @Override
52 public void updateSplitTime(long time) {
53 splitTimeHisto.add(time);
54 }
55
56 @Override
57 public void updateSplitSize(long size) {
58 splitSizeHisto.add(size);
59 }
60
61
62 @Override
63 public void updateMetaWALSplitTime(long time) {
64 metaSplitTimeHisto.add(time);
65 }
66
67 @Override
68 public void updateMetaWALSplitSize(long size) {
69 metaSplitSizeHisto.add(size);
70 }
71 }