-
Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathmongo_btree
executable file
·63 lines (45 loc) · 1.44 KB
/
mongo_btree
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env python
## GENERATED FILE - DO NOT EDIT
import urllib2
import sys
import os
try:
import json
except ImportError:
import simplejson as json
def getServerStatus():
host = os.environ.get("host", "127.0.0.1")
port = 28017
url = "http://%s:%d/_status" % (host, port)
req = urllib2.Request(url)
user = os.environ.get("user")
password = os.environ.get("password")
if user and password:
passwdmngr = urllib2.HTTPPasswordMgrWithDefaultRealm()
passwdmngr.add_password(None, 'http://%s:%d' % (host, port), user, password)
authhandler = urllib2.HTTPDigestAuthHandler(passwdmngr)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
raw = urllib2.urlopen(req).read()
return json.loads( raw )["serverStatus"]
def get():
return getServerStatus()["indexCounters"]["btree"]
def doData():
for k,v in get().iteritems():
print( str(k) + ".value " + str(int(v)) )
def doConfig():
print "graph_title MongoDB btree stats"
print "graph_args --base 1000 -l 0"
print "graph_vlabel mb ${graph_period}"
print "graph_category MongoDB"
for k in get():
print k + ".label " + k
print k + ".min 0"
print k + ".type COUNTER"
print k + ".max 500000"
print k + ".draw LINE1"
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "config":
doConfig()
else:
doData()