From be448b175afc246d73baa1d8ac8b0934ed9da1f1 Mon Sep 17 00:00:00 2001 From: chenheng Date: Mon, 11 Jan 2016 10:44:50 +0800 Subject: [PATCH] HBASE-15083 Gets from Multiactions are not counted in metrics for gets --- .../hadoop/hbase/regionserver/RSRpcServices.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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(); -- 1.9.3 (Apple Git-50)