From 019b93da78282e48e21e8be14527b5027d69ddb5 Mon Sep 17 00:00:00 2001 From: Viktor Adam Date: Tue, 20 Mar 2018 21:42:39 +0000 Subject: [PATCH] Avoid registering Flask endpoint in forked debug mode, Fixes #4 --- prometheus_flask_exporter/__init__.py | 9 ++++++++- setup.py | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/prometheus_flask_exporter/__init__.py b/prometheus_flask_exporter/__init__.py index ff43187..5d4a584 100644 --- a/prometheus_flask_exporter/__init__.py +++ b/prometheus_flask_exporter/__init__.py @@ -5,6 +5,7 @@ from flask import request, make_response from flask import Flask, Response +from werkzeug.serving import is_running_from_reloader from werkzeug.exceptions import HTTPException from prometheus_client import Counter, Histogram, Gauge, Summary from prometheus_client import generate_latest, CONTENT_TYPE_LATEST @@ -99,6 +100,9 @@ def register_endpoint(self, path, app=None): (by default it is the application registered with this class) """ + if is_running_from_reloader(): + return + if app is None: app = self.app @@ -124,6 +128,9 @@ def start_http_server(self, port, host='0.0.0.0', endpoint='/metrics'): (default: `/metrics`) """ + if is_running_from_reloader(): + return + app = Flask('prometheus-flask-exporter-%d' % port) self.register_endpoint(endpoint, app) @@ -423,4 +430,4 @@ def info(self, name, description, labelnames=None, labelvalues=None, **labels): return gauge -__version__ = '0.2.0' +__version__ = '0.2.1' diff --git a/setup.py b/setup.py index 3a0215d..1d30bf1 100644 --- a/setup.py +++ b/setup.py @@ -8,14 +8,14 @@ setup( name='prometheus_flask_exporter', packages=['prometheus_flask_exporter'], - version='0.2.0', + version='0.2.1', description='Prometheus metrics exporter for Flask', long_description=long_description, license='MIT', author='Viktor Adam', author_email='rycus86@gmail.com', url='https://github.com/rycus86/prometheus_flask_exporter', - download_url='https://github.com/rycus86/prometheus_flask_exporter/archive/0.2.0.tar.gz', + download_url='https://github.com/rycus86/prometheus_flask_exporter/archive/0.2.1.tar.gz', keywords=['prometheus', 'flask', 'monitoring', 'exporter'], classifiers=[ 'Development Status :: 4 - Beta',