diff --git a/plugins/other/memcached_hits_ b/plugins/other/memcached_hits_ new file mode 100755 index 00000000..1c2982f6 --- /dev/null +++ b/plugins/other/memcached_hits_ @@ -0,0 +1,38 @@ +#!/usr/bin/env perl +# ex:ts=4 + +use strict; +use warnings; + +use Cache::Memcached; + +my $cmd = shift || ''; +if ($cmd eq 'config') { + print "graph_title Memcached cache hits and misses\n"; + print "graph_args --base 1000 -l 0\n"; + print "graph_vlabel requests\n"; + print "graph_category memcached\n"; + print "graph_info This graph monitors the number of cache hits and misses.\n"; + print "hits.label hits\n"; + print "hits.info Number of cache hits\n"; + print "hits.min 0\n"; + print "hits.type DERIVE\n"; + print "misses.label misses\n"; + print "misses.info Number of cache misses\n"; + print "misses.min 0\n"; + print "misses.type DERIVE\n"; + print "misses.draw AREA\n"; + exit 0; +} + +$0 =~ /memcached_hits_(\d+_\d+_\d+_\d+)_(\d+)$/; +my ($ip, $port) = ($1, $2); +$ip =~ s/_/./g; +my $address = "$ip:$port"; + +my $memd = new Cache::Memcached { 'servers' => [$address] }; +my $memstats = $memd->stats(['misc']); + +print "hits.value " . $memstats->{hosts}->{$address}->{misc}->{get_hits} . "\n"; +print "misses.value " . + $memstats->{hosts}->{$address}->{misc}->{get_misses} . "\n";