93 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4RUN_BENCH="sudo ./bench -w3 -d10 -a"5 6function header()7{8 local len=${#1}9 10 printf "\n%s\n" "$1"11 for i in $(seq 1 $len); do printf '='; done12 printf '\n'13}14 15function subtitle()16{17 local len=${#1}18 printf "\t%s\n" "$1"19}20 21function hits()22{23 echo "$*" | sed -E "s/.*hits\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"24}25 26function drops()27{28 echo "$*" | sed -E "s/.*drops\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"29}30 31function percentage()32{33 echo "$*" | sed -E "s/.*Percentage\s=\s+([0-9]+\.[0-9]+).*/\1/"34}35 36function ops()37{38 echo -n "throughput: "39 echo -n "$*" | sed -E "s/.*throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"40 echo -n -e ", latency: "41 echo "$*" | sed -E "s/.*latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/"42}43 44function local_storage()45{46 echo -n "hits throughput: "47 echo -n "$*" | sed -E "s/.* hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"48 echo -n -e ", hits latency: "49 echo -n "$*" | sed -E "s/.* hits latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/"50 echo -n ", important_hits throughput: "51 echo "$*" | sed -E "s/.*important_hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"52}53 54function total()55{56 echo "$*" | sed -E "s/.*total operations\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"57}58 59function summarize()60{61 bench="$1"62 summary=$(echo $2 | tail -n1)63 printf "%-20s %s (drops %s)\n" "$bench" "$(hits $summary)" "$(drops $summary)"64}65 66function summarize_percentage()67{68 bench="$1"69 summary=$(echo $2 | tail -n1)70 printf "%-20s %s%%\n" "$bench" "$(percentage $summary)"71}72 73function summarize_ops()74{75 bench="$1"76 summary=$(echo $2 | tail -n1)77 printf "%-20s %s\n" "$bench" "$(ops $summary)"78}79 80function summarize_local_storage()81{82 bench="$1"83 summary=$(echo $2 | tail -n1)84 printf "%-20s %s\n" "$bench" "$(local_storage $summary)"85}86 87function summarize_total()88{89 bench="$1"90 summary=$(echo $2 | tail -n1)91 printf "%-20s %s\n" "$bench" "$(total $summary)"92}93