xref: /openbmc/linux/tools/testing/selftests/bpf/benchs/run_common.sh (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
157fd1c63SJoanne Koong#!/bin/bash
257fd1c63SJoanne Koong# SPDX-License-Identifier: GPL-2.0
357fd1c63SJoanne Koong
457fd1c63SJoanne KoongRUN_BENCH="sudo ./bench -w3 -d10 -a"
557fd1c63SJoanne Koong
657fd1c63SJoanne Koongfunction header()
757fd1c63SJoanne Koong{
857fd1c63SJoanne Koong	local len=${#1}
957fd1c63SJoanne Koong
1057fd1c63SJoanne Koong	printf "\n%s\n" "$1"
1157fd1c63SJoanne Koong	for i in $(seq 1 $len); do printf '='; done
1257fd1c63SJoanne Koong	printf '\n'
1357fd1c63SJoanne Koong}
1457fd1c63SJoanne Koong
1557fd1c63SJoanne Koongfunction subtitle()
1657fd1c63SJoanne Koong{
1757fd1c63SJoanne Koong	local len=${#1}
1857fd1c63SJoanne Koong	printf "\t%s\n" "$1"
1957fd1c63SJoanne Koong}
2057fd1c63SJoanne Koong
2157fd1c63SJoanne Koongfunction hits()
2257fd1c63SJoanne Koong{
2357fd1c63SJoanne Koong	echo "$*" | sed -E "s/.*hits\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"
2457fd1c63SJoanne Koong}
2557fd1c63SJoanne Koong
2657fd1c63SJoanne Koongfunction drops()
2757fd1c63SJoanne Koong{
2857fd1c63SJoanne Koong	echo "$*" | sed -E "s/.*drops\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"
2957fd1c63SJoanne Koong}
3057fd1c63SJoanne Koong
3157fd1c63SJoanne Koongfunction percentage()
3257fd1c63SJoanne Koong{
3357fd1c63SJoanne Koong	echo "$*" | sed -E "s/.*Percentage\s=\s+([0-9]+\.[0-9]+).*/\1/"
3457fd1c63SJoanne Koong}
3557fd1c63SJoanne Koong
36ec151037SJoanne Koongfunction ops()
37ec151037SJoanne Koong{
38ec151037SJoanne Koong	echo -n "throughput: "
39ec151037SJoanne Koong	echo -n "$*" | sed -E "s/.*throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"
40ec151037SJoanne Koong	echo -n -e ", latency: "
41ec151037SJoanne Koong	echo "$*" | sed -E "s/.*latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/"
42ec151037SJoanne Koong}
43ec151037SJoanne Koong
44*73087489SDave Marchevskyfunction local_storage()
45*73087489SDave Marchevsky{
46*73087489SDave Marchevsky	echo -n "hits throughput: "
47*73087489SDave Marchevsky	echo -n "$*" | sed -E "s/.* hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"
48*73087489SDave Marchevsky	echo -n -e ", hits latency: "
49*73087489SDave Marchevsky	echo -n "$*" | sed -E "s/.* hits latency\s+([0-9]+\.[0-9]+\sns\/op).*/\1/"
50*73087489SDave Marchevsky	echo -n ", important_hits throughput: "
51*73087489SDave Marchevsky	echo "$*" | sed -E "s/.*important_hits throughput\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+\sM\sops\/s).*/\1/"
52*73087489SDave Marchevsky}
53*73087489SDave Marchevsky
54f44bc543SJoanne Koongfunction total()
55f44bc543SJoanne Koong{
56f44bc543SJoanne Koong	echo "$*" | sed -E "s/.*total operations\s+([0-9]+\.[0-9]+ ± [0-9]+\.[0-9]+M\/s).*/\1/"
57f44bc543SJoanne Koong}
58f44bc543SJoanne Koong
5957fd1c63SJoanne Koongfunction summarize()
6057fd1c63SJoanne Koong{
6157fd1c63SJoanne Koong	bench="$1"
6257fd1c63SJoanne Koong	summary=$(echo $2 | tail -n1)
6357fd1c63SJoanne Koong	printf "%-20s %s (drops %s)\n" "$bench" "$(hits $summary)" "$(drops $summary)"
6457fd1c63SJoanne Koong}
6557fd1c63SJoanne Koong
6657fd1c63SJoanne Koongfunction summarize_percentage()
6757fd1c63SJoanne Koong{
6857fd1c63SJoanne Koong	bench="$1"
6957fd1c63SJoanne Koong	summary=$(echo $2 | tail -n1)
7057fd1c63SJoanne Koong	printf "%-20s %s%%\n" "$bench" "$(percentage $summary)"
7157fd1c63SJoanne Koong}
72f44bc543SJoanne Koong
73ec151037SJoanne Koongfunction summarize_ops()
74ec151037SJoanne Koong{
75ec151037SJoanne Koong	bench="$1"
76ec151037SJoanne Koong	summary=$(echo $2 | tail -n1)
77ec151037SJoanne Koong	printf "%-20s %s\n" "$bench" "$(ops $summary)"
78ec151037SJoanne Koong}
79ec151037SJoanne Koong
80*73087489SDave Marchevskyfunction summarize_local_storage()
81*73087489SDave Marchevsky{
82*73087489SDave Marchevsky	bench="$1"
83*73087489SDave Marchevsky	summary=$(echo $2 | tail -n1)
84*73087489SDave Marchevsky	printf "%-20s %s\n" "$bench" "$(local_storage $summary)"
85*73087489SDave Marchevsky}
86*73087489SDave Marchevsky
87f44bc543SJoanne Koongfunction summarize_total()
88f44bc543SJoanne Koong{
89f44bc543SJoanne Koong	bench="$1"
90f44bc543SJoanne Koong	summary=$(echo $2 | tail -n1)
91f44bc543SJoanne Koong	printf "%-20s %s\n" "$bench" "$(total $summary)"
92f44bc543SJoanne Koong}
93