aboutsummaryrefslogtreecommitdiffstats
path: root/fatcat_scholar/search.py
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@archive.org>2020-08-06 22:49:50 -0700
committerBryan Newbold <bnewbold@archive.org>2020-08-06 22:49:50 -0700
commit34c7b278e29f7f33b11f11bba1c5d640450a09e9 (patch)
tree586c6013d1b5a286c081dde84cb711511c03fd57 /fatcat_scholar/search.py
parent7fed7d4526305b31c623407dc1cd3f99877ea697 (diff)
downloadfatcat-scholar-34c7b278e29f7f33b11f11bba1c5d640450a09e9.tar.gz
fatcat-scholar-34c7b278e29f7f33b11f11bba1c5d640450a09e9.zip
report ES API query time as server-timing header
Diffstat (limited to 'fatcat_scholar/search.py')
-rw-r--r--fatcat_scholar/search.py4
1 files changed, 4 insertions, 0 deletions
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,
)