@VisibleForTesting protected void updateStats(ServerName server, Map<byte[], MultiResponse.RegionResult> results) { boolean metrics = asyncProcess.connection.getConnectionMetrics() != null; boolean stats = asyncProcess.connection.getStatisticsTracker() != null; if (!stats && !metrics) { return; } for (Map.Entry<byte[], MultiResponse.RegionResult> regionStats : results.entrySet()) { byte[] regionName = regionStats.getKey(); ClientProtos.RegionLoadStats stat = regionStats.getValue().getStat(); if (stat == null) { LOG.error("No ClientProtos.RegionLoadStats found for server=" + server + ", region=" + Bytes.toStringBinary(regionName)); continue; } RegionLoadStats regionLoadstats = ProtobufUtil.createRegionLoadStats(stat); ResultStatsUtil.updateStats(asyncProcess.connection.getStatisticsTracker(), server, regionName, regionLoadstats); ResultStatsUtil.updateStats(asyncProcess.connection.getConnectionMetrics(), server, regionName, regionLoadstats); } }
/** * All initialization needed before we go register with Master.<br> * Do bare minimum. Do bulk of initializations AFTER we've connected to the Master.<br> * In here we just put up the RpcServer, setup Connection, and ZooKeeper. */ private void preRegistrationInitialization() { try { initializeZooKeeper(); setupClusterConnection(); // Setup RPC client for master communication this.rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress( this.rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics()); } catch (Throwable t) { // Call stop if error or process will stick around for ever since server // puts up non-daemon threads. this.rpcServices.stop(); abort("Initialization of RS failed. Hence aborting RS.", t); } }
if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners(); traceText = "AsyncProcess.clientBackoff.sendMultiAction"; runnable = runner; if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrDelayRunners(); asyncProcess.connection.getConnectionMetrics().updateDelayInterval(runner.getSleepTime()); if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners();
return f.get(); //great we got a response if (cConnection.getConnectionMetrics() != null) { cConnection.getConnectionMetrics().incrHedgedReadOps(); ", endIndex: " + endIndex + ", Locations: " + rl); if (cConnection.getConnectionMetrics() != null && !isTargetReplicaSpecified && !skipPrimary && f.getReplicaId() != RegionReplicaUtil.DEFAULT_REPLICA_ID) { cConnection.getConnectionMetrics().incrHedgedReadWin();
Counter hedgedReadOps = connection.getConnectionMetrics().hedgedReadOps; Counter hedgedReadWin = connection.getConnectionMetrics().hedgedReadWin; hedgedReadOps.dec(hedgedReadOps.getCount()); hedgedReadWin.dec(hedgedReadWin.getCount());
MetricsConnection.RegionStats rsStats = conn.getConnectionMetrics(). serverStats.get(server).get(regionName); assertEquals(name, rsStats.name); (double)regionStats.getMemStoreLoadPercent(), 0.1); MetricsConnection.RunnerStats runnerStats = conn.getConnectionMetrics().runnerStats;
@VisibleForTesting protected void updateStats(ServerName server, Map<byte[], MultiResponse.RegionResult> results) { boolean metrics = asyncProcess.connection.getConnectionMetrics() != null; boolean stats = asyncProcess.connection.getStatisticsTracker() != null; if (!stats && !metrics) { return; } for (Map.Entry<byte[], MultiResponse.RegionResult> regionStats : results.entrySet()) { byte[] regionName = regionStats.getKey(); ClientProtos.RegionLoadStats stat = regionStats.getValue().getStat(); if (stat == null) { LOG.error("No ClientProtos.RegionLoadStats found for server=" + server + ", region=" + Bytes.toStringBinary(regionName)); continue; } RegionLoadStats regionLoadstats = ProtobufUtil.createRegionLoadStats(stat); ResultStatsUtil.updateStats(asyncProcess.connection.getStatisticsTracker(), server, regionName, regionLoadstats); ResultStatsUtil.updateStats(asyncProcess.connection.getConnectionMetrics(), server, regionName, regionLoadstats); } }
if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners(); traceText = "AsyncProcess.clientBackoff.sendMultiAction"; runnable = runner; if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrDelayRunners(); asyncProcess.connection.getConnectionMetrics().updateDelayInterval(runner.getSleepTime()); if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners();
return f.get(); //great we got a response if (cConnection.getConnectionMetrics() != null) { cConnection.getConnectionMetrics().incrHedgedReadOps(); ", endIndex: " + endIndex + ", Locations: " + rl); if (cConnection.getConnectionMetrics() != null && !isTargetReplicaSpecified && !skipPrimary && f.getReplicaId() != RegionReplicaUtil.DEFAULT_REPLICA_ID) { cConnection.getConnectionMetrics().incrHedgedReadWin();
@Override public MetricsConnection getConnectionMetrics() { return wrappedConnection.getConnectionMetrics(); }
@VisibleForTesting protected void updateStats(ServerName server, Map<byte[], MultiResponse.RegionResult> results) { boolean metrics = asyncProcess.connection.getConnectionMetrics() != null; boolean stats = asyncProcess.connection.getStatisticsTracker() != null; if (!stats && !metrics) { return; } for (Map.Entry<byte[], MultiResponse.RegionResult> regionStats : results.entrySet()) { byte[] regionName = regionStats.getKey(); ClientProtos.RegionLoadStats stat = regionStats.getValue().getStat(); if (stat == null) { LOG.error("No ClientProtos.RegionLoadStats found for server=" + server + ", region=" + Bytes.toStringBinary(regionName)); continue; } RegionLoadStats regionLoadstats = ProtobufUtil.createRegionLoadStats(stat); ResultStatsUtil.updateStats(asyncProcess.connection.getStatisticsTracker(), server, regionName, regionLoadstats); ResultStatsUtil.updateStats(asyncProcess.connection.getConnectionMetrics(), server, regionName, regionLoadstats); } }
if (connection.getConnectionMetrics() != null) { connection.getConnectionMetrics().incrNormalRunners(); traceText = "AsyncProcess.clientBackoff.sendMultiAction"; runnable = runner; if (connection.getConnectionMetrics() != null) { connection.getConnectionMetrics().incrDelayRunners(); connection.getConnectionMetrics().updateDelayInterval(runner.getSleepTime()); if (connection.getConnectionMetrics() != null) { connection.getConnectionMetrics().incrNormalRunners();
if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners(); traceText = "AsyncProcess.clientBackoff.sendMultiAction"; runnable = runner; if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrDelayRunners(); asyncProcess.connection.getConnectionMetrics().updateDelayInterval(runner.getSleepTime()); if (asyncProcess.connection.getConnectionMetrics() != null) { asyncProcess.connection.getConnectionMetrics().incrNormalRunners();
rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());
return f.get(); //great we got a response if (cConnection.getConnectionMetrics() != null) { cConnection.getConnectionMetrics().incrHedgedReadOps(); ", endIndex: " + endIndex + ", Locations: " + rl); if (cConnection.getConnectionMetrics() != null && !isTargetReplicaSpecified && !skipPrimary && f.getReplicaId() != RegionReplicaUtil.DEFAULT_REPLICA_ID) { cConnection.getConnectionMetrics().incrHedgedReadWin();
if (AsyncProcess.this.connection.getConnectionMetrics() != null) { AsyncProcess.this.connection.getConnectionMetrics(). updateServerStats(server, regionName, result);
Counter hedgedReadOps = connection.getConnectionMetrics().hedgedReadOps; Counter hedgedReadWin = connection.getConnectionMetrics().hedgedReadWin; hedgedReadOps.dec(hedgedReadOps.getCount()); hedgedReadWin.dec(hedgedReadWin.getCount());
MetricsConnection.RegionStats rsStats = conn.getConnectionMetrics(). serverStats.get(server).get(regionName); assertEquals(name, rsStats.name); (double)regionStats.getMemStoreLoadPercent(), 0.1); MetricsConnection.RunnerStats runnerStats = conn.getConnectionMetrics().runnerStats;