def main(cmd): seen = {} printed = 0 for queries in queryutils.get_queries(limit=800*BYTES_IN_MB): for query in queries: if not query.text in seen: stages = queryutils.break_into_stages(query) cmd_invocations = queryutils.filter_stages_by(cmd, stages) for inst in cmd_invocations: if not inst in seen: print inst printed += 1 seen[inst] = 1 seen[query.text] = 1 if printed > 500: break
def main(): done = 0 seen = defaultdict(int) for queries in queryutils.get_queries(limit=800*BYTES_IN_MB): for query in queries: template = queryutils.extract_template(query) if template is None: continue s = template.str_tree() seen[s] += 1 done += 1 if done % 100 == 0: sys.stderr.write(str(done) + " done\n") sys.stderr.flush() print "Number of templates: ", len(seen.keys()) templates = sorted(seen.items(), key=lambda x: x[1], reverse=True) for (template, count) in templates: print "Template: \n", template print "Count: ", count print