# USAGE: # def test_foo: # stmts = [] # def catch_queries(conn, cursor, statement, a, b, c): # stmts.append(statement) # assert most_frequent_queries(...) == ?? def most_frequent_queries(queries, query_count, query_type, query_print_length): select_sql_statement_groupings = {} for statement in queries: if statement.startswith(query_type): select_sql_statement_groupings.setdefault(statement, 0) select_sql_statement_groupings[statement] += 1 return list(map(lambda x: (x[0][:query_print_length], x[1]), list(OrderedDict( sorted(select_sql_statement_groupings.items(), key=lambda x: x[1], reverse=True)).items())[:query_count]))