View Javadoc

1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.apache.hadoop.hbase.master;
20  
21  import org.apache.hadoop.hbase.metrics.BaseSource;
22  
23  /**
24   * Interface that classes that expose metrics about the master will implement.
25   */
26  public interface MetricsMasterSource extends BaseSource {
27  
28    /**
29     * The name of the metrics
30     */
31    String METRICS_NAME = "Server";
32  
33    /**
34     * The context metrics will be under.
35     */
36    String METRICS_CONTEXT = "master";
37  
38    /**
39     * The name of the metrics context that metrics will be under in jmx
40     */
41    String METRICS_JMX_CONTEXT = "Master,sub=" + METRICS_NAME;
42  
43    /**
44     * Description
45     */
46    String METRICS_DESCRIPTION = "Metrics about HBase master server";
47  
48    // Strings used for exporting to metrics system.
49    String MASTER_ACTIVE_TIME_NAME = "masterActiveTime";
50    String MASTER_START_TIME_NAME = "masterStartTime";
51    String AVERAGE_LOAD_NAME = "averageLoad";
52    String NUM_REGION_SERVERS_NAME = "numRegionServers";
53    String NUM_DEAD_REGION_SERVERS_NAME = "numDeadRegionServers";
54    String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";
55    String SERVER_NAME_NAME = "serverName";
56    String CLUSTER_ID_NAME = "clusterId";
57    String IS_ACTIVE_MASTER_NAME = "isActiveMaster";
58    String SPLIT_TIME_NAME = "hlogSplitTime";
59    String SPLIT_SIZE_NAME = "hlogSplitSize";
60    String SNAPSHOT_TIME_NAME = "snapshotTime";
61    String SNAPSHOT_RESTORE_TIME_NAME = "snapshotRestoreTime";
62    String SNAPSHOT_CLONE_TIME_NAME = "snapshotCloneTime";
63    String META_SPLIT_TIME_NAME = "metaHlogSplitTime";
64    String META_SPLIT_SIZE_NAME = "metaHlogSplitSize";
65    String CLUSTER_REQUESTS_NAME = "clusterRequests";
66    String RIT_COUNT_NAME = "ritCount";
67    String RIT_COUNT_OVER_THRESHOLD_NAME = "ritCountOverThreshold";
68    String RIT_OLDEST_AGE_NAME = "ritOldestAge";
69    String MASTER_ACTIVE_TIME_DESC = "Master Active Time";
70    String MASTER_START_TIME_DESC = "Master Start Time";
71    String AVERAGE_LOAD_DESC = "AverageLoad";
72    String NUMBER_OF_REGION_SERVERS_DESC = "Number of RegionServers";
73    String NUMBER_OF_DEAD_REGION_SERVERS_DESC = "Number of dead RegionServers";
74    String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";
75    String SERVER_NAME_DESC = "Server Name";
76    String CLUSTER_ID_DESC = "Cluster Id";
77    String IS_ACTIVE_MASTER_DESC = "Is Active Master";
78    String SPLIT_TIME_DESC = "Time it takes to finish HLog.splitLog()";
79    String SPLIT_SIZE_DESC = "Size of HLog files being split";
80    String SNAPSHOT_TIME_DESC = "Time it takes to finish snapshot()";
81    String SNAPSHOT_RESTORE_TIME_DESC = "Time it takes to finish restoreSnapshot()";
82    String SNAPSHOT_CLONE_TIME_DESC = "Time it takes to finish cloneSnapshot()";
83    String META_SPLIT_TIME_DESC = "Time it takes to finish splitMetaLog()";
84    String META_SPLIT_SIZE_DESC = "Size of META HLog files being split";
85  
86    /**
87     * Increment the number of requests the cluster has seen.
88     *
89     * @param inc Ammount to increment the total by.
90     */
91    void incRequests(final int inc);
92  
93    /**
94     * Set the number of regions in transition.
95     *
96     * @param ritCount count of the regions in transition.
97     */
98    void setRIT(int ritCount);
99  
100   /**
101    * Set the count of the number of regions that have been in transition over the threshold time.
102    *
103    * @param ritCountOverThreshold number of regions in transition for longer than threshold.
104    */
105   void setRITCountOverThreshold(int ritCountOverThreshold);
106 
107   /**
108    * Set the oldest region in transition.
109    *
110    * @param age age of the oldest RIT.
111    */
112   void setRITOldestAge(long age);
113 
114   void updateSplitTime(long time);
115 
116   void updateSplitSize(long size);
117 
118   void updateSnapshotTime(long time);
119 
120   void updateSnapshotCloneTime(long time);
121 
122   void updateSnapshotRestoreTime(long time);
123   
124   void updateMetaWALSplitTime(long time);
125 
126   void updateMetaWALSplitSize(long size);
127 
128 }