Add timer to LoggingTransaction

This commit is contained in:
Erik Johnston 2014-10-28 10:34:05 +00:00
parent c372929ab6
commit 8e358ef35a

View File

@ -23,6 +23,7 @@ from synapse.util.logutils import log_function
import collections import collections
import copy import copy
import json import json
import time
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -61,9 +62,15 @@ class LoggingTransaction(object):
# TODO(paul): Here would be an excellent place to put some timing # TODO(paul): Here would be an excellent place to put some timing
# measurements, and log (warning?) slow queries. # measurements, and log (warning?) slow queries.
start = time.clock() * 1000
try:
return object.__getattribute__(self, "txn").execute( return object.__getattribute__(self, "txn").execute(
sql, *args, **kwargs sql, *args, **kwargs
) )
finally:
end = time.clock() * 1000
sql_logger.debug("[SQL time] %f", end - start)
class SQLBaseStore(object): class SQLBaseStore(object):