Expand description
Privacy-safe daily telemetry aggregation.
Every UTC day keeps cumulative totals. A send carries the full totals of today (and of any closed day with unsent activity) under that day’s bucket. The server replaces per-day rows, so sending several times a day is idempotent: tool usage reaches the server within the day, and a one-day user is counted without having to come back.
Structs§
Enums§
- Send
Trigger - What prompted a send attempt.
Constants§
- DAILY_
SEND_ CAP - Most send attempts per installation and UTC day: a snapshot every half hour of a day in use. The server admits sixty (from Oct 2026; ten before); the rest stays in reserve for retries and clock skew between client and server.
Functions§
- begin_
daily_ send - Hold the cross-process state lease until network, ledger, and acknowledgement finish. Refuses while the next send is not yet due.
- begin_
send - Admission and payload resolve one clock reading under the aggregate lock, so competing senders cannot both pass a stale caller-side precheck.
- build_
daily_ heartbeat - last_
sent_ bucket - pending_
daily_ batch - persist_
process_ counters - Persist this process’s unsent tool counters so they survive process exit and reach the next daily batch. While telemetry is disabled the counters are skipped instead, so re-enabling never back-fills opted-out activity.
- preview_
daily_ batch - Build the exact currently eligible payload without advancing durable state.
- purge_
local_ state - purge_
local_ state_ then - record_
autopilot_ decisions - record_
autopilot_ fallback - record_
checkout_ started - record_
current_ version - record_
error_ category - record_
feature - Counts one use of a registry feature (
core::telemetry_features) for today;ok = falsealso counts a failure. Invalid codes are ignored. - record_
feature_ counts - Adds
(code, count, failures)tallies for today in one locked write. Invalid codes and empty tallies are ignored. - record_
setup_ completion - record_
sync_ result - rotate_
identity_ state_ then