001/*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018package org.apache.hadoop.hbase.regionserver;
019
020import java.util.Map;
021import org.apache.yetus.audience.InterfaceAudience;
022
023/**
024 * Interface of class that will wrap a MetricsTableSource and export numbers so they can be used in
025 * MetricsTableSource
026 */
027@InterfaceAudience.Private
028public interface MetricsTableWrapperAggregate {
029  public String HASH = "#";
030
031  /**
032   * Get the number of read requests that have been issued against this table
033   */
034  long getReadRequestCount(String table);
035
036  /**
037   * Get the number of CoprocessorService requests that have been issued against this table
038   */
039  long getCpRequestsCount(String table);
040
041  /**
042   * Get the total number of filtered read requests that have been issued against this table
043   */
044  long getFilteredReadRequestCount(String table);
045
046  /**
047   * Get the number of write requests that have been issued for this table
048   */
049  long getWriteRequestCount(String table);
050
051  /**
052   * Get the total number of requests that have been issued for this table
053   */
054  long getTotalRequestsCount(String table);
055
056  /**
057   * Get the memory store size against this table
058   */
059  long getMemStoreSize(String table);
060
061  /**
062   * Get the store file size against this table
063   */
064  long getStoreFileSize(String table);
065
066  /**
067   * Get the table region size against this table
068   */
069  long getTableSize(String table);
070
071  /**
072   * Get the average region size for this table
073   */
074  long getAvgRegionSize(String table);
075
076  /**
077   * Get the number of regions hosted on for this table
078   */
079  long getNumRegions(String table);
080
081  /**
082   * Get the number of stores hosted on for this table
083   */
084  long getNumStores(String table);
085
086  /**
087   * Get the number of store files hosted for this table
088   */
089  long getNumStoreFiles(String table);
090
091  /**
092   * Get the max number of store files across all regions of this table
093   */
094  long getMaxStoreFiles(String table);
095
096  /** Returns Max age of store files for this table */
097  long getMaxStoreFileAge(String table);
098
099  /** Returns Min age of store files for this table */
100  long getMinStoreFileAge(String table);
101
102  /** Returns Average age of store files for this table */
103  long getAvgStoreFileAge(String table);
104
105  /** Returns the size of the static indexes for this table */
106  long getStaticIndexSize(String table);
107
108  /** Returns the size of the static blooms for this table */
109  long getStaticBloomSize(String table);
110
111  /** Returns count of bloom filter requests for this table. */
112  long getBloomFilterRequestsCount(String table);
113
114  /** Returns count of bloom filter requests which return a negative result for this table. */
115  long getBloomFilterNegativeResultsCount(String table);
116
117  /**
118   * Returns count of requests which could have used bloom filters for this table, but they weren't
119   * configured or loaded.
120   */
121  long getBloomFilterEligibleRequestsCount(String table);
122
123  /** Returns Number of reference files for this table */
124  long getNumReferenceFiles(String table);
125
126  /** Returns number of row reads completely from memstore per store for this table */
127  Map<String, Long> getMemstoreOnlyRowReadsCount(String table);
128
129  /** Returns number of row reads from file and memstore per store for this table */
130  Map<String, Long> getMixedRowReadsCount(String table);
131}