| 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 | |