--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devtools/exlog.py Mon Jan 05 22:30:25 2009 +0100
@@ -0,0 +1,39 @@
+"""
+usage: python exlog.py < rql.log
+
+will print out the following table
+
+ total execution time || number of occurences || rql query
+
+sorted by descending total execution time
+
+chances are the lines at the top are the ones that will bring
+the higher benefit after optimisation. Start there.
+"""
+import sys, re
+
+def run():
+ requests = {}
+ for line in sys.stdin:
+ if not ' WHERE ' in line:
+ continue
+ #sys.stderr.write( line )
+ rql, time = line.split('--')
+ rql = re.sub("(\'\w+': \d*)", '', rql)
+ req = requests.setdefault(rql, [])
+ time.strip()
+ chunks = time.split()
+ cputime = float(chunks[-3])
+ req.append( cputime )
+
+ stat = []
+ for rql, times in requests.items():
+ stat.append( (sum(times), len(times), rql) )
+
+ stat.sort()
+ stat.reverse()
+ for time, occ, rql in stat:
+ print time, occ, rql
+
+if __name__ == '__main__':
+ run()