Files
@ 2feb58495f34
Branch filter:
Location: kallithea/rhodecode/lib/timerproxy.py - annotation
2feb58495f34
856 B
text/x-python
locking API returns objects instead of string messages.
- it's now possible to easily parse the output of lock functions
- it's now possible to easily parse the output of lock functions
1e757ac98988 1e757ac98988 1fb97030b9b7 1fb97030b9b7 1fb97030b9b7 1e757ac98988 1e757ac98988 c1516b35f91d 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1f47adeb67c2 1e757ac98988 c1516b35f91d 1e757ac98988 b9ea10d3e419 1e757ac98988 1e757ac98988 b9ea10d3e419 b9ea10d3e419 b9ea10d3e419 b9ea10d3e419 1e757ac98988 1e757ac98988 1fb97030b9b7 1e757ac98988 1e757ac98988 1e757ac98988 1fb97030b9b7 | 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 ''.join([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))
|