Files @ b19b1723ff10
Branch filter:

Location: kallithea/rhodecode/lib/timerproxy.py

Mads Kiilerich
pullrequest: pullrequest from changelog view

It seems like it didn't work ... perhaps because I broke it. But now we clean
it up and make it work:

Use rev_end as the revision to merge. We don't know where to merge ... but
start_rev cannot be used for that.

This might to some extent have been working before ... but we prefer to clean
it up and start over again when the normal merge workflow is fully working.
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))