You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2023/06/27 00:49:00 UTC

[hbase] branch branch-3 updated: HBASE-27892 Report memstore on-heap and off-heap size as jmx metrics (#5308)

This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-3 by this push:
     new 58275bb8581 HBASE-27892 Report memstore on-heap and off-heap size as jmx metrics (#5308)
58275bb8581 is described below

commit 58275bb8581db18e0c806d44446f5fe648b79921
Author: Jing Yu <yu...@salesforce.com>
AuthorDate: Mon Jun 26 20:47:27 2023 -0400

    HBASE-27892 Report memstore on-heap and off-heap size as jmx metrics (#5308)
    
    Signed-off-by: Viraj Jasani <vj...@apache.org>
---
 .../apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java   | 4 ++++
 .../hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java      | 4 ++++
 .../org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java | 2 ++
 3 files changed, 10 insertions(+)

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 120e4655eed..a53899c476f 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
@@ -238,6 +238,10 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
   String MAX_COMPACTED_STORE_FILE_REF_COUNT = "maxCompactedStoreFileRefCount";
   String MEMSTORE_SIZE = "memStoreSize";
   String MEMSTORE_SIZE_DESC = "Size of the memstore";
+  String MEMSTORE_HEAP_SIZE = "memStoreHeapSize";
+  String MEMSTORE_HEAP_SIZE_DESC = "On-heap Size of the memstore";
+  String MEMSTORE_OFFHEAP_SIZE = "memStoreOffHeapSize";
+  String MEMSTORE_OFFHEAP_SIZE_DESC = "Off-heap Size of the memstore";
   String STOREFILE_SIZE = "storeFileSize";
   String STOREFILE_SIZE_GROWTH_RATE = "storeFileSizeGrowthRate";
   String MAX_STORE_FILE_AGE = "maxStoreFileAge";
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
index ee5ce34f6b6..bfac0843e33 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
@@ -520,6 +520,10 @@ public class MetricsRegionServerSourceImpl extends BaseSourceImpl
       .addGauge(Interns.info(MAX_STOREFILE_COUNT, MAX_STOREFILE_COUNT_DESC),
         rsWrap.getMaxStoreFiles())
       .addGauge(Interns.info(MEMSTORE_SIZE, MEMSTORE_SIZE_DESC), rsWrap.getMemStoreSize())
+      .addGauge(Interns.info(MEMSTORE_HEAP_SIZE, MEMSTORE_HEAP_SIZE_DESC),
+        rsWrap.getOnHeapMemStoreSize())
+      .addGauge(Interns.info(MEMSTORE_OFFHEAP_SIZE, MEMSTORE_OFFHEAP_SIZE_DESC),
+        rsWrap.getOffHeapMemStoreSize())
       .addGauge(Interns.info(STOREFILE_SIZE, STOREFILE_SIZE_DESC), rsWrap.getStoreFileSize())
       .addGauge(Interns.info(STOREFILE_SIZE_GROWTH_RATE, STOREFILE_SIZE_GROWTH_RATE_DESC),
         rsWrap.getStoreFileSizeGrowthRate())
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 49ce16c87f9..e1cc080f753 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
@@ -83,6 +83,8 @@ public class TestMetricsRegionServer {
     HELPER.assertGauge("hlogFileSize", 1024000, serverSource);
     HELPER.assertGauge("storeFileCount", 300, serverSource);
     HELPER.assertGauge("memstoreSize", 1025, serverSource);
+    HELPER.assertGauge("memstoreHeapSize", 500, serverSource);
+    HELPER.assertGauge("memstoreOffHeapSize", 600, serverSource);
     HELPER.assertGauge("storeFileSize", 1900, serverSource);
     HELPER.assertGauge("storeFileSizeGrowthRate", 50.0, serverSource);
     HELPER.assertCounter("totalRequestCount", 899, serverSource);