##// END OF EJS Templates
Changed OrderedDict implementation to pypy odict, in general it's the fastest and most reliable solution. Added OrderedTuple from python foundation.
Changed OrderedDict implementation to pypy odict, in general it's the fastest and most reliable solution. Added OrderedTuple from python foundation.

File last commit:

r1307:c1516b35 beta
r1337:37625d30 beta
Show More
timerproxy.py
30 lines | 847 B | text/x-python | PythonLexer
from sqlalchemy.interfaces import ConnectionProxy
import time
import logging
log = logging.getLogger('timerproxy')
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = xrange(30, 38)
def color_sql(sql):
COLOR_SEQ = "\033[1;%dm"
COLOR_SQL = YELLOW
normal = '\x1b[0m'
return COLOR_SEQ % COLOR_SQL + sql + normal
class TimerProxy(ConnectionProxy):
def __init__(self):
super(TimerProxy, self).__init__()
def cursor_execute(self, execute, cursor, statement, parameters,
context, executemany):
now = time.time()
try:
log.info(color_sql(">>>>> STARTING QUERY >>>>>"))
return execute(cursor, statement, parameters, context)
finally:
total = time.time() - now
log.info(color_sql("<<<<< TOTAL TIME: %f <<<<<" % total))