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.hbase.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.newSizeHistogram(SPLIT_SIZE_NAME, SPLIT_SIZE_DESC);
46 splitTimeHisto = metricsRegistry.newTimeHistogram(SPLIT_TIME_NAME, SPLIT_TIME_DESC);
47 metaSplitTimeHisto =
48 metricsRegistry.newTimeHistogram(META_SPLIT_TIME_NAME, META_SPLIT_TIME_DESC);
49 metaSplitSizeHisto =
50 metricsRegistry.newSizeHistogram(META_SPLIT_SIZE_NAME, META_SPLIT_SIZE_DESC);
51 }
52
53 @Override
54 public void updateSplitTime(long time) {
55 splitTimeHisto.add(time);
56 }
57
58 @Override
59 public void updateSplitSize(long size) {
60 splitSizeHisto.add(size);
61 }
62
63
64 @Override
65 public void updateMetaWALSplitTime(long time) {
66 metaSplitTimeHisto.add(time);
67 }
68
69 @Override
70 public void updateMetaWALSplitSize(long size) {
71 metaSplitSizeHisto.add(size);
72 }
73 }