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 total() 45{ 46 echo "$*" | sed -E "s/.*total operations\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/" 47} 48 49function summarize() 50{ 51 bench="$1" 52 summary=$(echo $2 | tail -n1) 53 printf "%-20s %s (drops %s)\n" "$bench" "$(hits $summary)" "$(drops $summary)" 54} 55 56function summarize_percentage() 57{ 58 bench="$1" 59 summary=$(echo $2 | tail -n1) 60 printf "%-20s %s%%\n" "$bench" "$(percentage $summary)" 61} 62 63function summarize_ops() 64{ 65 bench="$1" 66 summary=$(echo $2 | tail -n1) 67 printf "%-20s %s\n" "$bench" "$(ops $summary)" 68} 69 70function summarize_total() 71{ 72 bench="$1" 73 summary=$(echo $2 | tail -n1) 74 printf "%-20s %s\n" "$bench" "$(total $summary)" 75} 76