Commit bb1bf001 authored by Rich Prohaska's avatar Rich Prohaska

DB-717 add iterations limit to tokustat

parent 9b4e15d5
...@@ -9,10 +9,10 @@ def usage(): ...@@ -9,10 +9,10 @@ def usage():
print "diff the tokudb engine status" print "diff the tokudb engine status"
print "--host=HOSTNAME (default: localhost)" print "--host=HOSTNAME (default: localhost)"
print "--port=PORT" print "--port=PORT"
print "--sleeptime=SLEEPTIME (default: 10 seconds)" print "--interations=MAX_ITERATIONS (default: forever)"
print "--interval=TIME_BETWEEN_SAMPLES (default: 10 seconds)"
print "--q='show engine tokudb status'" print "--q='show engine tokudb status'"
print "--q='select * from information_schema.global_status'" print "--q='select * from information_schema.global_status'"
return 1 return 1
def convert(v): def convert(v):
...@@ -23,14 +23,11 @@ def convert(v): ...@@ -23,14 +23,11 @@ def convert(v):
v = float(v) v = float(v)
return v return v
def printit(stats, rs, sleeptime): def printit(stats, rs, interval):
# print rs
for t in rs: for t in rs:
l = len(t) # grab the last 2 fields in t l = len(t) # grab the last 2 fields in t
k = t[l-2] k = t[l-2]
v = t[l-1] v = t[l-1]
# print k, v # debug
# try to convert v
try: try:
v = convert(v) v = convert(v)
except: except:
...@@ -41,11 +38,11 @@ def printit(stats, rs, sleeptime): ...@@ -41,11 +38,11 @@ def printit(stats, rs, sleeptime):
print k, "|", oldv, "|", v, print k, "|", oldv, "|", v,
try: try:
d = v - oldv d = v - oldv
if sleeptime != 1: if interval != 1:
if d >= sleeptime: if d >= interval:
e = d / sleeptime e = d / interval
else: else:
e = float(d) / sleeptime e = float(d) / interval
print "|", d, "|", e print "|", d, "|", e
else: else:
print "|", d print "|", d
...@@ -59,7 +56,9 @@ def main(): ...@@ -59,7 +56,9 @@ def main():
port = None port = None
user = None user = None
passwd = None passwd = None
sleeptime = 10 interval = 10
iterations = 0
q = 'show engine tokudb status' q = 'show engine tokudb status'
for a in sys.argv[1:]: for a in sys.argv[1:]:
...@@ -71,6 +70,9 @@ def main(): ...@@ -71,6 +70,9 @@ def main():
continue continue
return usage() return usage()
iterations = int(iterations)
interval = int(interval)
connect_parameters = {} connect_parameters = {}
if host is not None: if host is not None:
if host[0] == '/': if host[0] == '/':
...@@ -93,7 +95,9 @@ def main(): ...@@ -93,7 +95,9 @@ def main():
print "connected" print "connected"
stats = {} stats = {}
while 1: i = 0
while iterations == 0 or i <= iterations:
i += 1
try: try:
c = db.cursor() c = db.cursor()
n = c.execute(q) n = c.execute(q)
...@@ -105,8 +109,8 @@ def main(): ...@@ -105,8 +109,8 @@ def main():
return 2 return 2
try: try:
printit(stats, rs, int(sleeptime)) printit(stats, rs, interval)
time.sleep(int(sleeptime)) time.sleep(interval)
except: except:
print "printit", sys.exc_info() print "printit", sys.exc_info()
return 3 return 3
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment