5 # 2012-05-27 Dobrica Pavlinusic <dpavlin@rot13.org>
8 use Data::Dump qw(dump);
10 my $arg = shift @ARGV;
13 my $sock = IO::Socket::INET->new(
14 PeerAddr => '127.0.0.1',
19 if ( $arg eq 'autoconf' ) {
20 print $sock ? "yes\n" : "no\n";
24 print $sock "STATUS\n";
28 while ( my $line = <$sock> ) {
32 next if $line =~ m/\t0$/; # ignore functions which don't have active workers
33 my ( $name, $queued, $running, $workers ) = split(/\t/,$line,4);
34 $stats->{queued}->{$name} = $queued;
35 $stats->{running}->{$name} = $running;
36 $stats->{workers}->{$name} = $workers;
39 if ( $arg eq 'config' ) {
40 foreach my $multigraph ( keys %$stats ) {
41 print "multigraph $multigraph\n";
42 print "graph_category gearman\n";
43 print "graph_title Gearman $multigraph\n";
45 foreach my $name ( keys %{ $stats->{$multigraph} } ) {
47 print "$name.label $name\n";
51 foreach my $multigraph ( keys %$stats ) {
52 print "multigraph $multigraph\n";
53 while ( my ($name,$value) = each %{ $stats->{$multigraph} } ) {
55 print "$name.value $value\n";