import prometheus_client from aiohttp import web from aiohttp.web_request import Request from aiohttp.web_response import Response class MetricsView(web.View): def __init__( self, request: Request, registry: prometheus_client.CollectorRegistry = prometheus_client.REGISTRY, ) -> None: self._request = request self.registry = registry async def get(self) -> Response: response = Response(body=prometheus_client.generate_latest(self.registry)) response.content_type = prometheus_client.CONTENT_TYPE_LATEST return response