summaryrefslogtreecommitdiff
path: root/tcwg-benchmark-results.sh
blob: 88e25f5f68ece44453fad78458f8c119f4d7d80d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash

# Clean: shellcheck -e 2001 ./tcwg-benchmark-results.sh

set -euf -o pipefail

scripts=$(dirname $0)
# shellcheck source=jenkins-helpers.sh
. $scripts/jenkins-helpers.sh

convert_args_to_variables "$@"

obligatory_variables results

top_artifacts="${top_artifacts-artifacts}"
verbose="${verbose-false}"
# shellcheck disable=SC2154
num_entries_opt="${num_dsos+--num-dsos $num_dsos} ${num_symbols+--num-symbols $num_symbols}"
entry_threshold="${entry_threshold-5}"

verbose_opt=""
if $verbose; then
    set -x
    verbose_opt="--verbose"
fi

relative_opt=""
# shellcheck disable=SC2154
if [ x"${results_ref+set}" = x"set" ]; then
    relative_opt="--relative"
    results=("$results_ref" "${results[@]}")
    num=0
else
    num=1
fi

mkdir -p $top_artifacts

results_top="bkp-01.tcwglab:/home/tcwg-benchmark/results"

csvs=""
for i in "${results[@]}"; do
    rsync -az --delete "$results_top-$i/" results-$num/
    hw_tag="${i%%/*}"
    $scripts/../bmk-scripts/perfdatadir2csv.sh \
	--buildid-dir local --format sample,size --sort-field sample \
	--perf-bin /usr/lib/linux-tools/$hw_tag/perf \
	$verbose_opt $num_entries_opt \
	--results-dir "results-$num/" > "$top_artifacts/results-$num.csv"
    csvs="$csvs $top_artifacts/results-$num.csv"
    num=$(($num+1))
done

$scripts/../bmk-scripts/csvs2table.py -p $entry_threshold $relative_opt $csvs > $top_artifacts/results.csv

$scripts/../bmk-scripts/csvs2table.py -p 0 $relative_opt $csvs > $top_artifacts/results-full.csv

$scripts/../bmk-scripts/csvs2table.py -p 99 $relative_opt $csvs > $top_artifacts/results-brief.csv