dbpassword = ''
debug = 0
interval = 24 * 3600
+min = None
+max = None
+header = 1
db = None
st = None
try:
- opts, args = getopt.getopt(sys.argv[1:], 'hc:di:', ['help', 'config=', 'dbhost=', 'dbname=', 'dbuser=', 'dbpassword=', 'debug', 'interval=' ])
+ opts, args = getopt.getopt(sys.argv[1:], 'hc:di:n:x:H', ['help', 'config=', 'dbhost=', 'dbname=', 'dbuser=', 'dbpassword=', 'debug', 'interval=', 'min=', 'max=', 'no-header' ])
except getopt.GetoptError:
print 'Args error'
sys.exit(2)
--dbuser\n\
-d, --debug\n\
--dbpassword\n\
- -i, --interval TIME ... time interval"
+ -i, --interval TIME ... time interval\n\
+ -n, --min ............. start time (default: autodetect)\n\
+ -x, --max ............. end time (default: autodetect)\n\
+ -H, --no-header ....... don't print the header"
sys.exit(0)
elif opt in ('-c', '--config'):
f = open(arg, 'r')
debug = int(arg)
elif opt in ('-i', '--interval'):
interval = long(arg)
+ elif opt in ('-n', '--min'):
+ min = long(arg) * 1000
+ elif opt in ('-x', '--max'):
+ max = long(arg) * 1000
+ elif opt in ('-H', '--no-header'):
+ header = 0
else:
print 'Args error'
sys.exit(2)
nodes[data['id']] = data['host']
-st.execute('SELECT MIN(start) AS min, MAX(finish) AS max FROM subjobs')
-data = st.fetchone()
-min = data['min']
-max = data['max']
+if not min or not max:
+ st.execute('SELECT MIN(start) AS min, MAX(finish) AS max FROM subjobs')
+ data = st.fetchone()
+if not min:
+ min = data['min']
+if not max:
+ max = data['max']
if debug:
print 'Min: %s' % strp(min)
if debug:
print 'Range: %s ... %s' % (strp(min), strp(max))
-usages = list()
-usages.append('time')
-usages.append('mapred')
-for nodeid in sorted(nodes.keys()):
- usages.append(nodes[nodeid])
-print "\t".join(usages)
+if header:
+ usages = list()
+ usages.append('time')
+ usages.append('mapred')
+ for nodeid in sorted(nodes.keys()):
+ usages.append(nodes[nodeid])
+ print "\t".join(usages)
i = min
while i < max: