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:43 UTC
[4/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>
Amending-Author: 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/0bec6ea1
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0bec6ea1
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0bec6ea1
Branch: refs/heads/0.98
Commit: 0bec6ea18e8c9be995bb61291556fc86dea5726d
Parents: 4e16525
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:32:18 2015 -0700
----------------------------------------------------------------------
.../hadoop/hbase/ipc/MetricsHBaseServerSource.java | 8 ++++++++
.../hbase/ipc/MetricsHBaseServerSourceImpl.java | 16 ++++++++++++++++
.../hbase/ipc/MetricsHBaseServerSourceImpl.java | 16 ++++++++++++++++
.../apache/hadoop/hbase/ipc/MetricsHBaseServer.java | 4 ++++
.../java/org/apache/hadoop/hbase/ipc/RpcServer.java | 5 ++++-
.../org/apache/hadoop/hbase/ipc/TestRpcMetrics.java | 5 +++++
6 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/0bec6ea1/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/0bec6ea1/hbase-hadoop1-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop1-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java b/hbase-hadoop1-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
index 0dce85c..d2d48c8 100644
--- a/hbase-hadoop1-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
+++ b/hbase-hadoop1-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java
@@ -47,6 +47,8 @@ public class MetricsHBaseServerSourceImpl extends BaseSourceImpl
private MetricMutableHistogram queueCallTime;
private MetricMutableHistogram processCallTime;
private MetricMutableHistogram totalCallTime;
+ private MetricMutableHistogram requestSize;
+ private MetricMutableHistogram responseSize;
public MetricsHBaseServerSourceImpl(String metricsName,
String metricsDescription,
@@ -89,6 +91,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
@@ -157,6 +163,16 @@ 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/0bec6ea1/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 0e1a5c9..1ec2aad 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
@@ -50,6 +50,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,
@@ -92,6 +94,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
@@ -160,6 +166,16 @@ 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/0bec6ea1/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/0bec6ea1/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 8125ad4..c37411b 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
@@ -2118,10 +2118,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/0bec6ea1/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 5cbed94..e81f47a 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
@@ -117,6 +117,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);