summaryrefslogtreecommitdiff
path: root/job-metrics/metrics.sh
blob: 9b338d9ec3233a72b03a7d0549cbb62488fedfd0 (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
NumberOfBuilds=10
wget --auth-no-challenge --http-user=vishal.bhoj@linaro.org \
	--http-password="$1" --secure-protocol=TLSv1 \
	--no-verbose https://android-build.linaro.org/jenkins/api/xml
jobs=$(xml_grep 'url' xml | grep linaro-art | sed  "s/<url>//g" | sed "s/<\/url>//g")
rm xml*

for job in $jobs; do
	wget --auth-no-challenge --http-user=vishal.bhoj@linaro.org \
		--http-password="$1" --secure-protocol=TLSv1 \
		--no-verbose "${job}/lastBuild/api/xml"

	latestbuild=$(xml_grep displayName xml | grep displayName \
		| sed "s/.*#//" | sed "s/<.*//")
	oldbuild=$(echo "$latestbuild" - "$NumberOfBuilds" | bc)
	for i in $(seq "$oldbuild" "$latestbuild"); do
		wget --auth-no-challenge --http-user=vishal.bhoj@linaro.org \
			--http-password="$1" --secure-protocol=TLSv1 \
			--no-verbose "${job}/$i/api/json?pretty=true\&depth=2"
	done

	queuenumbers=$(grep -rni queuing json* | sed -e "s/.*: //g" \
		| sed -e "s/,//g")
	totalnumbers=$(grep -rni totalDurationMillis json* | sed -e "s/.*: //g" \
		| sed -e "s/,//g")
	queue_avg=0
	total_avg=0
	for number in $queuenumbers; do
		queue_avg=$(echo "$queue_avg" + "$number" | bc)
	done

	for number in $totalnumbers; do
		total_avg=$(echo "$total_avg" + "$number" | bc)
	done

	iter=$(echo "$latestbuild" - "$oldbuild" + 1 | bc)
	queue_avg=$(echo "$queue_avg" / "$iter" | bc)
	total_avg=$(echo "$total_avg" / "$iter" | bc)
	queue_hrs=$(echo "$queue_avg" / 60000 | bc)
	total_hrs=$(echo "$total_avg" / 60000 | bc)
        avg_build_hrs=$(echo "$total_hrs" - "$queue_hrs" | bc)
	echo "$job wait time in queue: $queue_hrs" >> results.txt
	echo "$job Build time: $avg_build_hrs" >> results.txt
	rm json*
	rm xml
done

cat results.txt