You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by el...@apache.org on 2018/12/07 22:29:29 UTC
[46/51] [abbrv] hbase git commit: HBASE-21414 : StoreFileSize growth
rate metric
HBASE-21414 : StoreFileSize growth rate metric
Signed-off-by: Sergey Shelukhin <se...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/170df27b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/170df27b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/170df27b
Branch: refs/heads/HBASE-20952
Commit: 170df27b8858c93ea22a38f28f653c347cb8ce7f
Parents: 12e75a8
Author: Tommy Li <To...@microsoft.com>
Authored: Thu Dec 6 13:43:13 2018 -0800
Committer: Sergey Shelukhin <se...@microsoft.com>
Committed: Thu Dec 6 14:43:17 2018 -0800
----------------------------------------------------------------------
.../regionserver/MetricsRegionServerSource.java | 3 +++
.../regionserver/MetricsRegionServerWrapper.java | 5 +++++
.../MetricsRegionServerSourceImpl.java | 2 ++
.../MetricsRegionServerWrapperImpl.java | 19 ++++++++++++++-----
.../MetricsRegionServerWrapperStub.java | 7 ++++++-
.../regionserver/TestMetricsRegionServer.java | 1 +
6 files changed, 31 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/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 b94ee2d..6d9ce54 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
@@ -234,6 +234,7 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
String MEMSTORE_SIZE = "memStoreSize";
String MEMSTORE_SIZE_DESC = "Size of the memstore";
String STOREFILE_SIZE = "storeFileSize";
+ String STOREFILE_SIZE_GROWTH_RATE = "storeFileSizeGrowthRate";
String MAX_STORE_FILE_AGE = "maxStoreFileAge";
String MIN_STORE_FILE_AGE = "minStoreFileAge";
String AVG_STORE_FILE_AGE = "avgStoreFileAge";
@@ -243,6 +244,8 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
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 RegionServer";
String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
+ String STOREFILE_SIZE_GROWTH_RATE_DESC =
+ "Bytes per second by which the size of storefiles being served grows.";
String TOTAL_REQUEST_COUNT = "totalRequestCount";
String TOTAL_REQUEST_COUNT_DESC =
"Total number of requests this RegionServer has answered; increments the count once for " +
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/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 b3a8dac..03ebc4c 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
@@ -101,6 +101,11 @@ public interface MetricsRegionServerWrapper {
long getStoreFileSize();
/**
+ * Get the growth rate of the store files this region server is serving from.
+ */
+ double getStoreFileSizeGrowthRate();
+
+ /**
* @return Max age of store files hosted on this region server
*/
long getMaxStoreFileAge();
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/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 44dbc79..58c42a5 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
@@ -482,6 +482,8 @@ public class MetricsRegionServerSourceImpl
rsWrap.getNumStoreFiles())
.addGauge(Interns.info(MEMSTORE_SIZE, MEMSTORE_SIZE_DESC), rsWrap.getMemStoreSize())
.addGauge(Interns.info(STOREFILE_SIZE, STOREFILE_SIZE_DESC), rsWrap.getStoreFileSize())
+ .addGauge(Interns.info(STOREFILE_SIZE_GROWTH_RATE, STOREFILE_SIZE_GROWTH_RATE_DESC),
+ rsWrap.getStoreFileSizeGrowthRate())
.addGauge(Interns.info(MAX_STORE_FILE_AGE, MAX_STORE_FILE_AGE_DESC),
rsWrap.getMaxStoreFileAge())
.addGauge(Interns.info(MIN_STORE_FILE_AGE, MIN_STORE_FILE_AGE_DESC),
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/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 04a32c8..b38c3e0 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
@@ -68,6 +68,7 @@ class MetricsRegionServerWrapperImpl
private volatile long numStoreFiles = 0;
private volatile long memstoreSize = 0;
private volatile long storeFileSize = 0;
+ private volatile double storeFileSizeGrowthRate = 0;
private volatile long maxStoreFileAge = 0;
private volatile long minStoreFileAge = 0;
private volatile long avgStoreFileAge = 0;
@@ -512,6 +513,11 @@ class MetricsRegionServerWrapperImpl
return storeFileSize;
}
+ @Override
+ public double getStoreFileSizeGrowthRate() {
+ return storeFileSizeGrowthRate;
+ }
+
@Override public double getRequestsPerSecond() {
return requestsPerSecond;
}
@@ -730,6 +736,7 @@ class MetricsRegionServerWrapperImpl
private long lastRequestCount = 0;
private long lastReadRequestsCount = 0;
private long lastWriteRequestsCount = 0;
+ private long lastStoreFileSize = 0;
@Override
synchronized public void run() {
@@ -870,18 +877,20 @@ class MetricsRegionServerWrapperImpl
long intervalReadRequestsCount = tempReadRequestsCount - lastReadRequestsCount;
long intervalWriteRequestsCount = tempWriteRequestsCount - lastWriteRequestsCount;
- double readRequestsRatePerMilliSecond = ((double)intervalReadRequestsCount/
- (double)period);
- double writeRequestsRatePerMilliSecond = ((double)intervalWriteRequestsCount/
- (double)period);
+ double readRequestsRatePerMilliSecond = (double)intervalReadRequestsCount / period;
+ double writeRequestsRatePerMilliSecond = (double)intervalWriteRequestsCount / period;
readRequestsRatePerSecond = readRequestsRatePerMilliSecond * 1000.0;
writeRequestsRatePerSecond = writeRequestsRatePerMilliSecond * 1000.0;
+ long intervalStoreFileSize = tempStoreFileSize - lastStoreFileSize;
+ storeFileSizeGrowthRate = (double)intervalStoreFileSize * 1000.0 / period;
+
lastReadRequestsCount = tempReadRequestsCount;
lastWriteRequestsCount = tempWriteRequestsCount;
-
+ lastStoreFileSize = tempStoreFileSize;
}
+
lastRan = currentTime;
WALProvider provider = regionServer.walFactory.getWALProvider();
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/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 314d69c..b003b44 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
@@ -71,6 +71,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
}
@Override
+ public double getStoreFileSizeGrowthRate() {
+ return 50.0;
+ }
+
+ @Override
public long getMaxStoreFileAge() {
return 2;
}
@@ -222,7 +227,7 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
@Override
public long getMemStoreLimit() {
- return 419;
+ return 419;
}
@Override
http://git-wip-us.apache.org/repos/asf/hbase/blob/170df27b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
index fa8ea46..8215ea1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
@@ -78,6 +78,7 @@ public class TestMetricsRegionServer {
HELPER.assertGauge("storeFileCount", 300, serverSource);
HELPER.assertGauge("memstoreSize", 1025, serverSource);
HELPER.assertGauge("storeFileSize", 1900, serverSource);
+ HELPER.assertGauge("storeFileSizeGrowthRate", 50.0, serverSource);
HELPER.assertCounter("totalRequestCount", 899, serverSource);
HELPER.assertCounter("totalRowActionRequestCount",
HELPER.getCounter("readRequestCount", serverSource)