add scrappy statistics gathering scripts
[monitor.git] / statistics / harvestrt.py
1 #!/usr/bin/python
2
3 import os
4 import time
5 from datetime import datetime, timedelta
6 import sys
7
8 def popen(cmdstr):
9         f = os.popen(cmdstr)
10         ret = f.read()
11         return ret
12
13 def datetime_fromstr(str):
14         if '-' in str:
15                 try:
16                         tup = time.strptime(str, "%Y-%m-%d")
17                 except:
18                         tup = time.strptime(str, "%Y-%m-%d-%H:%M")
19         elif '/' in str:
20                 tup = time.strptime(str, "%m/%d/%Y")
21         else:
22                 tup = time.strptime(str, "%m/%d/%Y")
23         ret = datetime.fromtimestamp(time.mktime(tup))
24         return ret
25
26
27 def main():
28         queue = sys.argv[1]
29         d1 = datetime_fromstr(sys.argv[2])
30         iterations = int(sys.argv[3])
31         i = 0
32         while i < iterations:
33                 d1_s = d1.strftime("%Y-%m-%d")
34                 d2 = d1 + timedelta(30)
35                 d2_s = d2.strftime("%Y-%m-%d")
36                 query = "Queue='%s' and " % queue 
37                 query = query + "Told > '%s' and Told < '%s'" % (d1_s, d2_s)
38                 cmd = """rt ls -t ticket "%s" | grep -v "No matching" | wc -l  """ % query
39                 print cmd
40                 ret = popen(cmd)
41                 print d1_s, ",", ret[:-1]
42                 d1=d2
43                 i += 1
44
45 if __name__ == "__main__":
46         main()