You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xk...@apache.org on 2020/07/15 15:37:44 UTC
[hadoop] branch branch-3.2 updated: HADOOP-17127. Use
RpcMetrics.TIMEUNIT to initialize rpc queueTime and processingTime.
Contributed by Jim Brennan.
This is an automated email from the ASF dual-hosted git repository.
xkrogen pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.2 by this push:
new bd37b72 HADOOP-17127. Use RpcMetrics.TIMEUNIT to initialize rpc queueTime and processingTime. Contributed by Jim Brennan.
bd37b72 is described below
commit bd37b72ea97e132be7734c0ae9f767aebf671177
Author: Erik Krogen <ek...@linkedin.com>
AuthorDate: Wed Jul 15 08:33:34 2020 -0700
HADOOP-17127. Use RpcMetrics.TIMEUNIT to initialize rpc queueTime and processingTime. Contributed by Jim Brennan.
---
.../main/java/org/apache/hadoop/ipc/DecayRpcScheduler.java | 5 +++--
.../src/main/java/org/apache/hadoop/ipc/RpcScheduler.java | 12 ++++++------
.../src/test/java/org/apache/hadoop/ipc/TestRPC.java | 6 +++++-
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/DecayRpcScheduler.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/DecayRpcScheduler.java
index 9866de8..c1ca419 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/DecayRpcScheduler.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/DecayRpcScheduler.java
@@ -42,6 +42,7 @@ import com.google.common.util.concurrent.AtomicDoubleArray;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
+import org.apache.hadoop.ipc.metrics.RpcMetrics;
import org.apache.hadoop.metrics2.MetricsCollector;
import org.apache.hadoop.metrics2.MetricsRecordBuilder;
import org.apache.hadoop.metrics2.MetricsSource;
@@ -622,8 +623,8 @@ public class DecayRpcScheduler implements RpcScheduler,
addCost(user, processingCost);
int priorityLevel = schedulable.getPriorityLevel();
- long queueTime = details.get(Timing.QUEUE, TimeUnit.MILLISECONDS);
- long processingTime = details.get(Timing.PROCESSING, TimeUnit.MILLISECONDS);
+ long queueTime = details.get(Timing.QUEUE, RpcMetrics.TIMEUNIT);
+ long processingTime = details.get(Timing.PROCESSING, RpcMetrics.TIMEUNIT);
responseTimeCountInCurrWindow.getAndIncrement(priorityLevel);
responseTimeTotalInCurrWindow.getAndAdd(priorityLevel,
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcScheduler.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcScheduler.java
index 63812f4..5202c6b 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcScheduler.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcScheduler.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ipc;
-import java.util.concurrent.TimeUnit;
+import org.apache.hadoop.ipc.metrics.RpcMetrics;
/**
* Implement this interface to be used for RPC scheduling and backoff.
@@ -62,12 +62,12 @@ public interface RpcScheduler {
// this interface, a default implementation is supplied which uses the old
// method. All new implementations MUST override this interface and should
// NOT use the other addResponseTime method.
- int queueTimeMs = (int)
- details.get(ProcessingDetails.Timing.QUEUE, TimeUnit.MILLISECONDS);
- int processingTimeMs = (int)
- details.get(ProcessingDetails.Timing.PROCESSING, TimeUnit.MILLISECONDS);
+ int queueTime = (int)
+ details.get(ProcessingDetails.Timing.QUEUE, RpcMetrics.TIMEUNIT);
+ int processingTime = (int)
+ details.get(ProcessingDetails.Timing.PROCESSING, RpcMetrics.TIMEUNIT);
addResponseTime(callName, schedulable.getPriorityLevel(),
- queueTimeMs, processingTimeMs);
+ queueTime, processingTime);
}
void stop();
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java
index 41778d8..931bbf6 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java
@@ -29,6 +29,7 @@ import org.apache.hadoop.io.retry.RetryProxy;
import org.apache.hadoop.ipc.Client.ConnectionId;
import org.apache.hadoop.ipc.Server.Call;
import org.apache.hadoop.ipc.Server.Connection;
+import org.apache.hadoop.ipc.metrics.RpcMetrics;
import org.apache.hadoop.ipc.protobuf.RpcHeaderProtos.RpcResponseHeaderProto.RpcErrorCodeProto;
import org.apache.hadoop.ipc.protobuf.RpcHeaderProtos.RpcResponseHeaderProto.RpcStatusProto;
import org.apache.hadoop.ipc.protobuf.TestProtos;
@@ -81,6 +82,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
@@ -1094,7 +1096,9 @@ public class TestRPC extends TestRpcBase {
proxy.lockAndSleep(null, newSleepRequest(5));
rpcMetrics = getMetrics(server.getRpcMetrics().name());
- assertGauge("RpcLockWaitTimeAvgTime", 10000.0, rpcMetrics);
+ assertGauge("RpcLockWaitTimeAvgTime",
+ (double)(RpcMetrics.TIMEUNIT.convert(10L, TimeUnit.SECONDS)),
+ rpcMetrics);
} finally {
if (proxy2 != null) {
RPC.stopProxy(proxy2);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org