From 2134703b4bb9847d0efeac3b28ceefb7d1f26271 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Sun, 26 Dec 2021 22:44:46 +0100 Subject: [enh] settings.yml: implement general.enable_metrics * allow not to record metrics (response time, etc...) * this commit doesn't change the UI. If the metrics are disabled /stats and /stats/errors will return empty response. in /preferences, the columns response time and reliability will be empty. --- searx/metrics/__init__.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'searx/metrics/__init__.py') diff --git a/searx/metrics/__init__.py b/searx/metrics/__init__.py index 37f0ba121..bc755b96b 100644 --- a/searx/metrics/__init__.py +++ b/searx/metrics/__init__.py @@ -9,7 +9,7 @@ from timeit import default_timer from operator import itemgetter from searx.engines import engines -from .models import HistogramStorage, CounterStorage +from .models import HistogramStorage, CounterStorage, VoidHistogram, VoidCounterStorage from .error_recorder import count_error, count_exception, errors_per_engines __all__ = [ @@ -69,14 +69,18 @@ def counter(*args): return counter_storage.get(*args) -def initialize(engine_names=None): +def initialize(engine_names=None, enabled=True): """ Initialize metrics """ global counter_storage, histogram_storage # pylint: disable=global-statement - counter_storage = CounterStorage() - histogram_storage = HistogramStorage() + if enabled: + counter_storage = CounterStorage() + histogram_storage = HistogramStorage() + else: + counter_storage = VoidCounterStorage() + histogram_storage = HistogramStorage(histogram_class=VoidHistogram) # max_timeout = max of all the engine.timeout max_timeout = 2 -- cgit v1.2.3