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";
21 $finalmatch = $prefix .
22 'Final load after (\d+):(\d+) iterations: ' . $pflt .
23 ' ; expected: ' . $pflt;
24 $plainmatch = $prefix .
25 '\((\d+):(\d+)\) current load: ' . $pflt .
26 ' ; expected: ' . $pflt;
28 $finalmatch = $prefix .
29 'Final load after (\d+) iterations: ' . $pflt;
30 $plainmatch = $prefix . '\((\d+)\) current load: ' . $pflt;
33 print STDERR "BOOKKEEPING: \"$_\" ($bookkeeping)\n";
34 print STDERR "INITMATCH..: \"$initmatch\"\n";
35 print STDERR "PLAINMATCH.: \"$plainmatch\"\n";
36 print STDERR "FINALMATCH.: \"$finalmatch\"\n";
39 next if not defined $bookkeeping;
60 # print STDERR "PUSH $host $data->{time} $data->{load} (plain)\n";
61 push @{$alldata{$host}}, $data;
62 } if (m{$initmatch}) {
71 # print STDERR "PUSH $host $data->{time} $data->{load} (init)\n";
72 push @{$alldata{$host}}, $data;
73 } elsif (m{$finalmatch}) {
93 # print STDERR "PUSH $host $data->{time} $data->{load} (final)\n";
94 push @{$alldata{$host}}, $data;
98 foreach my $host (sort(keys %alldata)) {
99 # print STDERR "GOT \"$host\"\n";
100 my $datalist = $alldata{$host};
102 foreach my $data (@{$datalist}) {
103 print "$data->{time} $data->{load}\n";