diff --git a/docs/scheduler/observability.md b/docs/scheduler/observability.md index 0ce60ae5..9e63f669 100644 --- a/docs/scheduler/observability.md +++ b/docs/scheduler/observability.md @@ -1,8 +1,9 @@ # Observability (OpenTelemetry) -hyperhive has built-in support for exporting per-agent Claude Code statistics — -token usage, cost, tool call counts — to any OTLP-compatible collector via -Claude Code's built-in OpenTelemetry integration. +hyperhive has built-in support for exporting each agent container's telemetry to +any OTLP-compatible collector: Claude Code statistics — token usage, cost, tool +call counts — via Claude Code's built-in OpenTelemetry integration, and the +container's journal, forwarded by a collector running inside it. This is a **hive-wide** setting: one switch in the host NixOS config enables it for every agent container simultaneously. No per-agent opt-in or opt-out exists. @@ -67,6 +68,14 @@ that.** Treat it as a convenience for grouping dashboards, never as evidence of which container produced a sample: any agent that can reach this hive's collector can label its data as any other agent. +**Logs ride the same hop, and a journal carries more than a counter does.** Each +agent container forwards its own journal through this port — every unit in it at +`info` and above, not an allowlist. That's the harness, the MCP daemons and +whatever a tool call spawned, so command lines and error text now leave the +container where before only counts did. The trust boundary is unchanged (same +destination, same credential, and an agent could already send arbitrary OTLP); +what changes is how much detail leaves by default. + Worth spelling out, because two different hops are in play and only one of them is getting a credential: