Skip to content

Deliver telemetry selectively per screen over the existing Socket.IO transport #777

Description

@bracyw

Stub for the spec PR — the spec body replaces this once the spec review merges.

Argos sends every decoded topic to every connected client over Socket.IO (~900 topics, ~2,900 msgs/s under sim load), and each client discards most of what it receives. This tracks the move to server-mediated selective delivery on the same transport: the client declares its full desired filter set in one idempotent control event, scylla-server keeps a per-socket filter set plus a memoized topic-to-sockets index, and gates the data emit through that index. On the BMS page this cuts delivery from roughly 2,900 to roughly 510 msgs/s per client.

The transport decision is already recorded in ADR 0007 (docs/adr/0007-telemetry-selective-subscription-transport.md), which lands alongside the spec on this issue's branch. Selective delivery over the existing socket was chosen over browser-direct MQTT and a NATS side-car; all three were built as live spikes off a common baseline and measured head-to-head.

Spec to follow as a PR per docs/agents/spec-review.md. Implementation tickets via to-tickets once it merges.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

angular-clientDevelopment Focused in the FrontenddifficultA task most likely involving researchnew featureNew feature or requestscylla-serverDevelopment Focused in the Backend

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions