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.regionserver;
20  
21  import org.apache.hadoop.hbase.metrics.BaseSource;
22  
23  /**
24   * Interface for classes that expose metrics about the regionserver.
25   */
26  public interface MetricsRegionServerSource extends BaseSource {
27  
28    /**
29     * The name of the metrics
30     */
31    static final String METRICS_NAME = "Server";
32  
33    /**
34     * The name of the metrics context that metrics will be under.
35     */
36    static final String METRICS_CONTEXT = "regionserver";
37  
38    /**
39     * Description
40     */
41    static final String METRICS_DESCRIPTION = "Metrics about HBase RegionServer";
42  
43    /**
44     * The name of the metrics context that metrics will be under in jmx
45     */
46    static final String METRICS_JMX_CONTEXT = "RegionServer,sub=" + METRICS_NAME;
47  
48    /**
49     * Update the Put time histogram
50     *
51     * @param t time it took
52     */
53    void updatePut(long t);
54  
55    /**
56     * Update the Delete time histogram
57     *
58     * @param t time it took
59     */
60    void updateDelete(long t);
61  
62    /**
63     * Update the Get time histogram .
64     *
65     * @param t time it took
66     */
67    void updateGet(long t);
68  
69    /**
70     * Update the Increment time histogram.
71     *
72     * @param t time it took
73     */
74    void updateIncrement(long t);
75  
76    /**
77     * Update the Append time histogram.
78     *
79     * @param t time it took
80     */
81    void updateAppend(long t);
82  
83    /**
84     * Increment the number of slow Puts that have happened.
85     */
86    void incrSlowPut();
87  
88    /**
89     * Increment the number of slow Deletes that have happened.
90     */
91    void incrSlowDelete();
92  
93    /**
94     * Increment the number of slow Gets that have happened.
95     */
96    void incrSlowGet();
97  
98    /**
99     * Increment the number of slow Increments that have happened.
100    */
101   void incrSlowIncrement();
102 
103   /**
104    * Increment the number of slow Appends that have happened.
105    */
106   void incrSlowAppend();
107 
108   // Strings used for exporting to metrics system.
109   static final String REGION_COUNT = "regionCount";
110   static final String REGION_COUNT_DESC = "Number of regions";
111   static final String STORE_COUNT = "storeCount";
112   static final String STORE_COUNT_DESC = "Number of Stores";
113   static final String STOREFILE_COUNT = "storeFileCount";
114   static final String STOREFILE_COUNT_DESC = "Number of Store Files";
115   static final String MEMSTORE_SIZE = "memStoreSize";
116   static final String MEMSTORE_SIZE_DESC = "Size of the memstore";
117   static final String STOREFILE_SIZE = "storeFileSize";
118   static final String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
119   static final String TOTAL_REQUEST_COUNT = "totalRequestCount";
120   static final String TOTAL_REQUEST_COUNT_DESC =
121       "Total number of requests this RegionServer has answered.";
122   static final String READ_REQUEST_COUNT = "readRequestCount";
123   static final String READ_REQUEST_COUNT_DESC =
124       "Number of read requests this region server has answered.";
125   static final String WRITE_REQUEST_COUNT = "writeRequestCount";
126   static final String WRITE_REQUEST_COUNT_DESC =
127       "Number of mutation requests this region server has answered.";
128   static final String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
129   static final String CHECK_MUTATE_FAILED_COUNT_DESC =
130       "Number of Check and Mutate calls that failed the checks.";
131   static final String CHECK_MUTATE_PASSED_COUNT = "checkMutatePassedCount";
132   static final String CHECK_MUTATE_PASSED_COUNT_DESC =
133       "Number of Check and Mutate calls that passed the checks.";
134   static final String STOREFILE_INDEX_SIZE = "storeFileIndexSize";
135   static final String STOREFILE_INDEX_SIZE_DESC = "Size of indexes in storefiles on disk.";
136   static final String STATIC_INDEX_SIZE = "staticIndexSize";
137   static final String STATIC_INDEX_SIZE_DESC = "Uncompressed size of the static indexes.";
138   static final String STATIC_BLOOM_SIZE = "staticBloomSize";
139   static final String STATIC_BLOOM_SIZE_DESC =
140       "Uncompressed size of the static bloom filters.";
141   static final String NUMBER_OF_PUTS_WITHOUT_WAL = "putsWithoutWALCount";
142   static final String NUMBER_OF_PUTS_WITHOUT_WAL_DESC =
143       "Number of mutations that have been sent by clients with the write ahead logging turned off.";
144   static final String DATA_SIZE_WITHOUT_WAL = "putsWithoutWALSize";
145   static final String DATA_SIZE_WITHOUT_WAL_DESC =
146       "Size of data that has been sent by clients with the write ahead logging turned off.";
147   static final String PERCENT_FILES_LOCAL = "percentFilesLocal";
148   static final String PERCENT_FILES_LOCAL_DESC =
149       "The percent of HFiles that are stored on the local hdfs data node.";
150   static final String COMPACTION_QUEUE_LENGTH = "compactionQueueLength";
151   static final String COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions.";
152   static final String FLUSH_QUEUE_LENGTH = "flushQueueLength";
153   static final String FLUSH_QUEUE_LENGTH_DESC = "Length of the queue for region flushes";
154   static final String BLOCK_CACHE_FREE_SIZE = "blockCacheFreeSize";
155   static final String BLOCK_CACHE_FREE_DESC =
156       "Size of the block cache that is not occupied.";
157   static final String BLOCK_CACHE_COUNT = "blockCacheCount";
158   static final String BLOCK_CACHE_COUNT_DESC = "Number of block in the block cache.";
159   static final String BLOCK_CACHE_SIZE = "blockCacheSize";
160   static final String BLOCK_CACHE_SIZE_DESC = "Size of the block cache.";
161   static final String BLOCK_CACHE_HIT_COUNT = "blockCacheHitCount";
162   static final String BLOCK_CACHE_HIT_COUNT_DESC = "Count of the hit on the block cache.";
163   static final String BLOCK_CACHE_MISS_COUNT = "blockCacheMissCount";
164   static final String BLOCK_COUNT_MISS_COUNT_DESC =
165       "Number of requests for a block that missed the block cache.";
166   static final String BLOCK_CACHE_EVICTION_COUNT = "blockCacheEvictionCount";
167   static final String BLOCK_CACHE_EVICTION_COUNT_DESC =
168       "Count of the number of blocks evicted from the block cache.";
169   static final String BLOCK_CACHE_HIT_PERCENT = "blockCountHitPercent";
170   static final String BLOCK_CACHE_HIT_PERCENT_DESC =
171       "Percent of block cache requests that are hits";
172   static final String BLOCK_CACHE_EXPRESS_HIT_PERCENT = "blockCacheExpressHitPercent";
173   static final String BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC =
174       "The percent of the time that requests with the cache turned on hit the cache.";
175   static final String RS_START_TIME_NAME = "regionServerStartTime";
176   static final String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";
177   static final String SERVER_NAME_NAME = "serverName";
178   static final String CLUSTER_ID_NAME = "clusterId";
179   static final String RS_START_TIME_DESC = "RegionServer Start Time";
180   static final String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";
181   static final String SERVER_NAME_DESC = "Server Name";
182   static final String CLUSTER_ID_DESC = "Cluster Id";
183   static final String UPDATES_BLOCKED_TIME = "updatesBlockedTime";
184   static final String UPDATES_BLOCKED_DESC =
185       "Number of MS updates have been blocked so that the memstore can be flushed.";
186   static final String DELETE_KEY = "delete";
187   static final String GET_KEY = "get";
188   static final String INCREMENT_KEY = "increment";
189   static final String MUTATE_KEY = "mutate";
190   static final String APPEND_KEY = "append";
191   static final String SLOW_MUTATE_KEY = "slowPutCount";
192   static final String SLOW_GET_KEY = "slowGetCount";
193   static final String SLOW_DELETE_KEY = "slowDeleteCount";
194   static final String SLOW_INCREMENT_KEY = "slowIncrementCount";
195   static final String SLOW_APPEND_KEY = "slowAppendCount";
196   static final String SLOW_MUTATE_DESC =
197       "The number of Multis that took over 1000ms to complete";
198   static final String SLOW_DELETE_DESC =
199       "The number of Deletes that took over 1000ms to complete";
200   static final String SLOW_GET_DESC = "The number of Gets that took over 1000ms to complete";
201   static final String SLOW_INCREMENT_DESC =
202       "The number of Increments that took over 1000ms to complete";
203   static final String SLOW_APPEND_DESC =
204       "The number of Appends that took over 1000ms to complete";
205 
206 
207 }