Вместо использования встроенного Gauge , вы можете использовать собственный сборщик .
Обратите внимание, что это не спасет вас в Prometheus:
- он будет создавать новые метрики каждый раз, когда Prometheus очищает ваше приложение.
- предыдущие метрики c (s) по-прежнему будут отображаться в Prometheus, пока они не будут помечены как устаревшие (~ 5 мин).
Если использование настраиваемого сборщика не является вариантом, потому что вам нужно показать некоторый код, используя глобальные метрики. Вы можете внедрить функцию reset()
, аналогичную функции remove () , используя связанный метод.
import CollectorRegistry from prometheus_client.registry
def _resetCollector(self):
with self._lock:
# reset whatever name / value you want
pass
CollectorRegistry.reset = _resetCollector
# wherever you want to reset it
import REGISTRY from prometheus_client.registry
REGISTRY.reset()
Конечно, она сломается при изменении реализации CollectorRegistry.