INNER CODE UNIT · Python
handle_metrics
stephenhillier/starlette_exporter · starlette_exporter/__init__.py:27
def handle_metrics(request: Request) -> Response:
"""A handler to expose Prometheus metrics
Example usage:
```
app.add_middleware(PrometheusMiddleware)
app.add_route("/metrics", handle_metrics)
```
"""
registry = REGISTRY
if (
"prometheus_multiproc_dir" in os.environ
or "PROMETHEUS_MULTIPROC_DIR" in os.environ
):
registry = CollectorRegistry()
multiprocess.MultiProcessCollector(registry)
headers = {"Content-Type": CONTENT_TYPE_LATEST}