Changeset 623

Show
Ignore:
Timestamp:
10/03/07 23:26:02 (1 year ago)
Author:
plindner
Message:

The memcached-tool script can now display stats. Patch
provided by Dan Christian <dchristian@google.com>

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/server/ChangeLog

    r622 r623  
    1616        * Add append command support written by Filipe Laborde. 
    1717          Tests/protocol doc updates by Paul Lindner. 
     18 
     19        * The memcached-tool script can now display stats.  Patch 
     20          provided by Dan Christian <dchristian@google.com> 
    1821 
    19222007-08-21 Paul Lindner <lindner@inuus.com> 
  • trunk/server/configure.ac

    r607 r623  
    11AC_PREREQ(2.52) 
    2 AC_INIT(memcached, 1.2.3, brad@danga.com) 
     2AC_INIT(memcached, 1.2.4, brad@danga.com) 
    33AC_CANONICAL_SYSTEM 
    44AC_CONFIG_SRCDIR(memcached.c) 
  • trunk/server/scripts/memcached-tool

    r502 r623  
    2929} elsif ($mode eq 'dump') { 
    3030    ; 
     31} elsif ($mode eq 'stats') { 
     32    ; 
    3133} else { 
    3234    undef $mode; 
     
    3941       memcached-tool 10.0.0.5:11211 display    # shows slabs 
    4042       memcached-tool 10.0.0.5:11211            # same.  (default is display) 
     43       memcached-tool 10.0.0.5:11211 stats      # shows general stats 
    4144       memcached-tool 10.0.0.5:11211 move 7 9   # takes 1MB slab from class #7 
    4245                                                # to class #9. 
     
    128131} 
    129132 
     133if ($mode eq 'stats') { 
     134    my %items; 
     135 
     136    print $sock "stats\r\n"; 
     137 
     138    while (<$sock>) { 
     139        last if /^END/; 
     140        chomp; 
     141        if (/^STAT\s+(\S*)\s+(.*)/) { 
     142            $items{$1} = $2; 
     143        } 
     144    } 
     145    printf ("#%-17s %5s %11s\n", $host, "Field", "Value"); 
     146    foreach my $name (sort(keys(%items))) { 
     147      printf ("%24s %12s\n", $name, $items{$name}); 
     148       
     149    } 
     150    exit; 
     151} 
     152 
    130153# display mode: 
    131154 
     
    150173} 
    151174 
    152 print "  # Item_Size  Max_age  1MB_pages Full?\n"; 
    153 foreach my $n (6..17) { 
     175print "  # Item_Size   Max_age  1MB_pages Count  Full?\n"; 
     176foreach my $n (1..40) { 
    154177    my $it = $items{$n}; 
    155     my $size = $it->{chunk_size} < 1024 ? "$it->{chunk_size} B" :  
    156         sprintf("%d kB", $it->{chunk_size} / 1024); 
     178    next if (0 == $it->{total_pages}); 
     179    my $size = $it->{chunk_size} < 1024 ? "$it->{chunk_size} B " :  
     180        sprintf("%.1f kB", $it->{chunk_size} / 1024.0); 
    157181    my $full = $it->{free_chunks_end} == 0 ? "yes" : " no"; 
    158     printf "%3d    %6s%7d s %7d     $full\n", $n, $size, $it->{age}, $it->{total_pages}; 
     182    printf "%3d   %8s %7d s %7d %7d %7s\n", 
     183                        $n, $size, $it->{age}, $it->{total_pages}, 
     184                        $it->{number}, $full; 
    159185} 
    160186