report file_size result in log
[cloudstore.git] / gearman-top.pl
index e69d36f..7bb4dbc 100755 (executable)
@@ -15,16 +15,20 @@ print "\e[2J"; # Erase Screen
 
 my $t = time();
 my $max;
+my $erase_screen = 1;
+my $last_names = '?';
 
 while(1) {
        my $uptime = time() - $t;
-       print "\e[2J" if $uptime % 5 == 0;
+       print "\e[2J" if $erase_screen || $uptime % 5 == 0;
        print "\e[0;0H"; # Cursor Home
        print "Gearman " . localtime(time()) . "\t\e[34mmax update: $uptime\e[0m\n"; 
        printf "\e[4mqueued  running  wrk function\e[0m\n";
 
        print $sock "STATUS\n";
 
+       my $names;
+
        while ( my $line = <$sock> ) {
                chomp $line;
 #              warn "# [$line]\n";
@@ -40,6 +44,7 @@ while(1) {
                        , $workers
                        , $name
                ;
+               $names .= $name;
        }
 
 =for workers
@@ -52,5 +57,10 @@ while(1) {
        }
 =cut
 
+       if ( $names ne $last_names ) {
+               $erase_screen = 1;
+               $last_names = $names;
+       }
+
        sleep 1;
 }