diff options
Diffstat (limited to '')
-rwxr-xr-x | src/rocksdb/tools/report_lite_binary_size.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/rocksdb/tools/report_lite_binary_size.sh b/src/rocksdb/tools/report_lite_binary_size.sh new file mode 100755 index 000000000..e3fe7bc26 --- /dev/null +++ b/src/rocksdb/tools/report_lite_binary_size.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. +# Script to report lite build binary size for latest RocksDB commits. +# Usage: +# ./report_lite_binary_size [num_recent_commits] + +num_recent_commits=${1:-10} + +echo "Computing RocksDB lite build binary size for the most recent $num_recent_commits commits." + +for ((i=0; i < num_recent_commits; i++)) +do + git checkout master~$i + commit_hash=$(git show -s --format=%H) + commit_time=$(git show -s --format=%ct) + + # It would be nice to check if scuba already have a record for the commit, + # but sandcastle don't seems to have scuba CLI installed. + + make clean + make OPT=-DROCKSDB_LITE static_lib + + if make OPT=-DROCKSDB_LITE static_lib + then + build_succeeded='true' + strip librocksdb.a + binary_size=$(stat -c %s librocksdb.a) + else + build_succeeded='false' + binary_size=0 + fi + + current_time="\"time\": $(date +%s)" + commit_hash="\"hash\": \"$commit_hash\"" + commit_time="\"commit_time\": $commit_time" + build_succeeded="\"build_succeeded\": \"$build_succeeded\"" + binary_size="\"binary_size\": $binary_size" + + scribe_log="{\"int\":{$current_time, $commit_time, $binary_size}, \"normal\":{$commit_hash, $build_succeeded}}" + echo "Logging to scribe: $scribe_log" + scribe_cat perfpipe_rocksdb_lite_build "$scribe_log" +done |