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 3ab63dd6e05b..84c78d60c7f1 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 @@ -517,6 +517,28 @@ void logResponse(Message param, String methodName, String call, String tag, } } } + if (param instanceof ClientProtos.MultiRequest) { + int numGets = 0; + int numMutations = 0; + int numServiceCalls = 0; + ClientProtos.MultiRequest multi = (ClientProtos.MultiRequest)param; + for (ClientProtos.RegionAction regionAction : multi.getRegionActionList()) { + for (ClientProtos.Action action: regionAction.getActionList()) { + if (action.hasMutation()) { + numMutations++; + } + if (action.hasGet()) { + numGets++; + } + if (action.hasServiceCall()) { + numServiceCalls++; + } + } + } + responseInfo.put("multi.gets", numGets); + responseInfo.put("multi.mutations", numMutations); + responseInfo.put("multi.servicecalls", numServiceCalls); + } LOG.warn("(response" + tag + "): " + GSON.toJson(responseInfo)); }