diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-12-26 22:44:46 +0100 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2022-01-05 19:03:04 +0100 |
| commit | 2134703b4bb9847d0efeac3b28ceefb7d1f26271 (patch) | |
| tree | 054d617ef416a552749cf1cf7761d45f12f348b3 /searx/metrics/__init__.py | |
| parent | a7199bc08552fbd3a8cf8b257aeded5b26591afb (diff) | |
[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.
Diffstat (limited to 'searx/metrics/__init__.py')
| -rw-r--r-- | searx/metrics/__init__.py | 12 |
1 files changed, 8 insertions, 4 deletions
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 |