From 9298e0c686e3c73442dcb6ca1c9526538269e525 Mon Sep 17 00:00:00 2001 From: Mathias Date: Fri, 12 Jun 2026 08:50:36 +0200 Subject: [PATCH] docs(homelab): TAPIR_METRICS_ADDR + key metric series (ADR-030, #15) --- docs/homelab-integration.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/homelab-integration.md b/docs/homelab-integration.md index af39e33..1b805a6 100644 --- a/docs/homelab-integration.md +++ b/docs/homelab-integration.md @@ -227,6 +227,12 @@ knobs plus one load-bearing deployment constraint: - `TAPIR_USAGE_GATE_START` — `YYYY-MM-DD`, default **`2026-06-11`** (the morning the pilot was unblocked and summaries started flowing). `tapir report` counts return-usage (distinct active weeks, ADR-016) only from this date, so pre-launch testing and the blocked period are excluded. +- `TAPIR_METRICS_ADDR` — listen address for the Prometheus `/metrics` endpoint (ADR-030). + **Default `:9090`** — a SEPARATE port from `TAPIR_HTTP_ADDR` so metrics are never on the public + app; scraped in-cluster only (PodMonitor). Empty disables the metrics server. Key series: + `tapir_summarize_duration_seconds{model,outcome,fallback}`, `tapir_caption_fetch_duration_seconds{outcome}`, + `tapir_chat_duration_seconds{model}`, `tapir_llm_tokens_total{model,kind}`, + `tapir_http_request_duration_seconds{method,route}`, `tapir_logins_total`. - `TAPIR_FETCH_RATE` — Go duration, default `2s`. The **process-wide per-egress-IP caption-fetch rate gate** (ADR-014 item 2). Every caption fetch — scheduler runners *and* the web "Summarize" click-path — serialises through this one limiter so the pod cannot collectively trip 429s. `0`