feat(telemetry): link agent snapshot collection to CC persistence
This commit is contained in:
7 files changed
+106
-3
No files matched your search
@@ -17,6 +17,9 @@ and reuse it. The helper checks the key again after building: if inputs changed
|
||||
while database reads/grouping were in flight, it discards the result and retries.
|
||||
Build errors are returned, not cached; cancelling a reader releases the lock.
|
||||
The previous view is not served as a fallback after a rebuild error.
|
||||
Retries currently have no fixed limit. Sustained mutations faster than rebuilding
|
||||
can delay the rebuilding reader and readers waiting on its lock; bounding this
|
||||
behavior is tracked as a reliability follow-up.
|
||||
|
||||
Wake uses the same view, but command dispatch still checks the current session;
|
||||
a cached route cannot grant access to a disconnected agent.
|
||||
|
||||
+2
-1
@@ -43,7 +43,7 @@ of remembered identifiers based on observation expiry.
|
||||
- [x] Separate console, OTLP log, and trace filters using per-layer filtering. Explicit signal config overrides `RUST_LOG`, then CLI verbosity supplies defaults. Unconfigured defaults remain info-level; exporter-failure logs stay local. Live validation pending.
|
||||
- [ ] Record hostname-resolution success/failure without exporting hostnames or resolved addresses. Current spans show timing but do not explicitly classify the result.
|
||||
- [ ] Investigate the slow resolver with a reproducible device-side check. Timing isolated the phase, not the cause; do not treat instrumentation as a fix.
|
||||
- [ ] Propagate trace context for periodic snapshots so agent collection and CC persistence can be inspected together. Commands already have this linkage.
|
||||
- [x] Propagate optional W3C trace context for periodic/requested WS snapshots so agent collection and CC persistence can be inspected together. Wire compatibility and context linkage tested; live validation pending.
|
||||
- [ ] Add current-state device gauges: stored rows per agent and grouped fleet devices split known/unknown. Define scope and update lifecycle first; never derive gauges from the last filtered UI query.
|
||||
- [ ] Decide whether snapshots need persistence acknowledgements. The existing sent-device counter does not prove CC storage; any confirmed-storage metric needs an authoritative measurement point.
|
||||
|
||||
@@ -52,6 +52,7 @@ or current fleet size. Metric labels should remain bounded; no per-device labels
|
||||
|
||||
## Validation And Reliability
|
||||
|
||||
- [ ] Bound fleet-cache rebuild retries under sustained mutations; current stale-build rejection can keep a request waiting while inputs continuously change. Do not silently serve stale wake routes as a fallback.
|
||||
- [ ] Reproduce/check Ctrl-C cleanup on the test device: process groups, PTYs, relay tasks, and telemetry shutdown. Leftovers were suspected, not confirmed.
|
||||
- [ ] Exercise collector unavailability and recovery with running agent/CC instances. Verify normal operations continue and telemetry queues remain bounded; outage losses are expected under the current best-effort policy.
|
||||
- [ ] Validate terminal recovery instrumentation live: generation timing/size, transport attach/resume, and backpressure episodes ending in drain or disconnect.
|
||||
|
||||
+5
-1
@@ -96,7 +96,11 @@ existing debug events too; inspect them before enabling it broadly.
|
||||
- `relay_command` on CC propagates W3C context in an optional command field.
|
||||
`execute_command` on the agent adopts it; older messages/agents remain compatible.
|
||||
- `collect_device_snapshot` and `store_device_snapshot` measure collection and
|
||||
persistence separately. Snapshot traces are not yet linked across the wire.
|
||||
persistence as linked spans across the agent WebSocket. The snapshot carries
|
||||
optional W3C context from collection; CC adopts it after authentication checks.
|
||||
Periodic and requested syncs use the same path. Old messages and empty/invalid
|
||||
context remain valid but do not create a cross-process link. Both processes
|
||||
need tracing enabled and suitable filters/sampling to see both sides.
|
||||
- Terminal create/attach/close/resume spans describe lifecycle operations, not
|
||||
output chunks. Trace-linked OTLP logs use the SDK's tracing-context bridge.
|
||||
- Inventory source spans separate neighbor, DHCP lease, and hook-store reads
|
||||
|
||||
Reference in new issue
Block a user