You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2015/10/01 04:15:41 UTC

[2/4] hbase git commit: HBASE-14459 Add response and request size metrics

HBASE-14459 Add response and request size metrics

Signed-off-by: Andrew Purtell <ap...@apache.org>


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

Branch: refs/heads/branch-1
Commit: d047c378719eeb352e354c24d88ea6e94125af7f
Parents: cca2ba4
Author: Sanjeev Srivatsa <ss...@fb.com>
Authored: Mon Sep 21 17:55:47 2015 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Sep 30 18:23:17 2015 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/ipc/MetricsHBaseServerSource.java      |  8 ++++++++
 .../hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java  | 12 ++++++++++++
 .../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java |  4 ++++
 .../java/org/apache/hadoop/hbase/ipc/RpcServer.java     |  5 ++++-
 .../org/apache/hadoop/hbase/ipc/TestRpcMetrics.java     |  5 +++++
 5 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d047c378/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java
index 482fdba..36bd643 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.java
@@ -38,6 +38,10 @@ public interface MetricsHBaseServerSource extends BaseSource {
   String SENT_BYTES_DESC = "Number of bytes sent.";
   String RECEIVED_BYTES_NAME = "receivedBytes";
   String RECEIVED_BYTES_DESC = "Number of bytes received.";
+  String REQUEST_SIZE_NAME = "requestSize";
+  String REQUEST_SIZE_DESC = "Request size in bytes.";
+  String RESPONSE_SIZE_NAME = "responseSize";
+  String RESPONSE_SIZE_DESC = "Response size in bytes.";
   String QUEUE_CALL_TIME_NAME = "queueCallTime";
   String QUEUE_CALL_TIME_DESC = "Queue Call Time.";
   String PROCESS_CALL_TIME_NAME = "processCallTime";
@@ -92,6 +96,10 @@ public interface MetricsHBaseServerSource extends BaseSource {
 
   void receivedBytes(int count);
 
+  void sentResponse(long count);
+
+  void receivedRequest(long count);
+
   void dequeuedCall(int qTime);
 
   void processedCall(int processingTime);

http://git-wip-us.apache.org/repos/asf/hbase/blob/d047c378/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
index dadf9de..fe84733 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
@@ -51,6 +51,8 @@ public class MetricsHBaseServerSourceImpl extends BaseSourceImpl
   private MutableHistogram queueCallTime;
   private MutableHistogram processCallTime;
   private MutableHistogram totalCallTime;
+  private MutableHistogram requestSize;
+  private MutableHistogram responseSize;
 
   public MetricsHBaseServerSourceImpl(String metricsName,
                                       String metricsDescription,
@@ -93,6 +95,10 @@ public class MetricsHBaseServerSourceImpl extends BaseSourceImpl
         PROCESS_CALL_TIME_DESC);
     this.totalCallTime = this.getMetricsRegistry().newHistogram(TOTAL_CALL_TIME_NAME,
         TOTAL_CALL_TIME_DESC);
+    this.requestSize = this.getMetricsRegistry().newHistogram(REQUEST_SIZE_NAME,
+        REQUEST_SIZE_DESC);
+    this.responseSize = this.getMetricsRegistry().newHistogram(RESPONSE_SIZE_NAME,
+              RESPONSE_SIZE_DESC);
   }
 
   @Override
@@ -161,6 +167,12 @@ public class MetricsHBaseServerSourceImpl extends BaseSourceImpl
   }
 
   @Override
+  public void sentResponse(long count) { this.responseSize.add(count); }
+
+  @Override
+  public void receivedRequest(long count) { this.requestSize.add(count); }
+
+  @Override
   public void dequeuedCall(int qTime) {
     queueCallTime.add(qTime);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d047c378/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java
index 3ca50ad..ceef0df 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServer.java
@@ -61,6 +61,10 @@ public class MetricsHBaseServer {
     source.receivedBytes(count);
   }
 
+  void sentResponse(long count) { source.sentResponse(count); }
+
+  void receivedRequest(long count) { source.receivedRequest(count); }
+
   void dequeuedCall(int qTime) {
     source.dequeuedCall(qTime);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d047c378/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
index 7c239f5..40e2534 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
@@ -2129,10 +2129,13 @@ public class RpcServer implements RpcServerInterface {
             " processingTime: " + processingTime +
             " totalTime: " + totalTime);
       }
+      long requestSize = param.getSerializedSize();
+      long responseSize = result.getSerializedSize();
       metrics.dequeuedCall(qTime);
       metrics.processedCall(processingTime);
       metrics.totalCall(totalTime);
-      long responseSize = result.getSerializedSize();
+      metrics.receivedRequest(requestSize);
+      metrics.sentResponse(responseSize);
       // log any RPC responses that are slower than the configured warn
       // response time or larger than configured warning size
       boolean tooSlow = (processingTime > warnResponseTime && warnResponseTime > -1);

http://git-wip-us.apache.org/repos/asf/hbase/blob/d047c378/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
index e33a0d7..52518f8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
@@ -118,6 +118,11 @@ public class TestRpcMetrics {
     HELPER.assertCounter("sentBytes", 309, serverSource);
     HELPER.assertCounter("receivedBytes", 208, serverSource);
 
+    mrpc.receivedRequest(105);
+    mrpc.sentResponse(106);
+    HELPER.assertCounter("requestSize_NumOps", 1, serverSource);
+    HELPER.assertCounter("responseSize_NumOps", 1, serverSource);
+
     mrpc.exception(null);
     HELPER.assertCounter("exceptions", 1, serverSource);