6 use Data::Dump qw(dump);
8 my $sock = IO::Socket::INET->new(
9 PeerAddr => '127.0.0.1',
14 print "
\e[2J"; # Erase Screen
19 print "
\e[0;0H"; # Cursor Home
20 print "Gearman " . localtime(time()) . "\n";
21 printf "
\e[4mqueued running wrk function
\e[34mmax
\e[0m\n";
23 print $sock "STATUS\n";
25 while ( my $line = <$sock> ) {
29 next if $line =~ m/\t0$/; # ignore functions which don't have active workers
30 my ( $name, $queued, $running, $workers ) = split(/\t/,$line,4);
31 $max->{$name}->{$_} ||= 0 foreach qw(queued running);
32 $max->{$name}->{queued} = $queued if $queued > $max->{$name}->{queued};
33 $max->{$name}->{running} = $running if $running > $max->{$name}->{running};
34 printf "%3d
\e[34m%-3d
\e[0m %3d
\e[34m%-3d
\e[0m %3d %s\n"
35 , $queued, $max->{$name}->{queued}
36 , $running, $max->{$name}->{running}
43 print $sock "WORKERS\n";
45 while ( my $line = <$sock> ) {