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/models.py | |
parent | a7199bc08552fbd3a8cf8b257aeded5b26591afb (diff) | |
download | searxng-2134703b4bb9847d0efeac3b28ceefb7d1f26271.tar.gz searxng-2134703b4bb9847d0efeac3b28ceefb7d1f26271.zip |
[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/models.py')
-rw-r--r-- | searx/metrics/models.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/searx/metrics/models.py b/searx/metrics/models.py index d42569b7f..900a7fa93 100644 --- a/searx/metrics/models.py +++ b/searx/metrics/models.py @@ -102,16 +102,17 @@ class Histogram: class HistogramStorage: - __slots__ = 'measures' + __slots__ = 'measures', 'histogram_class' - def __init__(self): + def __init__(self, histogram_class=Histogram): self.clear() + self.histogram_class = histogram_class def clear(self): self.measures = {} def configure(self, width, size, *args): - measure = Histogram(width, size) + measure = self.histogram_class(width, size) self.measures[args] = measure return measure @@ -154,3 +155,13 @@ class CounterStorage: logger.debug("Counters:") for k in ks: logger.debug("- %-60s %s", '|'.join(k), self.counters[k]) + + +class VoidHistogram(Histogram): + def observe(self, value): + pass + + +class VoidCounterStorage(CounterStorage): + def add(self, value, *args): + pass |