You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by aw...@apache.org on 2020/04/04 21:34:13 UTC

[kudu] 02/02: scripts: fix benchmark parsing for wire_protocol-test

This is an automated email from the ASF dual-hosted git repository.

awong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit e37b3401d008f98a159187b46cc2f1b650152db1
Author: Andrew Wong <aw...@cloudera.com>
AuthorDate: Fri Apr 3 21:11:04 2020 -0700

    scripts: fix benchmark parsing for wire_protocol-test
    
    This fixes the existing parsing for row-wise conversion, and adds
    parsing for the new columnar conversion, writing the columnar stats as a
    new workload "WireProtocolBenchmark_columnar" and plotting results as
    "wire-protocol-test_columnar".
    
    Change-Id: I9d1ac45cf730674a4aa3b7d1f7f60b6919e3eeb1
    Reviewed-on: http://gerrit.cloudera.org:8080/15651
    Tested-by: Kudu Jenkins
    Reviewed-by: Grant Henke <gr...@apache.org>
---
 src/kudu/scripts/benchmarks.sh | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/kudu/scripts/benchmarks.sh b/src/kudu/scripts/benchmarks.sh
index 3b3f08d..19f1393 100755
--- a/src/kudu/scripts/benchmarks.sh
+++ b/src/kudu/scripts/benchmarks.sh
@@ -218,10 +218,9 @@ run_benchmarks() {
 
   # run wire_protocol-test 5 times.
   #
-  # We run the first shard, which uses a column count of 3 and a select rate of
-  # 1 (as this is most similar to the unsharded microbenchmark we ran for years).
+  # We run the non-null 10-column benchmark, selecting all rows.
   for i in $(seq 1 $NUM_SAMPLES); do
-    KUDU_ALLOW_SLOW_TESTS=true ./build/latest/bin/wire_protocol-test --gtest_filter=*Benchmark/0 \
+    KUDU_ALLOW_SLOW_TESTS=true ./build/latest/bin/wire_protocol-test --gtest_filter=*Benchmark/10_int64_non_null_sel_100pct \
       &> $LOGDIR/$WIRE_PROTOCOL_TEST$i.log
   done
 
@@ -361,10 +360,16 @@ parse_and_record_all_results() {
     record_result $BUILD_IDENTIFIER $MT_BLOOM_TEST $i $real
   done
 
-  # Parse out rate of cycles/sec from: "Converting to PB with column count 3 and row select rate 1: 32.987841 cycles/cell"
+  # Parse out row-wise rate of cycles/cell from:
+  #   "Converting 10_int64_non_null to PB (method row-wise) row select rate 1: 30.196263 cycles/cell"
+  # Parse out the columnar rate of cycles/cell from:
+  #   "Converting 10_int64_non_null to PB (method columnar) row select rate 1: 1.313369 cycles/cell"
   for i in $(seq 1 $NUM_SAMPLES); do
-    real=`grep "Converting to PB with column count" $LOGDIR/$WIRE_PROTOCOL_TEST$i.log | sed 's|^.*: \([[:digit:].]*\) cycles/cell$|\1|'`
-    record_result $BUILD_IDENTIFIER $WIRE_PROTOCOL_TEST $i $real
+    real_rowwise=`grep "Converting.*to PB (method row-wise)" $LOGDIR/$WIRE_PROTOCOL_TEST$i.log | sed 's|^.*: \([[:digit:].]*\) cycles/cell$|\1|'`
+    record_result $BUILD_IDENTIFIER $WIRE_PROTOCOL_TEST $i $real_rowwise
+
+    real_colwise=`grep "Converting.*to PB (method columnar)" $LOGDIR/$WIRE_PROTOCOL_TEST$i.log | sed 's|^.*: \([[:digit:].]*\) cycles/cell$|\1|'`
+    record_result $BUILD_IDENTIFIER ${WIRE_PROTOCOL_TEST}_columnar $i $real_colwise
   done
 
   # parse the rate out of: "I1009 15:00:30.023576 27043 rpc-bench.cc:108] Reqs/sec:         84404.4"
@@ -513,12 +518,13 @@ load_stats_and_generate_plots() {
   load_and_generate_plot "${MEMROWSET_BENCH}${INSERT}" memrowset-bench-insert
   load_and_generate_plot "${MEMROWSET_BENCH}Scan%" memrowset-bench-scan
 
-  load_and_generate_plot $BLOOM_TEST bloom-test
-  load_and_generate_plot $MT_BLOOM_TEST mt-bloom-test
+  load_and_generate_plot "$BLOOM_TEST" bloom-test
+  load_and_generate_plot "$MT_BLOOM_TEST" mt-bloom-test
 
-  load_and_generate_plot $WIRE_PROTOCOL_TEST wire-protocol-test
+  load_and_generate_plot "${WIRE_PROTOCOL_TEST}" wire-protocol-test
+  load_and_generate_plot "${WIRE_PROTOCOL_TEST}_columnar" wire-protocol-test-columnar
 
-  load_and_generate_plot $RPC_BENCH_TEST rpc-bench-test
+  load_and_generate_plot "$RPC_BENCH_TEST" rpc-bench-test
 
   load_and_generate_plot "${TS_INSERT_LATENCY}%" ts-insert-latency