Get desktop application:
View/edit binary Protocol Buffers messages
Usg accepts anonymous usage reports from Telepresence clients and traffic-managers. The server must accept unauthenticated, anonymous connections. Reports contain only an installation ID, a topic, a timestamp, and a map of safe-listed string entries. They never contain cluster, namespace, workload, or address data.
Report submits a single usage report. Returns immediately; the server should never block the caller. Errors must not surface to the user.
ReportBatch submits up to N buffered reports at once. Used by the on-disk and in-memory FIFO buffers to flush their backlog.
UsageReport is a single anonymous usage event.
Used as request type in: Usg.Report
Used as field type in:
installation_id is the only identifier carried in a report. For clients it is the value stored in $config/id; for traffic-managers it is the UUID held in the traffic-manager-install-id ConfigMap.
source is the kind of process that produced the report ("client" or "manager"). It is not an identifier; it just disambiguates topics that exist on both sides.
topic is a short, code-defined string identifying what happened, e.g. "cmd.connect" or "manager.intercept.created". It must never be derived from user-supplied data.
version of the producing binary (e.g. "v2.27.0"). Not an identifier.
os and arch describe the producing host. "linux"/"amd64" etc. Not identifying.
timestamp is when the event was produced on the originating host.
entries are arbitrary safe-listed key/value pairs. The producing code is responsible for ensuring no sensitive data ends up here.