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    static final String METRICS_NAME = "Server";
32  
33    /**
34     * The context metrics will be under.
35     */
36    static final String METRICS_CONTEXT = "master";
37  
38    /**
39     * The name of the metrics context that metrics will be under in jmx
40     */
41    static final String METRICS_JMX_CONTEXT = "Master,sub=" + METRICS_NAME;
42  
43    /**
44     * Description
45     */
46    static final String METRICS_DESCRIPTION = "Metrics about HBase master server";
47  
48    // Strings used for exporting to metrics system.
49    static final String MASTER_ACTIVE_TIME_NAME = "masterActiveTime";
50    static final String MASTER_START_TIME_NAME = "masterStartTime";
51    static final String AVERAGE_LOAD_NAME = "averageLoad";
52    static final String NUM_REGION_SERVERS_NAME = "numRegionServers";
53    static final String NUM_DEAD_REGION_SERVERS_NAME = "numDeadRegionServers";
54    static final String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";
55    static final String SERVER_NAME_NAME = "serverName";
56    static final String CLUSTER_ID_NAME = "clusterId";
57    static final String IS_ACTIVE_MASTER_NAME = "isActiveMaster";
58    static final String SPLIT_TIME_NAME = "hlogSplitTime";
59    static final String SPLIT_SIZE_NAME = "hlogSplitSize";
60    static final String CLUSTER_REQUESTS_NAME = "clusterRequests";
61    static final String RIT_COUNT_NAME = "ritCount";
62    static final String RIT_COUNT_OVER_THRESHOLD_NAME = "ritCountOverThreshold";
63    static final String RIT_OLDEST_AGE_NAME = "ritOldestAge";
64    static final String MASTER_ACTIVE_TIME_DESC = "Master Active Time";
65    static final String MASTER_START_TIME_DESC = "Master Start Time";
66    static final String AVERAGE_LOAD_DESC = "AverageLoad";
67    static final String NUMBER_OF_REGION_SERVERS_DESC = "Number of RegionServers";
68    static final String NUMBER_OF_DEAD_REGION_SERVERS_DESC = "Number of dead RegionServers";
69    static final String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";
70    static final String SERVER_NAME_DESC = "Server Name";
71    static final String CLUSTER_ID_DESC = "Cluster Id";
72    static final String IS_ACTIVE_MASTER_DESC = "Is Active Master";
73    static final String SPLIT_TIME_DESC = "Time it takes to finish HLog.splitLog()";
74    static final String SPLIT_SIZE_DESC = "Size of HLog files being split";
75  
76  
77    /**
78     * Increment the number of requests the cluster has seen.
79     *
80     * @param inc Ammount to increment the total by.
81     */
82    void incRequests(final int inc);
83  
84    /**
85     * Set the number of regions in transition.
86     *
87     * @param ritCount count of the regions in transition.
88     */
89    void setRIT(int ritCount);
90  
91    /**
92     * Set the count of the number of regions that have been in transition over the threshold time.
93     *
94     * @param ritCountOverThreshold number of regions in transition for longer than threshold.
95     */
96    void setRITCountOverThreshold(int ritCountOverThreshold);
97  
98    /**
99     * Set the oldest region in transition.
100    *
101    * @param age age of the oldest RIT.
102    */
103   void setRITOldestAge(long age);
104 
105   void updateSplitTime(long time);
106 
107   void updateSplitSize(long size);
108 
109 }