blob: f2feb22b7e9249adfeb7ca3a74e44dfd89c1cdc4 [file] [log] [blame]
#!/usr/bin/awk -f
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This script computes the intervals between the time instants of
# contiguous SYN_REPORT packets, and count the number of packets
# with time intervals greater than 1/60 seconds.
# Note: this script is larged borrowed from adlr@'s timing test in shell.
# Usage: DISPLAY=:0 mtplot tools/awk_process_syn
# Note: You need to press 'q' instead of ctrl-c to exit mtplot
# in order to print the count of large intervals.
BEGIN {
previous = 0;
count_packets = 0;
count_large = 0;
}
/SYN_REPORT/ {
if (previous == 0) {
previous = $3;
} else {
current = $3;
interval = current - previous;
previous = current;
count_packets++;
if (interval > 1.0 / 60) {
mark = "*****";
count_large++;
} else {
mark = " ";
}
template = " %s interval: %.6f (%s)\n";
printf(template, mark, interval, $0);
}
}
END {
msg = "\nthe count of large intervals: %d out of %d packets\n\n"
printf(msg, count_large, count_packets);
}