This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new 5e56914 HADOOP-16531. Log more timing information for slow RPCs.
Contributed by Chen Zhang.
5e56914 is described below
commit 5e56914650a3ecbc39c3d4c19a59eb52f78fba55
Author: Erik Krogen <[email protected]>
AuthorDate: Fri Sep 6 10:28:21 2019 -0700
HADOOP-16531. Log more timing information for slow RPCs. Contributed by
Chen Zhang.
(cherry picked from commit a23417533e1ee052893baf207ec636c4993c5994)
---
.../src/main/java/org/apache/hadoop/ipc/Server.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java
index 4cdeefa..e34ce92 100644
---
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java
+++
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java
@@ -507,7 +507,7 @@ public abstract class Server {
* Logs a Slow RPC Request.
*
* @param methodName - RPC Request method name
- * @param processingTime - Processing Time.
+ * @param details - Processing Detail.
*
* if this request took too much time relative to other requests
* we consider that as a slow RPC. 3 is a magic number that comes
@@ -516,7 +516,8 @@ public abstract class Server {
* if and only if it falls above 99.7% of requests. We start this logic
* only once we have enough sample size.
*/
- void logSlowRpcCalls(String methodName, Call call, long processingTime) {
+ void logSlowRpcCalls(String methodName, Call call,
+ ProcessingDetails details) {
final int deviation = 3;
// 1024 for minSampleSize just a guess -- not a number computed based on
@@ -527,10 +528,15 @@ public abstract class Server {
final double threeSigma = rpcMetrics.getProcessingMean() +
(rpcMetrics.getProcessingStdDev() * deviation);
+ long processingTime =
+ details.get(Timing.PROCESSING, RpcMetrics.TIMEUNIT);
if ((rpcMetrics.getProcessingSampleCount() > minSampleSize) &&
(processingTime > threeSigma)) {
- LOG.warn("Slow RPC : {} took {} {} to process from client {}",
- methodName, processingTime, RpcMetrics.TIMEUNIT, call);
+ LOG.warn(
+ "Slow RPC : {} took {} {} to process from client {},"
+ + " the processing detail is {}",
+ methodName, processingTime, RpcMetrics.TIMEUNIT, call,
+ details.toString());
rpcMetrics.incrSlowRpc();
}
}
@@ -569,7 +575,7 @@ public abstract class Server {
rpcDetailedMetrics.addProcessingTime(name, processingTime);
callQueue.addResponseTime(name, call, details);
if (isLogSlowRPC()) {
- logSlowRpcCalls(name, call, processingTime);
+ logSlowRpcCalls(name, call, details);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]