From 34c7b278e29f7f33b11f11bba1c5d640450a09e9 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Thu, 6 Aug 2020 22:49:50 -0700 Subject: report ES API query time as server-timing header --- fatcat_scholar/search.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'fatcat_scholar/search.py') diff --git a/fatcat_scholar/search.py b/fatcat_scholar/search.py index 1e0e705..891abff 100644 --- a/fatcat_scholar/search.py +++ b/fatcat_scholar/search.py @@ -83,6 +83,7 @@ class FulltextHits(BaseModel): limit: int deep_page_limit: int query_time_ms: int + query_wall_time_ms: int results: List[Any] @@ -248,6 +249,7 @@ def do_fulltext_search( search = search.params(track_total_hits=True) search = search[offset : (offset + limit)] + query_start = datetime.datetime.now() try: resp = search.execute() except elasticsearch.exceptions.RequestError as e: @@ -261,6 +263,7 @@ def do_fulltext_search( # all other errors print("elasticsearch non-200 status code: {}".format(e.info), file=sys.stderr) raise IOError(str(e.info)) + query_delta = datetime.datetime.now() - query_start # convert from objects to python dicts results = [] @@ -315,5 +318,6 @@ def do_fulltext_search( limit=limit, deep_page_limit=deep_page_limit, query_time_ms=int(resp.took), + query_wall_time_ms=int(query_delta.total_seconds() * 1000), results=results, ) -- cgit v1.2.3