#!/bin/bash # SPDX-License-Identifier: GPL-2.0 RUN_BENCH="sudo ./bench -w3 -d10 -a" function header() { local len=${#1} printf "\n%s\n" "$1" for i in $(seq 1 $len); do printf '='; done printf '\n' } function subtitle() { local len=${#1} printf "\t%s\n" "$1" } function hits() { echo "$*" | sed -E "s/.*hits\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/" } function drops() { echo "$*" | sed -E "s/.*drops\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/" } function percentage() { echo "$*" | sed -E "s/.*Percentage\s=\s+([0-9]+\.[0-9]+).*/\1/" } function ops() { echo -n "throughput: " echo -n "$*" | sed -E "s/.*throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/" echo -n -e ", latency: " echo "$*" | sed -E "s/.*latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/" } function local_storage() { echo -n "hits throughput: " echo -n "$*" | sed -E "s/.* hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/" echo -n -e ", hits latency: " echo -n "$*" | sed -E "s/.* hits latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/" echo -n ", important_hits throughput: " echo "$*" | sed -E "s/.*important_hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/" } function total() { echo "$*" | sed -E "s/.*total operations\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/" } function summarize() { bench="$1" summary=$(echo $2 | tail -n1) printf "%-20s %s (drops %s)\n" "$bench" "$(hits $summary)" "$(drops $summary)" } function summarize_percentage() { bench="$1" summary=$(echo $2 | tail -n1) printf "%-20s %s%%\n" "$bench" "$(percentage $summary)" } function summarize_ops() { bench="$1" summary=$(echo $2 | tail -n1) printf "%-20s %s\n" "$bench" "$(ops $summary)" } function summarize_local_storage() { bench="$1" summary=$(echo $2 | tail -n1) printf "%-20s %s\n" "$bench" "$(local_storage $summary)" } function summarize_total() { bench="$1" summary=$(echo $2 | tail -n1) printf "%-20s %s\n" "$bench" "$(total $summary)" }