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 0207b0316d4..f3fab683e59 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 @@ public abstract class RpcServer implements RpcServerInterface, } } } + 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 + "): " + MAPPER.writeValueAsString(responseInfo)); }