Prometheus integration for Starlette.
- Python 3.8+
- Starlette 0.12+
$ pip install starlette-prometheus
A complete example that exposes prometheus metrics endpoint under /metrics/
path.
from starlette.applications import Starlette
from starlette_prometheus import metrics, PrometheusMiddleware
app = Starlette()
app.add_middleware(PrometheusMiddleware)
app.add_route("/metrics/", metrics)
Metrics for paths that do not match any Starlette route can be filtered by passing
filter_unhandled_paths=True
argument to add_middleware
method. Note that not
turning on this filtering can lead to unbounded memory use when lots of different
routes are called.
This project is absolutely open to contributions so if you have a nice idea, create an issue to let the community discuss it.