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 write requests that have been issued against this table
038   */
039  long getFilteredReadRequestCount(String table);
040
041  /**
042   * Get the number of write requests that have been issued for this table
043   */
044  long getWriteRequestCount(String table);
045
046  /**
047   * Get the total number of requests that have been issued for this table
048   */
049  long getTotalRequestsCount(String table);
050
051  /**
052   * Get the memory store size against this table
053   */
054  long getMemStoreSize(String table);
055
056  /**
057   * Get the store file size against this table
058   */
059  long getStoreFileSize(String table);
060
061  /**
062   * Get the table region size against this table
063   */
064  long getTableSize(String table);
065
066  /**
067   * Get the average region size for this table
068   */
069  long getAvgRegionSize(String table);
070
071  /**
072   * Get the number of regions hosted on for this table
073   */
074  long getNumRegions(String table);
075
076  /**
077   * Get the number of stores hosted on for this table
078   */
079  long getNumStores(String table);
080
081  /**
082   * Get the number of store files hosted for this table
083   */
084  long getNumStoreFiles(String table);
085
086  /**
087   * Get the max number of store files across all regions of this table
088   */
089  long getMaxStoreFiles(String table);
090
091  /** Returns Max age of store files for this table */
092  long getMaxStoreFileAge(String table);
093
094  /** Returns Min age of store files for this table */
095  long getMinStoreFileAge(String table);
096
097  /** Returns Average age of store files for this table */
098  long getAvgStoreFileAge(String table);
099
100  /** Returns the size of the static indexes for this table */
101  long getStaticIndexSize(String table);
102
103  /** Returns the size of the static blooms for this table */
104  long getStaticBloomSize(String table);
105
106  /** Returns count of bloom filter requests for this table. */
107  long getBloomFilterRequestsCount(String table);
108
109  /** Returns count of bloom filter requests which return a negative result for this table. */
110  long getBloomFilterNegativeResultsCount(String table);
111
112  /**
113   * Returns count of requests which could have used bloom filters for this table, but they weren't
114   * configured or loaded.
115   */
116  long getBloomFilterEligibleRequestsCount(String table);
117
118  /** Returns Number of reference files for this table */
119  long getNumReferenceFiles(String table);
120
121  /** Returns number of row reads completely from memstore per store for this table */
122  Map<String, Long> getMemstoreOnlyRowReadsCount(String table);
123
124  /** Returns number of row reads from file and memstore per store for this table */
125  Map<String, Long> getMixedRowReadsCount(String table);
126}