You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2018/06/10 07:29:29 UTC
[43/50] [abbrv] hbase git commit: HBASE-20672 Adding new Metrics
readRequestRate and writeRequestRate
HBASE-20672 Adding new Metrics readRequestRate and writeRequestRate
Signed-off-by: tedyu <yu...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/519236b4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/519236b4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/519236b4
Branch: refs/heads/HBASE-20331
Commit: 519236b4afa7325d482380e945faf0a7d4c97254
Parents: 30a052b
Author: Ankit <ja...@salesforce.com>
Authored: Thu Jun 7 15:03:03 2018 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Fri Jun 8 13:48:33 2018 -0700
----------------------------------------------------------------------
.../regionserver/MetricsRegionServerSource.java | 6 ++++
.../MetricsRegionServerWrapper.java | 10 +++++++
.../MetricsRegionServerSourceImpl.java | 6 +++-
.../MetricsRegionServerWrapperImpl.java | 29 ++++++++++++++++++++
.../MetricsRegionServerWrapperStub.java | 10 +++++++
5 files changed, 60 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/519236b4/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
index 4636fe0..c02ca26 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
@@ -256,12 +256,18 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
String READ_REQUEST_COUNT = "readRequestCount";
String READ_REQUEST_COUNT_DESC =
"Number of read requests with non-empty Results that this RegionServer has answered.";
+ String READ_REQUEST_RATE_PER_SECOND = "readRequestRatePerSecond";
+ String READ_REQUEST_RATE_DESC =
+ "Rate of answering the read requests by this region server per second.";
String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";
String FILTERED_READ_REQUEST_COUNT_DESC =
"Number of filtered read requests this RegionServer has answered.";
String WRITE_REQUEST_COUNT = "writeRequestCount";
String WRITE_REQUEST_COUNT_DESC =
"Number of mutation requests this RegionServer has answered.";
+ String WRITE_REQUEST_RATE_PER_SECOND = "writeRequestRatePerSecond";
+ String WRITE_REQUEST_RATE_DESC =
+ "Rate of answering the mutation requests by this region server per second.";
String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
String CHECK_MUTATE_FAILED_COUNT_DESC =
"Number of Check and Mutate calls that failed the checks.";
http://git-wip-us.apache.org/repos/asf/hbase/blob/519236b4/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
index 83a8339..13a5d84 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
@@ -136,6 +136,11 @@ public interface MetricsRegionServerWrapper {
long getReadRequestsCount();
/**
+ * Get the rate of read requests per second to regions hosted on this region server.
+ */
+ double getReadRequestsRatePerSecond();
+
+ /**
* Get the number of filtered read requests to regions hosted on this region server.
*/
long getFilteredReadRequestsCount();
@@ -146,6 +151,11 @@ public interface MetricsRegionServerWrapper {
long getWriteRequestsCount();
/**
+ * Get the rate of write requests per second to regions hosted on this region server.
+ */
+ double getWriteRequestsRatePerSecond();
+
+ /**
* Get the number of CAS operations that failed.
*/
long getCheckAndMutateChecksFailed();
http://git-wip-us.apache.org/repos/asf/hbase/blob/519236b4/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
index 94b8389..88d9e06 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
@@ -544,7 +544,11 @@ public class MetricsRegionServerSourceImpl
.addGauge(Interns.info(MOB_FILE_CACHE_COUNT, MOB_FILE_CACHE_COUNT_DESC),
rsWrap.getMobFileCacheCount())
.addGauge(Interns.info(MOB_FILE_CACHE_HIT_PERCENT, MOB_FILE_CACHE_HIT_PERCENT_DESC),
- rsWrap.getMobFileCacheHitPercent());
+ rsWrap.getMobFileCacheHitPercent())
+ .addGauge(Interns.info(READ_REQUEST_RATE_PER_SECOND, READ_REQUEST_RATE_DESC),
+ rsWrap.getReadRequestsRatePerSecond())
+ .addGauge(Interns.info(WRITE_REQUEST_RATE_PER_SECOND, WRITE_REQUEST_RATE_DESC),
+ rsWrap.getWriteRequestsRatePerSecond());
}
@Override
http://git-wip-us.apache.org/repos/asf/hbase/blob/519236b4/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
index 09929e1..371bdbc 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
@@ -74,8 +74,10 @@ class MetricsRegionServerWrapperImpl
private volatile long numReferenceFiles = 0;
private volatile double requestsPerSecond = 0.0;
private volatile long readRequestsCount = 0;
+ private volatile double readRequestsRatePerSecond = 0;
private volatile long filteredReadRequestsCount = 0;
private volatile long writeRequestsCount = 0;
+ private volatile double writeRequestsRatePerSecond = 0;
private volatile long checkAndMutateChecksFailed = 0;
private volatile long checkAndMutateChecksPassed = 0;
private volatile long storefileIndexSize = 0;
@@ -519,6 +521,11 @@ class MetricsRegionServerWrapperImpl
}
@Override
+ public double getReadRequestsRatePerSecond() {
+ return readRequestsRatePerSecond;
+ }
+
+ @Override
public long getFilteredReadRequestsCount() {
return filteredReadRequestsCount;
}
@@ -529,6 +536,11 @@ class MetricsRegionServerWrapperImpl
}
@Override
+ public double getWriteRequestsRatePerSecond() {
+ return writeRequestsRatePerSecond;
+ }
+
+ @Override
public long getRpcGetRequestsCount() {
return regionServer.rpcServices.rpcGetRequestCount.sum();
}
@@ -710,6 +722,8 @@ class MetricsRegionServerWrapperImpl
private long lastRan = 0;
private long lastRequestCount = 0;
+ private long lastReadRequestsCount = 0;
+ private long lastWriteRequestsCount = 0;
@Override
synchronized public void run() {
@@ -845,6 +859,21 @@ class MetricsRegionServerWrapperImpl
requestsPerSecond = (currentRequestCount - lastRequestCount) /
((currentTime - lastRan) / 1000.0);
lastRequestCount = currentRequestCount;
+
+ long intervalReadRequestsCount = tempReadRequestsCount - lastReadRequestsCount;
+ long intervalWriteRequestsCount = tempWriteRequestsCount - lastWriteRequestsCount;
+
+ double readRequestsRatePerMilliSecond = ((double)intervalReadRequestsCount/
+ (double)period);
+ double writeRequestsRatePerMilliSecond = ((double)intervalWriteRequestsCount/
+ (double)period);
+
+ readRequestsRatePerSecond = readRequestsRatePerMilliSecond * 1000.0;
+ writeRequestsRatePerSecond = writeRequestsRatePerMilliSecond * 1000.0;
+
+ lastReadRequestsCount = tempReadRequestsCount;
+ lastWriteRequestsCount = tempWriteRequestsCount;
+
}
lastRan = currentTime;
http://git-wip-us.apache.org/repos/asf/hbase/blob/519236b4/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
index d56823e..d1162c9 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
@@ -101,6 +101,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
}
@Override
+ public double getReadRequestsRatePerSecond() {
+ return 10.0;
+ }
+
+ @Override
public long getTotalRowActionRequestCount() {
return getReadRequestsCount() + getWriteRequestsCount();
}
@@ -121,6 +126,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
}
@Override
+ public double getWriteRequestsRatePerSecond() {
+ return 10.0;
+ }
+
+ @Override
public long getRpcGetRequestsCount() {
return 521;
}