From 346fe95cecd1f9da75b0f94447d48867680e24bb Mon Sep 17 00:00:00 2001 From: Victor Samun Date: Fri, 26 Sep 2025 00:32:04 +0500 Subject: [PATCH] Support prometheus multiprocess collector --- flower/views/monitor.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/flower/views/monitor.py b/flower/views/monitor.py index 180f0d7ca..f2724ad15 100644 --- a/flower/views/monitor.py +++ b/flower/views/monitor.py @@ -1,11 +1,22 @@ -import prometheus_client +import os + +import prometheus_client.multiprocess from ..views import BaseHandler class Metrics(BaseHandler): + def _get_registry(self): + if not ("PROMETHEUS_MULTIPROC_DIR" in os.environ + or "prometheus_multiproc_dir" in os.environ): + return prometheus_client.REGISTRY + + registry = prometheus_client.CollectorRegistry() + prometheus_client.multiprocess.MultiProcessCollector(registry) + return registry + async def get(self): - self.write(prometheus_client.generate_latest()) + self.write(prometheus_client.generate_latest(self._get_registry())) self.set_header("Content-Type", "text/plain")