mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
feat: Add first WIP for engine load time
This commit is contained in:
parent
3535377c9a
commit
d4dfec3f3e
3 changed files with 26 additions and 4 deletions
|
@ -441,5 +441,8 @@ class ResultContainer:
|
|||
def add_timing(self, engine_name: str, engine_time: float, page_load_time: float):
|
||||
self.timings.append(Timing(engine_name, total=engine_time, load=page_load_time))
|
||||
|
||||
def get_timings(self):
|
||||
def get_timings(self) -> List[Timing]:
|
||||
return self.timings
|
||||
|
||||
def get_longest_loading_time(self) -> Timing:
|
||||
return max(self.timings, key=itemgetter(1))
|
||||
|
|
|
@ -35,7 +35,22 @@
|
|||
<div id="sidebar">
|
||||
|
||||
{%- if number_of_results != '0' -%}
|
||||
<p id="result_count"><small>{{ _('Number of results') }}: {{ number_of_results }}</small></p>
|
||||
<p id="result_count">
|
||||
<small>{{ _('Number of results') }}: {{ number_of_results }}</small>
|
||||
</p>
|
||||
<details>
|
||||
<summary>
|
||||
<small>Longest loading time: {{ longest_loading_time.load }} from {{ longest_loading_time.engine }}</small>
|
||||
</summary>
|
||||
<div>
|
||||
<ul>
|
||||
{% for timing in loading_times %}
|
||||
<li>
|
||||
<small>{{ timing.load }} from {{ timing.engine }}</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</details>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if infoboxes -%}
|
||||
|
|
|
@ -673,7 +673,9 @@ def search():
|
|||
|
||||
# 2. add Server-Timing header for measuring performance characteristics of
|
||||
# web applications
|
||||
request.timings = result_container.get_timings() # pylint: disable=assigning-non-slot
|
||||
timings = result_container.get_timings()
|
||||
request.timings = timings
|
||||
longest_loading_time = result_container.get_longest_loading_time()
|
||||
|
||||
# 3. formats without a template
|
||||
|
||||
|
@ -791,7 +793,9 @@ def search():
|
|||
settings['search']['languages'],
|
||||
fallback=request.preferences.get_value("language")
|
||||
),
|
||||
timeout_limit = request.form.get('timeout_limit', None)
|
||||
timeout_limit = request.form.get('timeout_limit', None),
|
||||
longest_loading_time = longest_loading_time,
|
||||
loading_times = timings,
|
||||
# fmt: on
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue