From dc790ede36d6961c2bedd2a8cfeb72a496c01d4c Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Fri, 21 Jul 2017 08:13:47 +0000 Subject: [PATCH] Task #11090: log query execution time and numrows results --- .../ResourceAssignmentDatabase/radb.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py index 14f3e7599d3..d799c0f3d86 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py +++ b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py @@ -71,13 +71,16 @@ class RADatabase: def _executeQuery(self, query, qargs=None, fetch=_FETCH_NONE): ''' Execute the query and reconnect upon OperationalError ''' - if self.log_queries: - logger.info('executing query: %s' % self._queryAsSingleLine(query, qargs)) - # Allow for 5 connection retries for i in range(5): try: + start = datetime.utcnow() self.cursor.execute(query, qargs) + if self.log_queries: + elapsed = datetime.utcnow() - start + logger.info('executed query in %s yielding %s rows: %s', elapsed, + self.cursor.rowcount, + self._queryAsSingleLine(query, qargs)) break except (psycopg2.OperationalError, AttributeError) as e: if isinstance(e, psycopg2.OperationalError): -- GitLab