dorm.contrib.prometheus¶
Exporter de exposición text-format de Prometheus solo-stdlib — sin
dependencia de prometheus_client. Engancha post_query para emitir:
| Métrica | Tipo | Labels |
|---|---|---|
dorm_queries_total |
counter | vendor, outcome |
dorm_query_duration_seconds |
histogram | vendor |
dorm_pool_size |
gauge | alias |
dorm_pool_in_use |
gauge | alias |
dorm_cache_hits_total |
counter | alias |
dorm_cache_misses_total |
counter | alias |
Quick start (FastAPI / cualquier ASGI)¶
from fastapi import FastAPI
from fastapi.responses import PlainTextResponse
from dorm.contrib.prometheus import install, metrics_response
app = FastAPI()
@app.on_event("startup")
def startup():
install() # conecta contadores / histograms a las señales dorm
@app.get("/metrics")
def metrics():
return PlainTextResponse(
metrics_response(),
media_type="text/plain; version=0.0.4",
)
API¶
Buckets del histograma¶
Layout fijo (1 ms → 5 s, doblando):
0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0.
Apps que necesiten buckets más ricos / configurables deberían
pasar a prometheus_client y traducir desde las mismas señales dorm.