#!/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);
}

