7 my $flt = '[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?';
9 my $prefix = '^\[([^: ]+)(?::loba:\(\d+\))? ' . $pflt . '\] \[proc/INFO\] ';
10 my $initmatch = $prefix . 'Initial load: ' . $pflt . '';
18 if (s{^(?:\[0\.0+\] )?\[main/INFO\] \| bookkeeping\.*: }{}) {
19 $bookkeeping = $_ eq "on";
20 $finalmatch = $prefix .
21 'Final load after (\d+):(\d+) iterations: ' . $pflt;
22 $plainmatch = $prefix . '\((\d+):(\d+)\) current load: ' . $pflt;
24 $finalmatch = $finalmatch . ' ; expected: ' . $pflt;
25 $plainmatch = $plainmatch . ' ; expected: ' . $pflt;
28 print STDERR "BOOKKEEPING: \"$_\" ($bookkeeping)\n";
29 print STDERR "INITMATCH..: \"$initmatch\"\n";
30 print STDERR "PLAINMATCH.: \"$plainmatch\"\n";
31 print STDERR "FINALMATCH.: \"$finalmatch\"\n";
34 next if not defined $bookkeeping;
35 if (m{$plainmatch} or m{$finalmatch}) {
44 $data->{expected} = $6;
46 $data->{expected} = $data->{load};
48 # print STDERR "PUSH $host $data->{time} $data->{load} (plain/final)\n";
49 push @{$alldata{$host}}, $data;
50 } elsif (m{$initmatch}) {
59 # print STDERR "PUSH $host $data->{time} $data->{load} (init)\n";
60 push @{$alldata{$host}}, $data;
64 foreach my $host (sort(keys %alldata)) {
65 # print STDERR "GOT \"$host\"\n";
66 my $datalist = $alldata{$host};
68 foreach my $data (@{$datalist}) {
69 print "$data->{time} $data->{load}\n";