1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 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 '='; done 12 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