From 3c37cf4e8d8221fb37b780e06cbe019e418d7f69 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Sat, 27 Jan 2024 11:41:57 +0000 Subject: [PATCH] Stats: request count is a percentage --- searx/metrics/__init__.py | 8 ++++++++ searx/search/__init__.py | 2 ++ 2 files changed, 10 insertions(+) diff --git a/searx/metrics/__init__.py b/searx/metrics/__init__.py index 689aefc64..717b3838d 100644 --- a/searx/metrics/__init__.py +++ b/searx/metrics/__init__.py @@ -92,6 +92,9 @@ def initialize(engine_names=None, enabled=True): histogram_width = 0.1 histogram_size = int(1.5 * max_timeout / histogram_width) + # global + counter_storage.configure('search', 'count', 'sent') + # engines for engine_name in engine_names or engines: # search count @@ -242,6 +245,11 @@ def get_engines_stats(engine_name_list): list_time.append(stats) + # request_count (per engine) is a percentage of the total number of requests + total_request_count = counter('search', 'count', 'sent') + for stats in list_time: + stats['request_count'] = int(round(stats['request_count'] * 100 / total_request_count, 0)) + return { 'time': list_time, 'max_time': math.ceil(max_time_total or 0), diff --git a/searx/search/__init__.py b/searx/search/__init__.py index fcdc1f72f..b7d3502f8 100644 --- a/searx/search/__init__.py +++ b/searx/search/__init__.py @@ -89,6 +89,8 @@ class Search: # max of all selected engine timeout default_timeout = 0 + counter_inc('search', 'count', 'sent') + # start search-request for all selected engines for engineref in self.search_query.engineref_list: processor = PROCESSORS[engineref.name]