You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nothing is recorded per service. There are no counters anywhere in the service module, so an operator running a service has no way to answer "is it being used, is it working, and what is it costing".
The design calls for, per service: requests by outcome per channel, sessions created and currently active, queue and turn latency, tokens by harness and model, and rate-limit rejections.
Counters must survive daemon restart, alongside definitions and key-to-session maps. ServiceShared already persists state atomically to data_dir/services/<name>.json and is a per-service singleton for the daemon's lifetime, so it is the natural owner — but note the invariant that it must never be recreated on reload, or counters reset silently.
Surfacing is a second question: the TUI service view and the web UI both currently show definition state only.
Nothing is recorded per service. There are no counters anywhere in the service module, so an operator running a service has no way to answer "is it being used, is it working, and what is it costing".
The design calls for, per service: requests by outcome per channel, sessions created and currently active, queue and turn latency, tokens by harness and model, and rate-limit rejections.
Two notes on sequencing:
ServiceSharedalready persists state atomically todata_dir/services/<name>.jsonand is a per-service singleton for the daemon's lifetime, so it is the natural owner — but note the invariant that it must never be recreated on reload, or counters reset silently.Surfacing is a second question: the TUI service view and the web UI both currently show definition state only.