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  import org.apache.hadoop.hbase.metrics.JvmPauseMonitorSource;
23  
24  /**
25   * Interface for classes that expose metrics about the regionserver.
26   */
27  public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSource {
28  
29    /**
30     * The name of the metrics
31     */
32    String METRICS_NAME = "Server";
33  
34    /**
35     * The name of the metrics context that metrics will be under.
36     */
37    String METRICS_CONTEXT = "regionserver";
38  
39    /**
40     * Description
41     */
42    String METRICS_DESCRIPTION = "Metrics about HBase RegionServer";
43  
44    /**
45     * The name of the metrics context that metrics will be under in jmx
46     */
47    String METRICS_JMX_CONTEXT = "RegionServer,sub=" + METRICS_NAME;
48  
49    /**
50     * Update the Put time histogram
51     *
52     * @param t time it took
53     */
54    void updatePut(long t);
55  
56    /**
57     * Update the Delete time histogram
58     *
59     * @param t time it took
60     */
61    void updateDelete(long t);
62  
63    /**
64     * Update the Get time histogram .
65     *
66     * @param t time it took
67     */
68    void updateGet(long t);
69  
70    /**
71     * Update the Increment time histogram.
72     *
73     * @param t time it took
74     */
75    void updateIncrement(long t);
76  
77    /**
78     * Update the Append time histogram.
79     *
80     * @param t time it took
81     */
82    void updateAppend(long t);
83  
84    /**
85     * Update the Replay time histogram.
86     *
87     * @param t time it took
88     */
89    void updateReplay(long t);
90  
91    /**
92     * Update the scan size.
93     *
94     * @param scanSize size of the scan
95     */
96    void updateScanSize(long scanSize);
97  
98    /**
99     * Update the scan time.
100    * */
101   void updateScanTime(long t);
102 
103   /**
104    * Increment the number of slow Puts that have happened.
105    */
106   void incrSlowPut();
107 
108   /**
109    * Increment the number of slow Deletes that have happened.
110    */
111   void incrSlowDelete();
112 
113   /**
114    * Increment the number of slow Gets that have happened.
115    */
116   void incrSlowGet();
117 
118   /**
119    * Increment the number of slow Increments that have happened.
120    */
121   void incrSlowIncrement();
122 
123   /**
124    * Increment the number of slow Appends that have happened.
125    */
126   void incrSlowAppend();
127 
128   /**
129    * Update the split transaction time histogram
130    * @param t time it took, in milliseconds
131    */
132   void updateSplitTime(long t);
133 
134   /**
135    * Increment number of a requested splits
136    */
137   void incrSplitRequest();
138 
139   /**
140    * Increment number of successful splits
141    */
142   void incrSplitSuccess();
143 
144   /**
145    * Update the flush time histogram
146    * @param t time it took, in milliseconds
147    */
148   void updateFlushTime(long t);
149 
150   /**
151    * Update the flush memstore size histogram
152    * @param bytes the number of bytes in the memstore
153    */
154   void updateFlushMemstoreSize(long bytes);
155 
156   /**
157    * Update the flush output file size histogram
158    * @param bytes the number of bytes in the output file
159    */
160   void updateFlushOutputSize(long bytes);
161 
162   /**
163    * Update the compaction time histogram, both major and minor
164    * @param isMajor whether compaction is a major compaction
165    * @param t time it took, in milliseconds
166    */
167   void updateCompactionTime(boolean isMajor, long t);
168 
169   /**
170    * Update the compaction input number of files histogram
171    * @param isMajor whether compaction is a major compaction
172    * @param c number of files
173    */
174   void updateCompactionInputFileCount(boolean isMajor, long c);
175 
176   /**
177    * Update the compaction total input file size histogram
178    * @param isMajor whether compaction is a major compaction
179    * @param bytes the number of bytes of the compaction input file
180    */
181   void updateCompactionInputSize(boolean isMajor, long bytes);
182 
183   /**
184    * Update the compaction output number of files histogram
185    * @param isMajor whether compaction is a major compaction
186    * @param c number of files
187    */
188   void updateCompactionOutputFileCount(boolean isMajor, long c);
189 
190   /**
191    * Update the compaction total output file size
192    * @param isMajor whether compaction is a major compaction
193    * @param bytes the number of bytes of the compaction input file
194    */
195   void updateCompactionOutputSize(boolean isMajor, long bytes);
196 
197   // Strings used for exporting to metrics system.
198   String REGION_COUNT = "regionCount";
199   String REGION_COUNT_DESC = "Number of regions";
200   String STORE_COUNT = "storeCount";
201   String STORE_COUNT_DESC = "Number of Stores";
202   String WALFILE_COUNT = "hlogFileCount";
203   String WALFILE_COUNT_DESC = "Number of WAL Files";
204   String WALFILE_SIZE = "hlogFileSize";
205   String WALFILE_SIZE_DESC = "Size of all WAL Files";
206   String STOREFILE_COUNT = "storeFileCount";
207   String STOREFILE_COUNT_DESC = "Number of Store Files";
208   String MEMSTORE_SIZE = "memStoreSize";
209   String MEMSTORE_SIZE_DESC = "Size of the memstore";
210   String STOREFILE_SIZE = "storeFileSize";
211   String MAX_STORE_FILE_AGE = "maxStoreFileAge";
212   String MIN_STORE_FILE_AGE = "minStoreFileAge";
213   String AVG_STORE_FILE_AGE = "avgStoreFileAge";
214   String NUM_REFERENCE_FILES = "numReferenceFiles";
215   String MAX_STORE_FILE_AGE_DESC = "Max age of store files hosted on this region server";
216   String MIN_STORE_FILE_AGE_DESC = "Min age of store files hosted on this region server";
217   String AVG_STORE_FILE_AGE_DESC = "Average age of store files hosted on this region server";
218   String NUM_REFERENCE_FILES_DESC = "Number of reference file on this region server";
219   String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
220   String TOTAL_REQUEST_COUNT = "totalRequestCount";
221   String TOTAL_REQUEST_COUNT_DESC =
222       "Total number of requests this RegionServer has answered.";
223   String READ_REQUEST_COUNT = "readRequestCount";
224   String READ_REQUEST_COUNT_DESC =
225       "Number of read requests this region server has answered.";
226   String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";
227   String FILTERED_READ_REQUEST_COUNT_DESC =
228     "Number of filtered read requests this region server has answered.";
229   String WRITE_REQUEST_COUNT = "writeRequestCount";
230   String WRITE_REQUEST_COUNT_DESC =
231       "Number of mutation requests this region server has answered.";
232   String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
233   String CHECK_MUTATE_FAILED_COUNT_DESC =
234       "Number of Check and Mutate calls that failed the checks.";
235   String CHECK_MUTATE_PASSED_COUNT = "checkMutatePassedCount";
236   String CHECK_MUTATE_PASSED_COUNT_DESC =
237       "Number of Check and Mutate calls that passed the checks.";
238   String STOREFILE_INDEX_SIZE = "storeFileIndexSize";
239   String STOREFILE_INDEX_SIZE_DESC = "Size of indexes in storefiles on disk.";
240   String STATIC_INDEX_SIZE = "staticIndexSize";
241   String STATIC_INDEX_SIZE_DESC = "Uncompressed size of the static indexes.";
242   String STATIC_BLOOM_SIZE = "staticBloomSize";
243   String STATIC_BLOOM_SIZE_DESC =
244       "Uncompressed size of the static bloom filters.";
245   String NUMBER_OF_MUTATIONS_WITHOUT_WAL = "mutationsWithoutWALCount";
246   String NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC =
247       "Number of mutations that have been sent by clients with the write ahead logging turned off.";
248   String DATA_SIZE_WITHOUT_WAL = "mutationsWithoutWALSize";
249   String DATA_SIZE_WITHOUT_WAL_DESC =
250       "Size of data that has been sent by clients with the write ahead logging turned off.";
251   String PERCENT_FILES_LOCAL = "percentFilesLocal";
252   String PERCENT_FILES_LOCAL_DESC =
253       "The percent of HFiles that are stored on the local hdfs data node.";
254   String PERCENT_FILES_LOCAL_SECONDARY_REGIONS = "percentFilesLocalSecondaryRegions";
255   String PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC =
256     "The percent of HFiles used by secondary regions that are stored on the local hdfs data node.";
257   String SPLIT_QUEUE_LENGTH = "splitQueueLength";
258   String SPLIT_QUEUE_LENGTH_DESC = "Length of the queue for splits.";
259   String COMPACTION_QUEUE_LENGTH = "compactionQueueLength";
260   String LARGE_COMPACTION_QUEUE_LENGTH = "largeCompactionQueueLength";
261   String SMALL_COMPACTION_QUEUE_LENGTH = "smallCompactionQueueLength";
262   String COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions.";
263   String LARGE_COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions with input size "
264       + "larger than throttle threshold (2.5GB by default)";
265   String SMALL_COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions with input size "
266       + "smaller than throttle threshold (2.5GB by default)";
267   String FLUSH_QUEUE_LENGTH = "flushQueueLength";
268   String FLUSH_QUEUE_LENGTH_DESC = "Length of the queue for region flushes";
269   String BLOCK_CACHE_FREE_SIZE = "blockCacheFreeSize";
270   String BLOCK_CACHE_FREE_DESC =
271       "Size of the block cache that is not occupied.";
272   String BLOCK_CACHE_COUNT = "blockCacheCount";
273   String BLOCK_CACHE_COUNT_DESC = "Number of block in the block cache.";
274   String BLOCK_CACHE_SIZE = "blockCacheSize";
275   String BLOCK_CACHE_SIZE_DESC = "Size of the block cache.";
276   String BLOCK_CACHE_HIT_COUNT = "blockCacheHitCount";
277   String BLOCK_CACHE_HIT_COUNT_DESC = "Count of the hit on the block cache.";
278   String BLOCK_CACHE_PRIMARY_HIT_COUNT = "blockCacheHitCountPrimary";
279   String BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC = "Count of hit on primary replica in the block cache.";
280   String BLOCK_CACHE_MISS_COUNT = "blockCacheMissCount";
281   String BLOCK_COUNT_MISS_COUNT_DESC =
282       "Number of requests for a block that missed the block cache.";
283   String BLOCK_CACHE_PRIMARY_MISS_COUNT = "blockCacheMissCountPrimary";
284   String BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC =
285       "Number of requests for a block of primary replica that missed the block cache.";
286   String BLOCK_CACHE_EVICTION_COUNT = "blockCacheEvictionCount";
287   String BLOCK_CACHE_EVICTION_COUNT_DESC =
288       "Count of the number of blocks evicted from the block cache.";
289   String BLOCK_CACHE_PRIMARY_EVICTION_COUNT = "blockCacheEvictionCountPrimary";
290   String BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC =
291       "Count of the number of blocks evicted from primary replica in the block cache.";
292   String BLOCK_CACHE_HIT_PERCENT = "blockCacheCountHitPercent";
293   String BLOCK_CACHE_HIT_PERCENT_DESC =
294       "Percent of block cache requests that are hits";
295   String BLOCK_CACHE_EXPRESS_HIT_PERCENT = "blockCacheExpressHitPercent";
296   String BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC =
297       "The percent of the time that requests with the cache turned on hit the cache.";
298   String BLOCK_CACHE_FAILED_INSERTION_COUNT = "blockCacheFailedInsertionCount";
299   String BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC = "Number of times that a block cache " +
300       "insertion failed. Usually due to size restrictions.";
301   String BLOCK_CACHE_DATA_MISS_COUNT = "blockCacheDataMissCount";
302   String BLOCK_CACHE_ENCODED_DATA_MISS_COUNT = "blockCacheEncodedDataMissCount";
303   String BLOCK_CACHE_LEAF_INDEX_MISS_COUNT = "blockCacheLeafIndexMissCount";
304   String BLOCK_CACHE_BLOOM_CHUNK_MISS_COUNT = "blockCacheBloomChunkMissCount";
305   String BLOCK_CACHE_META_MISS_COUNT = "blockCacheMetaMissCount";
306   String BLOCK_CACHE_ROOT_INDEX_MISS_COUNT = "blockCacheRootIndexMissCount";
307   String BLOCK_CACHE_INTERMEDIATE_INDEX_MISS_COUNT = "blockCacheIntermediateIndexMissCount";
308   String BLOCK_CACHE_FILE_INFO_MISS_COUNT = "blockCacheFileInfoMissCount";
309   String BLOCK_CACHE_GENERAL_BLOOM_META_MISS_COUNT = "blockCacheGeneralBloomMetaMissCount";
310   String BLOCK_CACHE_DELETE_FAMILY_BLOOM_MISS_COUNT = "blockCacheDeleteFamilyBloomMissCount";
311   String BLOCK_CACHE_TRAILER_MISS_COUNT = "blockCacheTrailerMissCount";
312   String BLOCK_CACHE_DATA_HIT_COUNT = "blockCacheDataHitCount";
313   String BLOCK_CACHE_ENCODED_DATA_HIT_COUNT = "blockCacheEncodedDataHitCount";
314   String BLOCK_CACHE_LEAF_INDEX_HIT_COUNT = "blockCacheLeafIndexHitCount";
315   String BLOCK_CACHE_BLOOM_CHUNK_HIT_COUNT = "blockCacheBloomChunkHitCount";
316   String BLOCK_CACHE_META_HIT_COUNT = "blockCacheMetaHitCount";
317   String BLOCK_CACHE_ROOT_INDEX_HIT_COUNT = "blockCacheRootIndexHitCount";
318   String BLOCK_CACHE_INTERMEDIATE_INDEX_HIT_COUNT = "blockCacheIntermediateIndexHitCount";
319   String BLOCK_CACHE_FILE_INFO_HIT_COUNT = "blockCacheFileInfoHitCount";
320   String BLOCK_CACHE_GENERAL_BLOOM_META_HIT_COUNT = "blockCacheGeneralBloomMetaHitCount";
321   String BLOCK_CACHE_DELETE_FAMILY_BLOOM_HIT_COUNT = "blockCacheDeleteFamilyBloomHitCount";
322   String BLOCK_CACHE_TRAILER_HIT_COUNT = "blockCacheTrailerHitCount";
323   
324   String RS_START_TIME_NAME = "regionServerStartTime";
325   String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";
326   String SERVER_NAME_NAME = "serverName";
327   String CLUSTER_ID_NAME = "clusterId";
328   String RS_START_TIME_DESC = "RegionServer Start Time";
329   String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";
330   String SERVER_NAME_DESC = "Server Name";
331   String CLUSTER_ID_DESC = "Cluster Id";
332   String UPDATES_BLOCKED_TIME = "updatesBlockedTime";
333   String UPDATES_BLOCKED_DESC =
334       "Number of MS updates have been blocked so that the memstore can be flushed.";
335   String DELETE_KEY = "delete";
336   String GET_SIZE_KEY = "getSize";
337   String GET_KEY = "get";
338   String INCREMENT_KEY = "increment";
339   String MUTATE_KEY = "mutate";
340   String APPEND_KEY = "append";
341   String REPLAY_KEY = "replay";
342   String SCAN_SIZE_KEY = "scanSize";
343   String SCAN_TIME_KEY = "scanTime";
344 
345   String SLOW_MUTATE_KEY = "slowPutCount";
346   String SLOW_GET_KEY = "slowGetCount";
347   String SLOW_DELETE_KEY = "slowDeleteCount";
348   String SLOW_INCREMENT_KEY = "slowIncrementCount";
349   String SLOW_APPEND_KEY = "slowAppendCount";
350   String SLOW_MUTATE_DESC =
351       "The number of Multis that took over 1000ms to complete";
352   String SLOW_DELETE_DESC =
353       "The number of Deletes that took over 1000ms to complete";
354   String SLOW_GET_DESC = "The number of Gets that took over 1000ms to complete";
355   String SLOW_INCREMENT_DESC =
356       "The number of Increments that took over 1000ms to complete";
357   String SLOW_APPEND_DESC =
358       "The number of Appends that took over 1000ms to complete";
359 
360   String FLUSHED_CELLS = "flushedCellsCount";
361   String FLUSHED_CELLS_DESC = "The number of cells flushed to disk";
362   String FLUSHED_CELLS_SIZE = "flushedCellsSize";
363   String FLUSHED_CELLS_SIZE_DESC = "The total amount of data flushed to disk, in bytes";
364   String COMPACTED_CELLS = "compactedCellsCount";
365   String COMPACTED_CELLS_DESC = "The number of cells processed during minor compactions";
366   String COMPACTED_CELLS_SIZE = "compactedCellsSize";
367   String COMPACTED_CELLS_SIZE_DESC =
368       "The total amount of data processed during minor compactions, in bytes";
369   String MAJOR_COMPACTED_CELLS = "majorCompactedCellsCount";
370   String MAJOR_COMPACTED_CELLS_DESC =
371       "The number of cells processed during major compactions";
372   String MAJOR_COMPACTED_CELLS_SIZE = "majorCompactedCellsSize";
373   String MAJOR_COMPACTED_CELLS_SIZE_DESC =
374       "The total amount of data processed during major compactions, in bytes";
375   String CELLS_COUNT_COMPACTED_TO_MOB = "cellsCountCompactedToMob";
376   String CELLS_COUNT_COMPACTED_TO_MOB_DESC =
377       "The number of cells moved to mob during compaction";
378   String CELLS_COUNT_COMPACTED_FROM_MOB = "cellsCountCompactedFromMob";
379   String CELLS_COUNT_COMPACTED_FROM_MOB_DESC =
380       "The number of cells moved from mob during compaction";
381   String CELLS_SIZE_COMPACTED_TO_MOB = "cellsSizeCompactedToMob";
382   String CELLS_SIZE_COMPACTED_TO_MOB_DESC =
383       "The total amount of cells move to mob during compaction, in bytes";
384   String CELLS_SIZE_COMPACTED_FROM_MOB = "cellsSizeCompactedFromMob";
385   String CELLS_SIZE_COMPACTED_FROM_MOB_DESC =
386       "The total amount of cells move from mob during compaction, in bytes";
387   String MOB_FLUSH_COUNT = "mobFlushCount";
388   String MOB_FLUSH_COUNT_DESC = "The number of the flushes in mob-enabled stores";
389   String MOB_FLUSHED_CELLS_COUNT = "mobFlushedCellsCount";
390   String MOB_FLUSHED_CELLS_COUNT_DESC = "The number of mob cells flushed to disk";
391   String MOB_FLUSHED_CELLS_SIZE = "mobFlushedCellsSize";
392   String MOB_FLUSHED_CELLS_SIZE_DESC = "The total amount of mob cells flushed to disk, in bytes";
393   String MOB_SCAN_CELLS_COUNT = "mobScanCellsCount";
394   String MOB_SCAN_CELLS_COUNT_DESC = "The number of scanned mob cells";
395   String MOB_SCAN_CELLS_SIZE = "mobScanCellsSize";
396   String MOB_SCAN_CELLS_SIZE_DESC = "The total amount of scanned mob cells, in bytes";
397   String MOB_FILE_CACHE_ACCESS_COUNT = "mobFileCacheAccessCount";
398   String MOB_FILE_CACHE_ACCESS_COUNT_DESC = "The count of accesses to the mob file cache";
399   String MOB_FILE_CACHE_MISS_COUNT = "mobFileCacheMissCount";
400   String MOB_FILE_CACHE_MISS_COUNT_DESC = "The count of misses to the mob file cache";
401   String MOB_FILE_CACHE_HIT_PERCENT = "mobFileCacheHitPercent";
402   String MOB_FILE_CACHE_HIT_PERCENT_DESC = "The hit percent to the mob file cache";
403   String MOB_FILE_CACHE_EVICTED_COUNT = "mobFileCacheEvictedCount";
404   String MOB_FILE_CACHE_EVICTED_COUNT_DESC = "The number of items evicted from the mob file cache";
405   String MOB_FILE_CACHE_COUNT = "mobFileCacheCount";
406   String MOB_FILE_CACHE_COUNT_DESC = "The count of cached mob files";
407 
408   String HEDGED_READS = "hedgedReads";
409   String HEDGED_READS_DESC = "The number of times we started a hedged read";
410   String HEDGED_READ_WINS = "hedgedReadWins";
411   String HEDGED_READ_WINS_DESC =
412       "The number of times we started a hedged read and a hedged read won";
413 
414   String BLOCKED_REQUESTS_COUNT = "blockedRequestCount";
415   String BLOCKED_REQUESTS_COUNT_DESC = "The number of blocked requests because of memstore size is "
416       + "larger than blockingMemStoreSize";
417 
418   String SPLIT_KEY = "splitTime";
419   String SPLIT_REQUEST_KEY = "splitRequestCount";
420   String SPLIT_REQUEST_DESC = "Number of splits requested";
421   String SPLIT_SUCCESS_KEY = "splitSuccessCount";
422   String SPLIT_SUCCESS_DESC = "Number of successfully executed splits";
423 
424   String FLUSH_TIME = "flushTime";
425   String FLUSH_TIME_DESC = "Histogram for the time in millis for memstore flush";
426   String FLUSH_MEMSTORE_SIZE = "flushMemstoreSize";
427   String FLUSH_MEMSTORE_SIZE_DESC = "Histogram for number of bytes in the memstore for a flush";
428   String FLUSH_OUTPUT_SIZE = "flushOutputSize";
429   String FLUSH_OUTPUT_SIZE_DESC = "Histogram for number of bytes in the resulting file for a flush";
430   String FLUSHED_OUTPUT_BYTES = "flushedOutputBytes";
431   String FLUSHED_OUTPUT_BYTES_DESC = "Total number of bytes written from flush";
432   String FLUSHED_MEMSTORE_BYTES = "flushedMemstoreBytes";
433   String FLUSHED_MEMSTORE_BYTES_DESC = "Total number of bytes of cells in memstore from flush";
434 
435   String COMPACTION_TIME = "compactionTime";
436   String COMPACTION_TIME_DESC
437     = "Histogram for the time in millis for compaction, both major and minor";
438   String COMPACTION_INPUT_FILE_COUNT = "compactionInputFileCount";
439   String COMPACTION_INPUT_FILE_COUNT_DESC
440     = "Histogram for the compaction input number of files, both major and minor";
441   String COMPACTION_INPUT_SIZE = "compactionInputSize";
442   String COMPACTION_INPUT_SIZE_DESC
443     = "Histogram for the compaction total input file sizes, both major and minor";
444   String COMPACTION_OUTPUT_FILE_COUNT = "compactionOutputFileCount";
445   String COMPACTION_OUTPUT_FILE_COUNT_DESC
446     = "Histogram for the compaction output number of files, both major and minor";
447   String COMPACTION_OUTPUT_SIZE = "compactionOutputSize";
448   String COMPACTION_OUTPUT_SIZE_DESC
449     = "Histogram for the compaction total output file sizes, both major and minor";
450   String COMPACTED_INPUT_BYTES = "compactedInputBytes";
451   String COMPACTED_INPUT_BYTES_DESC
452     = "Total number of bytes that is read for compaction, both major and minor";
453   String COMPACTED_OUTPUT_BYTES = "compactedOutputBytes";
454   String COMPACTED_OUTPUT_BYTES_DESC
455     = "Total number of bytes that is output from compaction, both major and minor";
456 
457   String MAJOR_COMPACTION_TIME = "majorCompactionTime";
458   String MAJOR_COMPACTION_TIME_DESC
459     = "Histogram for the time in millis for compaction, major only";
460   String MAJOR_COMPACTION_INPUT_FILE_COUNT = "majorCompactionInputFileCount";
461   String MAJOR_COMPACTION_INPUT_FILE_COUNT_DESC
462     = "Histogram for the compaction input number of files, major only";
463   String MAJOR_COMPACTION_INPUT_SIZE = "majorCompactionInputSize";
464   String MAJOR_COMPACTION_INPUT_SIZE_DESC
465     = "Histogram for the compaction total input file sizes, major only";
466   String MAJOR_COMPACTION_OUTPUT_FILE_COUNT = "majorCompactionOutputFileCount";
467   String MAJOR_COMPACTION_OUTPUT_FILE_COUNT_DESC
468     = "Histogram for the compaction output number of files, major only";
469   String MAJOR_COMPACTION_OUTPUT_SIZE = "majorCompactionOutputSize";
470   String MAJOR_COMPACTION_OUTPUT_SIZE_DESC
471     = "Histogram for the compaction total output file sizes, major only";
472   String MAJOR_COMPACTED_INPUT_BYTES = "majorCompactedInputBytes";
473   String MAJOR_COMPACTED_INPUT_BYTES_DESC
474     = "Total number of bytes that is read for compaction, major only";
475   String MAJOR_COMPACTED_OUTPUT_BYTES = "majorCompactedOutputBytes";
476   String MAJOR_COMPACTED_OUTPUT_BYTES_DESC
477     = "Total number of bytes that is output from compaction, major only";
478 
479   String RPC_GET_REQUEST_COUNT = "rpcGetRequestCount";
480   String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this region server has answered.";
481   String RPC_SCAN_REQUEST_COUNT = "rpcScanRequestCount";
482   String RPC_SCAN_REQUEST_COUNT_DESC =
483       "Number of rpc scan requests this region server has answered.";
484   String RPC_MULTI_REQUEST_COUNT = "rpcMultiRequestCount";
485   String RPC_MULTI_REQUEST_COUNT_DESC =
486       "Number of rpc multi requests this region server has answered.";
487   String RPC_MUTATE_REQUEST_COUNT = "rpcMutateRequestCount";
488   String RPC_MUTATE_REQUEST_COUNT_DESC =
489       "Number of rpc mutation requests this region server has answered.";
490   String AVERAGE_REGION_SIZE = "averageRegionSize";
491   String AVERAGE_REGION_SIZE_DESC = 
492       "Average region size over the region server including memstore and storefile sizes.";
493 }