File: perf.sh

package info (click to toggle)
libreswan 5.2-2.4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 81,656 kB
  • sloc: ansic: 129,988; sh: 32,018; xml: 20,646; python: 10,303; makefile: 3,022; javascript: 1,506; sed: 574; yacc: 511; perl: 264; awk: 52
file content (103 lines) | stat: -rwxr-xr-x 2,186 bytes parent folder | download | duplicates (5)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/bin/sh

# script to try combinations of workers and prefixes

grep ^kvmplutotest testing/pluto/TESTLIST \
    | head -100 > testing/pluto/SHORTLIST

for workers in 1 2 3 4 5 ; do
    p=""
    for prefix in a. b. c. d. e. ; do
	p="$p $prefix"
	log="w=${workers}-p=$(echo $p | wc -w).log"
	if test ! -r $log ; then
	    make 2>&1 kvm-install kvm-test \
		      KVM_WORKERS=${workers} \
		      "KVM_PREFIX=${p}" \
		      KVM_TESTS=testing/pluto/SHORTLIST \
		| tee $log
	fi
    done
done

fields() {
    failed=$(awk '/ failed: / { f=$4 } END { print f }' < $log)
    start=$(awk '/run started at/ { print $NF }' < $log)
    time=$(awk '/run finished at/ { print $NF }' < $log)
    minutes=$(awk '/run finished at/ {
       n = split($NF,t,":")
       s = 0
       for (i = 1; i < n; i++) {
         s = s * 60 + t[i]
       }
       print s
    }' < $log)
}

workers() {
    ls *.log | sed -e 's/.*w=\([0-9]\).*/\1/'  | sort -n -u
}
prefixes() {
    ls *.log | sed -e 's/.*p=\([0-9]\).*/\1/'  | sort -n -u
}


echo "Parallel Reboots vs Parallel Tests: Failures"
printf "Parallel Reboots"
for prefix in $(prefixes) ; do
    printf ",$prefix Tests"
done
printf "\n"
for worker in $(workers) ; do
    printf $worker
    for log in *w=$worker*.log ; do
	fields
	printf ,$failed
    done
    printf '\n'
done

echo "Parallel Tests vs Parallel Reboots: Failures"
printf "Parallel Tests"
for worker in $(workers) ; do
    printf ",$worker Reboots"
done
printf "\n"
for prefix in $(prefixes) ; do
    printf $prefix
    for log in *p=$prefix*.log ; do
	fields
	printf ,$failed
    done
    printf '\n'
done

echo "Parallel Reboots vs Parallel Tests: Time"
printf "Parallel Reboots"
for prefix in $(prefixes) ; do
    printf ",$prefix Tests"
done
printf "\n"
for worker in $(workers) ; do
    printf $worker
    for log in *w=$worker*.log ; do
	fields
	printf ,$minutes
    done
    printf '\n'
done

echo "Parallel Tests vs Parallel Reboots: Time"
printf "Parallel Tests"
for worker in $(workers) ; do
    printf ",$worker Reboots"
done
printf "\n"
for prefix in $(prefixes) ; do
    printf $prefix
    for log in *p=$prefix*.log ; do
	fields
	printf ,$minutes
    done
    printf '\n'
done