freebsd_amp_hwpstate/usr.sbin/xntpd/scripts/stats/psummary.awk

44 lines
1.0 KiB
Awk

# program to scan peer_summary file and produce summary of daily summaries
#
# usage: awk -f psummary.awk peer_summary
#
{
if (NF < 8 || $1 == "ident")
continue
i = n
for (j = 0; j < n; j++) {
if ($1 == peer_ident[j])
i = j
}
if (i == n) {
peer_ident[i] = $1
n++
}
peer_count[i]++
if (($7 - $6 / 2) < 400) {
peer_count[i]++
peer_mean[i] += $3
peer_var[i] += $4 * $4
if ($5 > peer_max[i])
peer_max[i] = $5
if ($5 > 1)
peer_1[i]++
if ($5 > 5)
peer_2[i]++
if ($5 > 10)
peer_3[i]++
if ($5 > 50)
peer_4[i]++
}
} END {
printf " host cnt mean rms max >1 >5 >10 >50\n"
printf "=================================================================\n"
for (i = 0; i < n; i++) {
if (peer_count[i] <= 0)
continue
peer_mean[i] /= peer_count[i]
peer_var[i] = sqrt(peer_var[i] / peer_count[i])
printf "%15s%4d%10.3f%10.3f%10.3f%4d%4d%4d%4d\n", peer_ident[i], peer_count[i], peer_mean[i], peer_var[i], peer_max[i], peer_1[i], peer_2[i], peer_3[i], peer_4[i]
}
}