X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=a1%2F__init__.py;h=f7155a0bc67e529b57bf0704543609089406c58a;hb=f0ac3fb27a3bda65076f790def3284065c95b098;hp=62122896438f3503a50a3bcef14d2f7287c19118;hpb=5ad8f03e1fc7683bb59da31f59edc2f6c0b2372b;p=ric-plt%2Fa1.git diff --git a/a1/__init__.py b/a1/__init__.py index 6212289..f7155a0 100644 --- a/a1/__init__.py +++ b/a1/__init__.py @@ -14,23 +14,23 @@ # See the License for the specific language governing permissions and # limitations under the License. # ================================================================================== -import logging +""" +contains the app; broken out here for ease of unit testing +""" import connexion +from prometheus_client import CollectorRegistry, generate_latest, multiprocess -def get_module_logger(mod_name): - """ - To use this, do logger = get_module_logger(__name__) - """ - logger = logging.getLogger(mod_name) - handler = logging.StreamHandler() - formatter = logging.Formatter( - '%(asctime)s [%(name)-12s] %(levelname)-8s %(message)s') - handler.setFormatter(formatter) - logger.addHandler(handler) - logger.setLevel(logging.DEBUG) - return logger +app = connexion.App(__name__, specification_dir=".") +app.add_api("openapi.yaml", arguments={"title": "My Title"}) -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)