kopia lustrzana https://github.com/simonw/datasette
Use time.perf_counter() instead of time.time(), closes #1157
rodzic
dcdfb2c301
commit
810853c5f2
|
|
@ -37,9 +37,9 @@ def trace(type, **kwargs):
|
|||
if tracer is None:
|
||||
yield
|
||||
return
|
||||
start = time.time()
|
||||
start = time.perf_counter()
|
||||
yield
|
||||
end = time.time()
|
||||
end = time.perf_counter()
|
||||
trace_info = {
|
||||
"type": type,
|
||||
"start": start,
|
||||
|
|
@ -74,7 +74,7 @@ class AsgiTracer:
|
|||
if b"_trace=1" not in scope.get("query_string", b"").split(b"&"):
|
||||
await self.app(scope, receive, send)
|
||||
return
|
||||
trace_start = time.time()
|
||||
trace_start = time.perf_counter()
|
||||
traces = []
|
||||
|
||||
accumulated_body = b""
|
||||
|
|
@ -109,7 +109,7 @@ class AsgiTracer:
|
|||
# We have all the body - modify it and send the result
|
||||
# TODO: What to do about Content-Type or other cases?
|
||||
trace_info = {
|
||||
"request_duration_ms": 1000 * (time.time() - trace_start),
|
||||
"request_duration_ms": 1000 * (time.perf_counter() - trace_start),
|
||||
"sum_trace_duration_ms": sum(t["duration_ms"] for t in traces),
|
||||
"num_traces": len(traces),
|
||||
"traces": traces,
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class CustomJSONEncoder(json.JSONEncoder):
|
|||
|
||||
@contextmanager
|
||||
def sqlite_timelimit(conn, ms):
|
||||
deadline = time.time() + (ms / 1000)
|
||||
deadline = time.perf_counter() + (ms / 1000)
|
||||
# n is the number of SQLite virtual machine instructions that will be
|
||||
# executed between each check. It's hard to know what to pick here.
|
||||
# After some experimentation, I've decided to go with 1000 by default and
|
||||
|
|
@ -148,7 +148,7 @@ def sqlite_timelimit(conn, ms):
|
|||
n = 1
|
||||
|
||||
def handler():
|
||||
if time.time() >= deadline:
|
||||
if time.perf_counter() >= deadline:
|
||||
return 1
|
||||
|
||||
conn.set_progress_handler(handler, n)
|
||||
|
|
|
|||
|
|
@ -425,7 +425,7 @@ class DataView(BaseView):
|
|||
kwargs["default_labels"] = True
|
||||
|
||||
extra_template_data = {}
|
||||
start = time.time()
|
||||
start = time.perf_counter()
|
||||
status_code = 200
|
||||
templates = []
|
||||
try:
|
||||
|
|
@ -457,7 +457,7 @@ class DataView(BaseView):
|
|||
except DatasetteError:
|
||||
raise
|
||||
|
||||
end = time.time()
|
||||
end = time.perf_counter()
|
||||
data["query_ms"] = (end - start) * 1000
|
||||
for key in ("source", "source_url", "license", "license_url"):
|
||||
value = self.ds.metadata(key)
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue