From 65a40bb6f8ed6e55ab44a54a32a574e85cdabb73 Mon Sep 17 00:00:00 2001 From: Eliot Horowitz Date: Mon, 7 Jun 2010 08:30:56 +0200 Subject: [PATCH] Initial version --- plugins/other/mongo_mem | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 plugins/other/mongo_mem diff --git a/plugins/other/mongo_mem b/plugins/other/mongo_mem new file mode 100755 index 00000000..3a4d96b5 --- /dev/null +++ b/plugins/other/mongo_mem @@ -0,0 +1,49 @@ +#!/usr/bin/python + +## GENERATED FILE - DO NOT EDIT + +import urllib2 +import sys + +try: + import json +except ImportError: + import simplejson as json + + +def getServerStatus(): + raw = urllib2.urlopen( "http://127.0.0.1:28017/_status" ).read() + return json.loads( raw )["serverStatus"] + +def ok(s): + return s == "resident" or s == "virtual" or s == "mapped" + +def doData(): + for k,v in getServerStatus()["mem"].iteritems(): + if ok(k): + print( str(k) + ".value " + str(v * 1024 * 1024) ) + +def doConfig(): + + print "graph_title MongoDB memory usage" + print "graph_args --base 1024 -l 0 --vertical-label Bytes" + print "graph_category MongoDB" + + for k in getServerStatus()["mem"]: + if ok( k ): + print k + ".label " + k + print k + ".draw LINE1" + + + + + + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "config": + doConfig() + else: + doData() + +