#!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option switchrate=10Hz tcp:::state-change /(args[5]->tcps_state == TCPS_CLOSED && args[3]->tcps_state == TCPS_SYN_SENT) || (args[5]->tcps_state == TCPS_LISTEN && args[3]->tcps_state == TCPS_SYN_RECEIVED)/ { dur[args[1]->cs_cid] = timestamp; } tcp:::state-change /(args[3]->tcps_state == TCPS_CLOSING || args[3]->tcps_state == TCPS_FIN_WAIT_2 || args[3]->tcps_state == TCPS_LAST_ACK) && dur[args[1]->cs_cid] != 0/ { @["Connection duration (ms)"] = quantize((timestamp - dur[args[1]->cs_cid]) / 1000000); dur[args[1]->cs_cid] = 0; }