Files
@ 4c71667160e5
Branch filter:
Location: kallithea/rhodecode/lib/timerproxy.py - annotation
4c71667160e5
856 B
text/x-python
use os.environ as a fallback for getting special info from hooks, this will allow
calling RhodeCode hooks from outside the system eg. via SSH
- also verify repo if it's a correct VCS throw 404 error otherwise
calling RhodeCode hooks from outside the system eg. via SSH
- also verify repo if it's a correct VCS throw 404 error otherwise
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))
|