HBASE-20298 Doc change in read/write/total accounting metrics
This commit is contained in:
parent
6318e3bf5f
commit
b1b0db3195
|
@ -238,26 +238,30 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
|
||||||
String MIN_STORE_FILE_AGE = "minStoreFileAge";
|
String MIN_STORE_FILE_AGE = "minStoreFileAge";
|
||||||
String AVG_STORE_FILE_AGE = "avgStoreFileAge";
|
String AVG_STORE_FILE_AGE = "avgStoreFileAge";
|
||||||
String NUM_REFERENCE_FILES = "numReferenceFiles";
|
String NUM_REFERENCE_FILES = "numReferenceFiles";
|
||||||
String MAX_STORE_FILE_AGE_DESC = "Max age of store files hosted on this region server";
|
String MAX_STORE_FILE_AGE_DESC = "Max age of store files hosted on this RegionServer";
|
||||||
String MIN_STORE_FILE_AGE_DESC = "Min age of store files hosted on this region server";
|
String MIN_STORE_FILE_AGE_DESC = "Min age of store files hosted on this RegionServer";
|
||||||
String AVG_STORE_FILE_AGE_DESC = "Average age of store files hosted on this region server";
|
String AVG_STORE_FILE_AGE_DESC = "Average age of store files hosted on this RegionServer";
|
||||||
String NUM_REFERENCE_FILES_DESC = "Number of reference file on this region server";
|
String NUM_REFERENCE_FILES_DESC = "Number of reference file on this RegionServer";
|
||||||
String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
|
String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
|
||||||
String TOTAL_REQUEST_COUNT = "totalRequestCount";
|
String TOTAL_REQUEST_COUNT = "totalRequestCount";
|
||||||
String TOTAL_REQUEST_COUNT_DESC =
|
String TOTAL_REQUEST_COUNT_DESC =
|
||||||
"Total number of requests this RegionServer has answered.";
|
"Total number of requests this RegionServer has answered; increments the count once for " +
|
||||||
|
"EVERY access whether an admin operation, a Scan, a Put or Put of 1M rows, or a Get " +
|
||||||
|
"of a non-existent row";
|
||||||
String TOTAL_ROW_ACTION_REQUEST_COUNT = "totalRowActionRequestCount";
|
String TOTAL_ROW_ACTION_REQUEST_COUNT = "totalRowActionRequestCount";
|
||||||
String TOTAL_ROW_ACTION_REQUEST_COUNT_DESC =
|
String TOTAL_ROW_ACTION_REQUEST_COUNT_DESC =
|
||||||
"Total number of region requests this RegionServer has answered, count by row-level action";
|
"Total number of region requests this RegionServer has answered; counts by row-level " +
|
||||||
|
"action at the RPC Server (Sums 'readRequestsCount' and 'writeRequestsCount'); counts" +
|
||||||
|
"once per access whether a Put of 1M rows or a Get that returns 1M Results";
|
||||||
String READ_REQUEST_COUNT = "readRequestCount";
|
String READ_REQUEST_COUNT = "readRequestCount";
|
||||||
String READ_REQUEST_COUNT_DESC =
|
String READ_REQUEST_COUNT_DESC =
|
||||||
"Number of read requests this region server has answered.";
|
"Number of read requests with non-empty Results that this RegionServer has answered.";
|
||||||
String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";
|
String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";
|
||||||
String FILTERED_READ_REQUEST_COUNT_DESC =
|
String FILTERED_READ_REQUEST_COUNT_DESC =
|
||||||
"Number of filtered read requests this region server has answered.";
|
"Number of filtered read requests this RegionServer has answered.";
|
||||||
String WRITE_REQUEST_COUNT = "writeRequestCount";
|
String WRITE_REQUEST_COUNT = "writeRequestCount";
|
||||||
String WRITE_REQUEST_COUNT_DESC =
|
String WRITE_REQUEST_COUNT_DESC =
|
||||||
"Number of mutation requests this region server has answered.";
|
"Number of mutation requests this RegionServer has answered.";
|
||||||
String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
|
String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
|
||||||
String CHECK_MUTATE_FAILED_COUNT_DESC =
|
String CHECK_MUTATE_FAILED_COUNT_DESC =
|
||||||
"Number of Check and Mutate calls that failed the checks.";
|
"Number of Check and Mutate calls that failed the checks.";
|
||||||
|
@ -527,17 +531,17 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
|
||||||
= "Total number of bytes that is output from compaction, major only";
|
= "Total number of bytes that is output from compaction, major only";
|
||||||
|
|
||||||
String RPC_GET_REQUEST_COUNT = "rpcGetRequestCount";
|
String RPC_GET_REQUEST_COUNT = "rpcGetRequestCount";
|
||||||
String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this region server has answered.";
|
String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this RegionServer has answered.";
|
||||||
String RPC_SCAN_REQUEST_COUNT = "rpcScanRequestCount";
|
String RPC_SCAN_REQUEST_COUNT = "rpcScanRequestCount";
|
||||||
String RPC_SCAN_REQUEST_COUNT_DESC =
|
String RPC_SCAN_REQUEST_COUNT_DESC =
|
||||||
"Number of rpc scan requests this region server has answered.";
|
"Number of rpc scan requests this RegionServer has answered.";
|
||||||
String RPC_MULTI_REQUEST_COUNT = "rpcMultiRequestCount";
|
String RPC_MULTI_REQUEST_COUNT = "rpcMultiRequestCount";
|
||||||
String RPC_MULTI_REQUEST_COUNT_DESC =
|
String RPC_MULTI_REQUEST_COUNT_DESC =
|
||||||
"Number of rpc multi requests this region server has answered.";
|
"Number of rpc multi requests this RegionServer has answered.";
|
||||||
String RPC_MUTATE_REQUEST_COUNT = "rpcMutateRequestCount";
|
String RPC_MUTATE_REQUEST_COUNT = "rpcMutateRequestCount";
|
||||||
String RPC_MUTATE_REQUEST_COUNT_DESC =
|
String RPC_MUTATE_REQUEST_COUNT_DESC =
|
||||||
"Number of rpc mutation requests this region server has answered.";
|
"Number of rpc mutation requests this RegionServer has answered.";
|
||||||
String AVERAGE_REGION_SIZE = "averageRegionSize";
|
String AVERAGE_REGION_SIZE = "averageRegionSize";
|
||||||
String AVERAGE_REGION_SIZE_DESC =
|
String AVERAGE_REGION_SIZE_DESC =
|
||||||
"Average region size over the region server including memstore and storefile sizes.";
|
"Average region size over the RegionServer including memstore and storefile sizes.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,7 @@ public class FastPathBalancedQueueRpcExecutor extends BalancedQueueRpcExecutor {
|
||||||
// if an empty queue of CallRunners so we are available for direct handoff when one comes in.
|
// if an empty queue of CallRunners so we are available for direct handoff when one comes in.
|
||||||
final Deque<FastPathHandler> fastPathHandlerStack;
|
final Deque<FastPathHandler> fastPathHandlerStack;
|
||||||
// Semaphore to coordinate loading of fastpathed loadedTask and our running it.
|
// Semaphore to coordinate loading of fastpathed loadedTask and our running it.
|
||||||
|
// UNFAIR synchronization.
|
||||||
private Semaphore semaphore = new Semaphore(0);
|
private Semaphore semaphore = new Semaphore(0);
|
||||||
// The task we get when fast-pathing.
|
// The task we get when fast-pathing.
|
||||||
private CallRunner loadedCallRunner;
|
private CallRunner loadedCallRunner;
|
||||||
|
@ -112,7 +113,7 @@ public class FastPathBalancedQueueRpcExecutor extends BalancedQueueRpcExecutor {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param task Task gotten via fastpath.
|
* @param cr Task gotten via fastpath.
|
||||||
* @return True if we successfully loaded our task
|
* @return True if we successfully loaded our task
|
||||||
*/
|
*/
|
||||||
boolean loadCallRunner(final CallRunner cr) {
|
boolean loadCallRunner(final CallRunner cr) {
|
||||||
|
|
|
@ -47,7 +47,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import javax.management.MalformedObjectNameException;
|
import javax.management.MalformedObjectNameException;
|
||||||
import javax.management.ObjectName;
|
|
||||||
import javax.servlet.http.HttpServlet;
|
import javax.servlet.http.HttpServlet;
|
||||||
import org.apache.commons.lang3.RandomUtils;
|
import org.apache.commons.lang3.RandomUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -168,7 +167,6 @@ import org.apache.hadoop.hbase.zookeeper.ZKUtil;
|
||||||
import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
|
import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
|
||||||
import org.apache.hadoop.hbase.zookeeper.ZNodePaths;
|
import org.apache.hadoop.hbase.zookeeper.ZNodePaths;
|
||||||
import org.apache.hadoop.ipc.RemoteException;
|
import org.apache.hadoop.ipc.RemoteException;
|
||||||
import org.apache.hadoop.metrics2.util.MBeans;
|
|
||||||
import org.apache.hadoop.util.ReflectionUtils;
|
import org.apache.hadoop.util.ReflectionUtils;
|
||||||
import org.apache.yetus.audience.InterfaceAudience;
|
import org.apache.yetus.audience.InterfaceAudience;
|
||||||
import org.apache.zookeeper.KeeperException;
|
import org.apache.zookeeper.KeeperException;
|
||||||
|
@ -459,11 +457,6 @@ public class HRegionServer extends HasThread implements
|
||||||
*/
|
*/
|
||||||
protected String clusterId;
|
protected String clusterId;
|
||||||
|
|
||||||
/**
|
|
||||||
* MX Bean for RegionServerInfo
|
|
||||||
*/
|
|
||||||
private ObjectName mxBean = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chore to clean periodically the moved region list
|
* Chore to clean periodically the moved region list
|
||||||
*/
|
*/
|
||||||
|
@ -1024,12 +1017,9 @@ public class HRegionServer extends HasThread implements
|
||||||
abort(prefix + t.getMessage(), t);
|
abort(prefix + t.getMessage(), t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Run shutdown.
|
if (this.leases != null) {
|
||||||
if (mxBean != null) {
|
this.leases.closeAfterLeasesExpire();
|
||||||
MBeans.unregister(mxBean);
|
|
||||||
mxBean = null;
|
|
||||||
}
|
}
|
||||||
if (this.leases != null) this.leases.closeAfterLeasesExpire();
|
|
||||||
if (this.splitLogWorker != null) {
|
if (this.splitLogWorker != null) {
|
||||||
splitLogWorker.stop();
|
splitLogWorker.stop();
|
||||||
}
|
}
|
||||||
|
|
|
@ -418,11 +418,17 @@ The following metrics have changed names:
|
||||||
The following metrics have changed their meaning:
|
The following metrics have changed their meaning:
|
||||||
|
|
||||||
* The metric 'blockCacheEvictionCount' published on a per-region server basis no longer includes blocks removed from the cache due to the invalidation of the hfiles they are from (e.g. via compaction).
|
* The metric 'blockCacheEvictionCount' published on a per-region server basis no longer includes blocks removed from the cache due to the invalidation of the hfiles they are from (e.g. via compaction).
|
||||||
|
* The metric 'totalRequestCount' increments once per request; previously it incremented by the number of `Actions` carried in the request; e.g. if a request was a `multi` made of four Gets and two Puts, we'd increment 'totalRequestCount' by six; now we increment by one regardless. Expect to see lower values for this metric in hbase-2.0.0.
|
||||||
|
* The 'readRequestCount' now counts reads that return a non-empty row where in older hbases, we'd increment 'readRequestCount' whether a Result or not. This change will flatten the profile of the read-requests graphs if requests for non-existent rows. A YCSB read-heavy workload can do this dependent on how the database was loaded.
|
||||||
|
|
||||||
The following metrics have been removed:
|
The following metrics have been removed:
|
||||||
|
|
||||||
* Metrics related to the Distributed Log Replay feature are no longer present. They were previsouly found in the region server context under the name 'replay'. See the section [[upgrade2.0.distributed.log.replay]] for details.
|
* Metrics related to the Distributed Log Replay feature are no longer present. They were previsouly found in the region server context under the name 'replay'. See the section [[upgrade2.0.distributed.log.replay]] for details.
|
||||||
|
|
||||||
|
The following metrics have been added:
|
||||||
|
|
||||||
|
* 'totalRowActionRequestCount' is a count of region row actions summing reads and writes.
|
||||||
|
|
||||||
[[upgrade2.0.zkconfig]]
|
[[upgrade2.0.zkconfig]]
|
||||||
.ZooKeeper configs no longer read from zoo.cfg
|
.ZooKeeper configs no longer read from zoo.cfg
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue