HBASE-15083 Gets from Multiactions are not counted in metrics for gets
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8ee9158b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8ee9158b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8ee9158b Branch: refs/heads/trunk Commit: 8ee9158b5475b7d5bb6ba646420403820fac1d63 Parents: da932ee Author: chenheng <chenh...@apache.org> Authored: Mon Jan 11 10:44:50 2016 +0800 Committer: chenheng <chenh...@apache.org> Committed: Tue Jan 12 14:18:36 2016 +0800 ---------------------------------------------------------------------- .../hadoop/hbase/regionserver/RSRpcServices.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/8ee9158b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java index 5d9b90f..7eaadc2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java @@ -699,11 +699,19 @@ public class RSRpcServices implements HBaseRPCErrorHandler, continue; } if (action.hasGet()) { - Get get = ProtobufUtil.toGet(action.getGet()); - if (context != null) { - r = get(get, ((HRegion) region), closeCallBack, context); - } else { - r = region.get(get); + long before = EnvironmentEdgeManager.currentTime(); + try { + Get get = ProtobufUtil.toGet(action.getGet()); + if (context != null) { + r = get(get, ((HRegion) region), closeCallBack, context); + } else { + r = region.get(get); + } + } finally { + if (regionServer.metricsRegionServer != null) { + regionServer.metricsRegionServer.updateGet( + EnvironmentEdgeManager.currentTime() - before); + } } } else if (action.hasServiceCall()) { resultOrExceptionBuilder = ResultOrException.newBuilder();