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