Files
@ 7c84b383824f
Branch filter:
Location: kallithea/rhodecode/lib/timerproxy.py - annotation
7c84b383824f
856 B
text/x-python
Don't create one big transaction when doing cache-keys cleanup.
Should improve locking issues with db transactions when purging large
ammount of keys
Should improve locking issues with db transactions when purging large
ammount of keys
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))
|