1#!/usr/bin/perl -w 2 3use strict; 4 5# $FreeBSD$ 6 7# [1360537229.753890] [100494] TXD 8# [1360537229.754292] [100494] TXSTATUS: TxDone=1, TS=0x5ccfa5c7 9 10my ($tv_sec) = 0; 11my ($tv_usec) = 0; 12 13sub tvdiff($$$$) { 14 my ($tv1_sec, $tv1_usec, $tv2_sec, $tv2_usec) = @_; 15 16 if ($tv2_usec < $tv1_usec) { 17 $tv2_usec += 1000000; 18 $tv1_sec = $tv1_sec + 1; 19 } 20 21 return ($tv2_sec - $tv1_sec) * 1000000 + ($tv2_usec - $tv1_usec); 22} 23 24while (<>) { 25 chomp; 26 m/^\[(.*?)\.(.*?)\]/ || next; 27 printf "%d\t| %s\n", tvdiff($tv_sec, $tv_usec, $1, $2), $_; 28# if (tvdiff($tv_sec, $tv_usec, $1, $2) > 500) { 29# printf "%d\t| %s\n", tvdiff($tv_sec, $tv_usec, $1, $2), $_; 30# } 31 $tv_sec = $1; 32 $tv_usec = $2; 33} 34 35