X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=a1%2F__init__.py;fp=a1%2F__init__.py;h=f7155a0bc67e529b57bf0704543609089406c58a;hb=c91a4a172446229f4b11e76547ffdf454528b30d;hp=76a9dac30a439568b92b30a932e7d752bea8a0ed;hpb=39c9ab62125be03194b4c433b4f9fa4617d0a65d;p=ric-plt%2Fa1.git diff --git a/a1/__init__.py b/a1/__init__.py index 76a9dac..f7155a0 100644 --- a/a1/__init__.py +++ b/a1/__init__.py @@ -18,7 +18,19 @@ contains the app; broken out here for ease of unit testing """ import connexion +from prometheus_client import CollectorRegistry, generate_latest, multiprocess app = connexion.App(__name__, specification_dir=".") app.add_api("openapi.yaml", arguments={"title": "My Title"}) + + +# python decorators feel like black magic to me +@app.app.route('/a1-p/metrics', methods=['GET']) +def metrics(): # pylint: disable=unused-variable + # /metrics API shouldn't be visible in the API documentation, + # hence it's added here in the create_app step + # requires environment variable prometheus_multiproc_dir + registry = CollectorRegistry() + multiprocess.MultiProcessCollector(registry) + return generate_latest(registry)