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