X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUtil.pm;fp=perl%2FDXUtil.pm;h=157ff609534515009faf6ff07914e690784fd349;hb=ed993b76a84e36b22efd1fc762d6a466497bcf7e;hp=b9afba12d29dba40bfea78cde38b570642551d70;hpb=abbcfa7500858a2eba4135b0af5db9f3fca8d68e;p=spider.git diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index b9afba12..157ff609 100644 --- a/perl/DXUtil.pm +++ b/perl/DXUtil.pm @@ -13,7 +13,7 @@ use Date::Parse; use IO::File; use File::Copy; use Data::Dumper; - +use Time::HiRes qw(gettimeofday tv_interval); use strict; @@ -27,6 +27,7 @@ require Exporter; print_all_fields cltounix unpad is_callsign is_latlong is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem is_prefix dd is_ipaddr $pi $d2r $r2d localdata localdata_mv + diffms ); @@ -497,3 +498,21 @@ sub localdata_mv } } +# measure the time taken for something to happen; use Time::HiRes qw(gettimeofday tv_interval); +sub diffms +{ + my $call = shift; + my $line = shift; + my $ta = shift; + my $no = shift; + my $tb = shift || [gettimeofday]; + + my $a = int($ta->[0] * 1000) + int($ta->[1] / 1000); + my $b = int($tb->[0] * 1000) + int($tb->[1] / 1000); + my $msecs = $b - $a; + + $line =~ s|\s+$||; + my $s = "subprocess stats cmd: '$line' $call ${msecs}mS"; + $s .= " $no lines" if $no; + DXDebug::dbg($s); +}