Prometheus metrics exporter for Starlette applications.
Project description
starlette_exporter
Prometheus exporter for Starlette and FastAPI.
The middleware collects basic metrics:
- Counter: starlette_requests_total
- Histogram: starlette_request_duration_seconds
Metrics include labels for the HTTP method, the path, and the response status code.
starlette_requests_total{method="GET",path="/",status_code="200"} 1.0
starlette_request_duration_seconds_bucket{le="0.01",method="GET",path="/",status_code="200"} 1.0
Use the HTTP handler handle_metrics
at path /metrics
to expose a metrics endpoint to Prometheus.
Usage
Starlette
from starlette.applications import Starlette
from starlette_exporter import PrometheusMiddleware, handle_metrics
app = Starlette()
app.add_middleware(PrometheusMiddleware)
app.add_route("/metrics", handle_metrics)
...
FastAPI
from fastapi import FastAPI
from starlette_exporter import PrometheusMiddleware, handle_metrics
app = FastAPI()
app.add_middleware(PrometheusMiddleware)
app.add_route("/metrics", handle_metrics)
...
Developing
git clone https://github.com/stephenhillier/starlette_exporter
cd starlette_exporter
pytest tests
License
Code released under the Apache License, Version 2.0.
Dependencies
https://github.com/prometheus/client_python
https://github.com/encode/starlette
Credits
Starlette - https://github.com/encode/starlette
FastAPI - https://github.com/tiangolo/fastapi
Flask exporter - https://github.com/rycus86/prometheus_flask_exporter
Alternate Starlette exporter - https://github.com/perdy/starlette-prometheus
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for starlette_exporter-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07c1f82f68071e8cc22b0ef761efb296f6c9f61a43dd727667422a7096d9b58b |
|
MD5 | fc78f85630755e47d159612befd64dda |
|
BLAKE2b-256 | d214796ed199a385456fd512bb51f6db62daf8c5bd681103bb9e78f362651536 |