Commit Graph
25 Commits
Author SHA1 Message Date
bzuccaro 973d5686fc feat: add ignore-certificate-errors option for self-signed TLS 2026-08-28 09:58:58 -06:00
bzuccaro f98043c21b fix: self-heal in-flight counts by pruning stale request ids
On a long-lived SSE connection a missed remove leaves a stale request id in
the tracker forever; llama-swap only sends a fresh snapshot on connect, so
counts drifted up and stayed stuck. The tracker now timestamps each request
id (upserts refresh it) and prunes ids not updated within 120s, on every
inflight event and on a 30s runtime interval. Removes also accept numeric
ids defensively.
2026-08-15 14:26:28 -06:00
c4ch3c4d3 21d2e45f9e fix: refcount StatsCache keys, keep registrations across config change, and tidy GPU/usage render paths 2026-08-14 13:04:56 -06:00
c4ch3c4d3 74d0c10523 feat: add combineSeries for GPU combination aggregation 2026-08-14 12:59:41 -06:00
c4ch3c4d3 e585992087 feat: add usage-stats display mode to In-Flight Monitor action 2026-08-14 12:56:45 -06:00
c4ch3c4d3 4c4ec0e8fd feat: add usage stats key renderer 2026-08-14 12:55:22 -06:00
c4ch3c4d3 f1a5f89e0f feat: expose usage stats via shared runtime StatsCache 2026-08-14 12:54:34 -06:00
c4ch3c4d3 4727bdcf46 feat: decode activity SSE events and expose tracker total 2026-08-14 12:53:40 -06:00
c4ch3c4d3 a03278645d feat: add StatsCache for shared per-model usage polling 2026-08-14 12:52:40 -06:00
c4ch3c4d3 37f7268509 feat: add usage stats parsing and fetching from /api/metrics/stats 2026-08-14 12:47:53 -06:00
bzuccaro ca478ee124 style: use a constant dark background for the In-Flight Monitor key 2026-08-14 12:11:07 -06:00
bzuccaro ca37a690ca fix: render in-flight count as static white (remove blink pulse) 2026-08-14 12:09:57 -06:00
bzuccaro 07fea457f1 fix: track in-flight requests by id; handle llama-swap upsert/remove events
llama-swap emits inflight events with operation 'upsert' (a single request,
re-emitted as elapsed_ms updates) and id-only 'remove' events. The decoder
ignored 'upsert' and dropped every id-only remove, so the tracker only ever
reflected the connect-time snapshot and the count got stuck (e.g. at '1').

The tracker now keys in-flight state by request id (snapshot/add replace by
id; remove deletes by id), and the decoder normalizes 'upsert' to 'add' and
extracts the id from bare removes.
2026-08-14 12:08:02 -06:00
bzuccaro a805195c49 Show in-flight request count + activity spark on In-Flight Monitor key
The key now renders the live request count (large) when a model is active,
plus a 1Hz count-trend sparkline of the last 60s in a bottom strip. IDLE/
LOADING/OFF/OFFLINE states unchanged. History lives in per-key state with
a sampler cleared on disappear.
2026-08-14 11:20:51 -06:00
bzuccaro 733bc2b4f9 fix: support multiple keys per action and harden runtime/parsing 2026-08-14 10:59:25 -06:00
bzuccaro f45b29fcaf fix: satisfy JsonObject constraints for settings types 2026-08-14 10:47:38 -06:00
bzuccaro 8818dac640 feat: add shared runtime and PI datasource handlers 2026-08-14 10:46:42 -06:00
bzuccaro 55e260c31b feat: add SVG key renderers for inflight and GPU graph actions 2026-08-14 10:44:06 -06:00
bzuccaro 79917cd054 feat: add SSE event feed for llama-swap api/events 2026-08-14 10:43:03 -06:00
bzuccaro b54eeeadc4 feat: add SSE parser and in-flight request tracker 2026-08-14 10:42:17 -06:00
bzuccaro c6d50f6daf fix: import LlamaSwapConfig from util in metrics poller 2026-08-14 10:41:28 -06:00
bzuccaro 7dba134863 feat: add metrics poller with ring buffers and GPU aggregates 2026-08-14 10:41:04 -06:00
bzuccaro 28cc34dc59 feat: add llama-swap HTTP client 2026-08-14 10:40:09 -06:00
bzuccaro 52b56dcd58 feat: add Prometheus metrics parser for llama-swap GPU series 2026-08-14 10:39:26 -06:00
bzuccaro 953be547f0 feat: add shared util helpers and config 2026-08-14 10:38:42 -06:00