📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials API Design API Monitoring

API Monitoring

5 min read
Track API latency, error rate, and throughput with Prometheus metrics middleware.

API Monitoring

import time
from prometheus_client import Counter, Histogram

REQUESTS = Counter("api_requests","Requests",[" method","endpoint","status"])
LATENCY  = Histogram("api_latency","Latency",["endpoint"])

@app.middleware("http")
async def metrics(req, call_next):
    start = time.time()
    resp  = await call_next(req)
    LATENCY.labels(endpoint=req.url.path).observe(time.time()-start)
    REQUESTS.labels(
        method=req.method,
        endpoint=req.url.path,
        status=resp.status_code
    ).inc()
    return resp

# Key metrics: p95 latency, error rate, throughput