Repository: hbase Updated Branches: refs/heads/branch-1.3 8568b0cb8 -> 07cc9ac2f
HBASE-15673 Fix latency metrics for multiGet. - Also fixes some stuff in help text. (Apekshit) Change-Id: I95cfa2be74605efab0368417d59c50b94af0facb Signed-off-by: stack <st...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/07cc9ac2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/07cc9ac2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/07cc9ac2 Branch: refs/heads/branch-1.3 Commit: 07cc9ac2f548515ad758ac99880f71d5fcf8755b Parents: 8568b0c Author: Apekshit <apeksha...@gmail.com> Authored: Tue Apr 19 16:59:19 2016 -0700 Committer: stack <st...@apache.org> Committed: Tue Apr 19 17:19:36 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hbase/PerformanceEvaluation.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/07cc9ac2/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java index a017d33..7dced80 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java @@ -1108,7 +1108,12 @@ public class PerformanceEvaluation extends Configured implements Tool { } finally { scope.close(); } - latencyHistogram.update((System.nanoTime() - startTime) / 1000); + // If multiget is enabled, say set to 10, testRow() returns immediately first 9 times + // and sends the actual get request in the 10th iteration. We should only set latency + // when actual request is sent because otherwise it turns out to be 0. + if (opts.multiGet == 0 || (i - startRow + 1) % opts.multiGet == 0) { + latencyHistogram.update((System.nanoTime() - startTime) / 1000); + } if (status != null && i > 0 && (i % getReportingPeriod()) == 0) { status.setStatus(generateStatus(startRow, i, lastRow)); } @@ -1794,20 +1799,23 @@ public class PerformanceEvaluation extends Configured implements Tool { System.err.println(" writeToWAL Set writeToWAL on puts. Default: True"); System.err.println(" autoFlush Set autoFlush on htable. Default: False"); System.err.println(" oneCon all the threads share the same connection. Default: False"); - System.err.println(" presplit Create presplit table. Recommended for accurate perf " + - "analysis (see guide). Default: disabled"); + System.err.println(" presplit Create presplit table. If a table with same name exists," + + " it'll be deleted and recreated (instead of verifying count of its existing regions). " + + "Recommended for accurate perf analysis (see guide). Default: disabled"); System.err.println(" inmemory Tries to keep the HFiles of the CF " + "inmemory as far as possible. Not guaranteed that reads are always served " + "from memory. Default: false"); System.err.println(" usetags Writes tags along with KVs. Use with HFile V3. " + "Default: false"); System.err.println(" numoftags Specify the no of tags that would be needed. " + - "This works only if usetags is true."); + "This works only if usetags is true. Default: " + DEFAULT_OPTS.noOfTags); System.err.println(" filterAll Helps to filter out all the rows on the server side" + " there by not returning any thing back to the client. Helps to check the server side" + " performance. Uses FilterAllFilter internally. "); System.err.println(" latency Set to report operation latencies. Default: False"); System.err.println(" bloomFilter Bloom filter type, one of " + Arrays.toString(BloomType.values())); + System.err.println(" blockEncoding Block encoding to use. Value should be one of " + + Arrays.toString(DataBlockEncoding.values()) + ". Default: NONE"); System.err.println(" valueSize Pass value size to use: Default: " + DEFAULT_OPTS.getValueSize()); System.err.println(" valueRandom Set if we should vary value size between 0 and " +