'name': 'queries', 'description': 'Generates queries for impala / hive' } ] app = FastAPI(title=APP_NAME, version=version, description=description, openapi_tags=tags_metadata, ) # create an instrumentator to expose metrics to prometheus instrumentator = Instrumentator( excluded_handlers=["/metrics"], ) instrumentator.instrument(app) # add routers app.include_router( metrics.router, prefix='/metrics', tags=['prometheus'] ) app.include_router(partition_range.router, tags=['queries']) # Show the docs under / @app.get("/", include_in_schema=False) def root(): return RedirectResponse('/docs')
from . import main # noqa from . import api # noqa from . import view # noqa app.include_router(api.router) app.include_router(view.router) # prometheus from prometheus_fastapi_instrumentator import Instrumentator # noqa expose_url = settings.MONITORING_URL instrumentator = Instrumentator( excluded_handlers=[".*admin.*", expose_url], should_respect_env_var=True, env_var_name="ENABLE_METRICS", ) instrumentator.instrument(app).expose(app, endpoint=expose_url) # utils.metrics.bad_solves_per_user """ @app.on_event("startup") def startup_event(): metrics.load_all_metrics() @app.on_event("shutdown") def shutdown_event(): metrics.save_all_metrics() """