You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2015/09/17 02:43:17 UTC

hbase git commit: HBASE-14082 Add replica id to JMX metrics names (Lei Chen)

Repository: hbase
Updated Branches:
  refs/heads/master c1ac4bb86 -> 17bdf9fa8


HBASE-14082 Add replica id to JMX metrics names (Lei Chen)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/17bdf9fa
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/17bdf9fa
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/17bdf9fa

Branch: refs/heads/master
Commit: 17bdf9fa8cbe920578c09c38960dd0450746fe5c
Parents: c1ac4bb
Author: Enis Soztutar <en...@apache.org>
Authored: Wed Sep 16 17:29:37 2015 -0700
Committer: Enis Soztutar <en...@apache.org>
Committed: Wed Sep 16 17:29:57 2015 -0700

----------------------------------------------------------------------
 .../hbase/regionserver/MetricsRegionSource.java |  2 ++
 .../regionserver/MetricsRegionWrapper.java      |  5 +++
 .../regionserver/MetricsRegionSourceImpl.java   |  3 ++
 .../TestMetricsRegionSourceImpl.java            |  8 +++++
 .../regionserver/MetricsRegionWrapperImpl.java  |  8 +++++
 .../regionserver/MetricsRegionWrapperStub.java  | 23 ++++++++++++++
 .../hbase/regionserver/TestMetricsRegion.java   | 32 ++++++++++++++++++--
 7 files changed, 78 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java
index 8abbb1f..874be31 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSource.java
@@ -37,6 +37,8 @@ public interface MetricsRegionSource extends Comparable<MetricsRegionSource> {
       "Number of files that were input for finished, successful or aborted, compactions";
   String COPROCESSOR_EXECUTION_STATISTICS = "coprocessorExecutionStatistics";
   String COPROCESSOR_EXECUTION_STATISTICS_DESC = "Statistics for coprocessor execution times";
+  String REPLICA_ID = "replicaid";
+  String REPLICA_ID_DESC = "The replica ID of a region. 0 is primary, otherwise is secondary";
 
   /**
    * Close the region's metrics as this region is closing.

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
index cfc0b66..46bc37a 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
@@ -90,4 +90,9 @@ public interface MetricsRegionWrapper {
    * Get the time spent by coprocessors in this region.
    */
   Map<String, DescriptiveStatistics> getCoprocessorExecutionStatistics();
+
+  /**
+   * Get the replica id of this region.
+   */
+  int getReplicaId();
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java
index 0ecf2b2..bd123b9 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java
@@ -242,6 +242,9 @@ public class MetricsRegionSourceImpl implements MetricsRegionSource {
               regionNamePrefix + MetricsRegionServerSource.WRITE_REQUEST_COUNT,
               MetricsRegionServerSource.WRITE_REQUEST_COUNT_DESC),
           this.regionWrapper.getWriteRequestCount());
+      mrb.addCounter(Interns.info(regionNamePrefix + MetricsRegionSource.REPLICA_ID,
+              MetricsRegionSource.REPLICA_ID_DESC),
+          this.regionWrapper.getReplicaId());
 
       for (Map.Entry<String, DescriptiveStatistics> entry : this.regionWrapper
           .getCoprocessorExecutionStatistics()

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
index 9d60a8f..3242b67 100644
--- a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
+++ b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
@@ -133,5 +133,13 @@ public class TestMetricsRegionSourceImpl {
     public Map<String, DescriptiveStatistics> getCoprocessorExecutionStatistics() {
       return null;
     }
+
+    /**
+     * Always return 0 for testing
+     */
+    @Override
+    public int getReplicaId() {
+      return 0;
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java
index 78df787..3f1da85 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java
@@ -174,4 +174,12 @@ public class MetricsRegionWrapperImpl implements MetricsRegionWrapper, Closeable
     return coprocessorTimes;
   }
 
+  /**
+   * Get the replica id of this region.
+   */
+  @Override
+  public int getReplicaId() {
+    return region.getRegionInfo().getReplicaId();
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java
index 94ac356..2b1a9b7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java
@@ -24,6 +24,21 @@ import java.util.Map;
 import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
 
 public class MetricsRegionWrapperStub implements MetricsRegionWrapper {
+  int replicaid = 0;
+
+  /**
+   * Replica ID set to 0
+   */
+  public MetricsRegionWrapperStub() {
+    this.replicaid = 0;
+  }
+
+  /**
+   * Pass in replica ID
+   */
+  public MetricsRegionWrapperStub(int replicaid) {
+    this.replicaid = replicaid;
+  }
 
   @Override
   public String getTableName() {
@@ -94,4 +109,12 @@ public class MetricsRegionWrapperStub implements MetricsRegionWrapper {
   public Map<String, DescriptiveStatistics> getCoprocessorExecutionStatistics() {
     return new HashMap<String, DescriptiveStatistics>();
   }
+
+  /**
+   * Get the replica id of this region.
+   */
+  @Override
+  public int getReplicaId() {
+    return replicaid;
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/17bdf9fa/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java
index ddaee3d..e739890 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java
@@ -36,9 +36,35 @@ public class TestMetricsRegion {
     MetricsRegion mr = new MetricsRegion(new MetricsRegionWrapperStub());
     MetricsRegionAggregateSource agg = mr.getSource().getAggregateSource();
 
-    HELPER.assertGauge("namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeCount", 101, agg);
-    HELPER.assertGauge("namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeFileCount", 102, agg);
-    HELPER.assertGauge("namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_memstoreSize", 103, agg);
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeCount", 
+      101, agg);
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeFileCount",
+      102, agg);
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_memstoreSize",
+      103, agg);
+    HELPER.assertCounter(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_replicaid", 
+      0, agg);
+    mr.close();
+
+    // test region with replica id > 0
+    mr = new MetricsRegion(new MetricsRegionWrapperStub(1));
+    agg = mr.getSource().getAggregateSource();
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeCount", 
+      101, agg);
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_storeFileCount",
+      102, agg);
+    HELPER.assertGauge(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_memstoreSize",
+      103, agg);
+    HELPER.assertCounter(
+      "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_replicaid", 
+      1, agg);
     mr.close();
   }
 }