add connect time/uptime for links cmd
[spider.git] / perl / DXUtil.pm
index b7c455198fd35633bb5214d585f85697e5a54823..8453d3df0631c5ba77b9c1710ec1b2c610c21589 100644 (file)
@@ -141,6 +141,7 @@ sub dd
 {
        my $value = shift;
        my $dd = new Data::Dumper([$value]);
+       $dd->Sortkeys(1);
        $dd->Indent(0);
        $dd->Terse(1);
     $dd->Quotekeys($] < 5.005 ? 1 : 0);
@@ -510,6 +511,7 @@ sub _diffms
 
 sub diffms
 {
+       my $pkg = shift;
        my $call = shift;
        my $line = shift;
        my $ta = shift;
@@ -518,7 +520,7 @@ sub diffms
        my $msecs = _diffms($ta, $tb);
 
        $line =~ s|\s+$||;
-       my $s = "subprocess stats cmd: '$line' $call ${msecs}mS";
+       my $s = "$pkg subprocess stats cmd: '$line' $call ${msecs}mS";
        $s .= " $no lines" if $no;
        DXDebug::dbg($s);
 }
@@ -527,25 +529,36 @@ sub diffms
 sub difft
 {
        my $b = shift;
+       my $adds = shift;
+       
        my $t;
        if (ref $b eq 'ARRAY') {
                $t = $b->[1] - $b->[0];
        } else {
-               $t = shift() - $b;
+               if ($adds >= $b) {
+                       $t = $adds - $b;
+                       $adds = shift;
+               } else {
+                       $t = $main::systime - $b;
+               }
        }
        return '-(ve)' if $t < 0;
        my ($d,$h,$m,$s);
        my $out = '';
        $d = int $t / 86400;
-       $out .= "${d}d" if $d;
+       $out .= sprintf ("%s${d}d", $adds?' ':'') if $d;
        $t -= $d * 86400;
        $h = int $t / 3600;
-       $out .= "${h}h" if $h || $d;
+       $out .= sprintf ("%s${h}h", $adds?' ':'') if $h;
+#      $out .= "${h}h" if $h || $d;
        $t -= $h * 3600;
        $m = int $t / 60;
-       $out .= "${m}m" if $m || $h || $d;
+       $out .= sprintf ("%s${m}m", $adds?' ':'') if $m;
+#      $out .= "${m}m" if $m || $h || $d;
        $s = int $t % 60;
-       $out .= "${s}s";
+       $out .= sprintf ("%s${s}s", $adds?' ':'') if $s;
+       #       $out .= "${s}s";
+       $out ||= sprintf ("%s0s", $adds?' ':'');
        return $out;
 }