diff --git a/src/pcapi/scripts/benchmark_search.py b/src/pcapi/scripts/benchmark_search.py index 19946761ff..5feede8924 100644 --- a/src/pcapi/scripts/benchmark_search.py +++ b/src/pcapi/scripts/benchmark_search.py @@ -148,6 +148,7 @@ def search(self, description, criteria): result["objectID"] = human_ids.dehumanize(result["objectID"]) return ResultSet( elapsed=elapsed, + query=filters, # searched text is missing but we don't need it for Algolia results=[ Result( id=int(result["objectID"]), @@ -256,6 +257,7 @@ def search(self, description, criteria): results = out["results"] return ResultSet( elapsed=response.elapsed.total_seconds() if response else 0, + query=query, results=[ Result( id=int(result["id"]["raw"]), @@ -283,8 +285,13 @@ def url(self): @dataclasses.dataclass class ResultSet: elapsed: float + query: dict results: [Result] + @property + def pretty_printed_query(self): + return pprint.pformat(self.query) + @dataclasses.dataclass class Case: @@ -323,7 +330,10 @@ def default(self, obj): "value": {"id": obj.id, "score": obj.score, "name": obj.name, "full": obj.full}, } if isinstance(obj, ResultSet): - return {"__type__": "ResultSet", "value": {"elapsed": obj.elapsed, "results": obj.results}} + return { + "__type__": "ResultSet", + "value": {"elapsed": obj.elapsed, "query": obj.query, "results": obj.results}, + } if isinstance(obj, datetime.datetime): return {"__type__": "datetime.datetime", "value": obj.isoformat()} return json.JSONEncoder.default(self, obj) @@ -489,6 +499,10 @@ def main():
Temps de réponse : {{ "%.3f"|format(result_set.elapsed) }}s +
+ Requête +
{{ result_set.pretty_printed_query }}
+
    {% for result in result_set.results %}