##// END OF EJS Templates
version bump
version bump

File last commit:

r494:b4d9680c celery
r513:2fa16ec5 rhodecode-0.0.0.8.4 default
Show More
timerproxy.py
59 lines | 1.9 KiB | text/x-python | PythonLexer
Marcin Kuzminski
Added sqlalchemy support...
r49 from sqlalchemy.interfaces import ConnectionProxy
import time
timeproxy logging memory leak fix.
r492 from sqlalchemy import log
Added colored formatter to project, and configs
r153 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
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 def one_space_trim(s):
if s.find(" ") == -1:
return s
else:
s = s.replace(' ', ' ')
return one_space_trim(s)
Added colored formatter to project, and configs
r153 def format_sql(sql):
sql = color_sql(sql)
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 sql = sql.replace('\n', '')
sql = one_space_trim(sql)
sql = sql\
some code fixes templates+helpers new rfc date without tz, added timerproxy formatting
r494 .replace(',', ',\n\t')\
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 .replace('SELECT', '\n\tSELECT \n\t')\
timerprox sqlformatting update for update and delete keywords
r236 .replace('UPDATE', '\n\tUPDATE \n\t')\
.replace('DELETE', '\n\tDELETE \n\t')\
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 .replace('FROM', '\n\tFROM')\
.replace('ORDER BY', '\n\tORDER BY')\
.replace('LIMIT', '\n\tLIMIT')\
.replace('WHERE', '\n\tWHERE')\
.replace('AND', '\n\tAND')\
.replace('LEFT', '\n\tLEFT')\
.replace('INNER', '\n\tINNER')\
.replace('INSERT', '\n\tINSERT')\
.replace('DELETE', '\n\tDELETE')
Added colored formatter to project, and configs
r153 return sql
Marcin Kuzminski
Added sqlalchemy support...
r49
class TimerProxy(ConnectionProxy):
timeproxy logging memory leak fix.
r492
def __init__(self):
super(TimerProxy, self).__init__()
self.logging_name = 'timerProxy'
self.log = log.instance_logger(self, True)
Marcin Kuzminski
Added sqlalchemy support...
r49 def cursor_execute(self, execute, cursor, statement, parameters, context, executemany):
timeproxy logging memory leak fix.
r492
Marcin Kuzminski
Added sqlalchemy support...
r49 now = time.time()
try:
timeproxy logging memory leak fix.
r492 self.log.info(">>>>> STARTING QUERY >>>>>")
Marcin Kuzminski
Added sqlalchemy support...
r49 return execute(cursor, statement, parameters, context)
finally:
total = time.time() - now
logging proxy update
r90 try:
timeproxy logging memory leak fix.
r492 self.log.info(format_sql("Query: %s" % statement % parameters))
logging proxy update
r90 except TypeError:
timeproxy logging memory leak fix.
r492 self.log.info(format_sql("Query: %s %s" % (statement, parameters)))
self.log.info("<<<<< TOTAL TIME: %f <<<<<" % total)