Used time.monotonic() instead of time.time() where applicable.

time.monotonic() available from Python 3.3:

- Nicely communicates a narrow intent of "get a local system monotonic
  clock time" instead of possible "get a not necessarily accurate Unix
  time stamp because it needs to be communicated to outside of this
  process/machine" when time.time() is used.
  
- Its result isn't affected by the system clock updates.

There are two classes of time.time() uses changed to time.monotonic()
by this change:

- measuring time taken to run some code.

- setting and checking a "close_at" threshold for for persistent db
  connections (django/db/backends/base/base.py).
This commit is contained in:
Przemysław Suliga 2019-05-08 18:34:22 +02:00 committed by Mariusz Felisiak
parent 30dd43884e
commit af5ec222cc
4 changed files with 13 additions and 13 deletions

View file

@ -69,7 +69,7 @@ For a more complete example, a query logger could look like this::
def __call__(self, execute, sql, params, many, context):
current_query = {'sql': sql, 'params': params, 'many': many}
start = time.time()
start = time.monotonic()
try:
result = execute(sql, params, many, context)
except Exception as e:
@ -80,7 +80,7 @@ For a more complete example, a query logger could look like this::
current_query['status'] = 'ok'
return result
finally:
duration = time.time() - start
duration = time.monotonic() - start
current_query['duration'] = duration
self.queries.append(current_query)