From ea49b001becd7c940f721732d8c78f040880100d Mon Sep 17 00:00:00 2001 From: Julius Unverfehrt Date: Thu, 17 Mar 2022 14:06:48 +0100 Subject: [PATCH] warning about missing prometheus endpoint happens only once --- pyinfra/flask.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyinfra/flask.py b/pyinfra/flask.py index 35e3d3a..8196c07 100644 --- a/pyinfra/flask.py +++ b/pyinfra/flask.py @@ -6,7 +6,6 @@ from waitress import serve from pyinfra.config import CONFIG - logger = logging.getLogger(__file__) logger.setLevel(CONFIG.service.logging_level) @@ -31,6 +30,7 @@ def run_probing_webserver(app, host=None, port=None, mode=None): def set_up_probing_webserver(): # TODO: implement meaningful checks app = Flask(__name__) + informed_about_missing_prometheus_endpoint = False @app.route("/ready", methods=["GET"]) def ready(): @@ -46,12 +46,15 @@ def set_up_probing_webserver(): @app.route("/prometheus", methods=["GET"]) def get_metrics_from_analysis_endpoint(): + nonlocal informed_about_missing_prometheus_endpoint try: resp = requests.get(f"{CONFIG.rabbitmq.callback.analysis_endpoint}/prometheus") resp.raise_for_status() return resp.text except Exception as err: - logger.warning(f"Got no metrics from analysis prometheus endpoint: {err}") + if not informed_about_missing_prometheus_endpoint: + logger.warning(f"Got no metrics from analysis prometheus endpoint: {err}") + informed_about_missing_prometheus_endpoint = True return resp return app