blob: 88fbb78f78f1a2a4072c5aa905e22453b535ac1c (
plain) (
blame)
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
|
#!/usr/bin/env sh
# estimate sytem boot time
# [debug] enable execution tracing
#set -x
set -e
# raw input data
#date +%s
#sysctl_t0_str=$( sysctl kern.boottime | mawk -F= '{print($NF)}' )
#sysctl_t0=$( date -jf "%a %b %d %H:%M:%S %G" "${sysctl_t0_str}" +%s )
# check for saved state
if [ -f t0_est.log ] ; then {
t0_est="$( cat t0_est.log )"
} else {
t0_est=""
} fi
printf "n t_est t_unc t_up_est t_up_unc t0_est t0_unc\n" | column -t
for N in $(seq 0 10080) ; do
printf "${N} ${t0_est}\n" | column -t
t0_est=$( mawk -f ckt0.awk ${t0_est} | tail -n2 )
#mawk -f ckt0.awk
sleep $( mawk 'BEGIN {print(sqrt( rand()^2.0 + 1.0 ))}' )
#sleep $( echo $t0_est | mawk '{print(sqrt( ((60.0*$4)/(60.0 + $4))^2.0 + rand()^2.0 ))}' )
#sleep $( echo $t0_est | mawk '{print(sqrt( ($2)^2.0 + ($4)^2.0 + ($6)^2.0 + rand()^2.0 ))}' )
#sleep $( echo $t0_est | mawk '{print( 10.0 - (systime() - $5)%10.0 + 0.5*rand()^2.0 )}' )
done
printf "${t0_est}\n" | tee t0_est.log
# [debug] disable execution tracing
set +x
|