view mqtt_metrics.py @ 0:0b5b4ede1bf5

start with a mockup of the debugging display
author drewp@bigasterisk.com
date Fri, 09 Aug 2024 15:09:22 -0700
parents
children 3d7f2dc9beec
line wrap: on
line source

import logging

from starlette.applications import Starlette
from starlette.requests import Request
from starlette.responses import JSONResponse
from starlette.routing import Route
from starlette_exporter import PrometheusMiddleware, handle_metrics

logging.basicConfig(level=logging.INFO)
log = logging.getLogger()


def hello(request: Request) -> JSONResponse:
    return JSONResponse({"demo": "hello"})


def main():
    app = Starlette(debug=True, routes=[
        Route('/api/hello', hello),
    ])

    app.add_middleware(PrometheusMiddleware, app_name='mqtt_metrics')
    app.add_route("/metrics", handle_metrics)

    return app


app = main()