#!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option switchrate=10Hz tcp:::receive /args[3]->tcps_state == TCPS_ESTABLISHED && args[2]->ip_plength - args[4]->tcp_offset > 0 && args[3]->tcps_rnxt != args[4]->tcp_seq/ { @invorderb[args[3]->tcps_raddr] = sum(args[2]->ip_plength - args[4]->tcp_offset); @invorderp[args[3]->tcps_raddr] = count(); } tcp:::receive /args[3]->tcps_state == TCPS_ESTABLISHED && args[2]->ip_plength - args[4]->tcp_offset > 0/ { @valorderb[args[3]->tcps_raddr] = sum(args[2]->ip_plength - args[4]->tcp_offset); @valorderp[args[3]->tcps_raddr] = count(); } dtrace:::END { printf("%-30s %-12s %-12s %-12s %-12s\n", "RADDR", "BYTES", "OOO BYTES", "PACKETS", "OOO PACKETS"); printa("%-30s %@-12d %@-12d %@-12d %@-12d\n", @valorderb, @invorderb, @valorderp, @invorderp); }