Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: telemetry v2 improvements #449

Open
wants to merge 14 commits into
base: transition-to-runkit
Choose a base branch
from
Open

Conversation

doudou
Copy link
Member

@doudou doudou commented Dec 19, 2024

This PR deals with the most obvious problems related to the telemetry v2.

  • it resolves tasks asynchronously, avoiding having the whole UI blocked when accessing remote systems
  • it allows marshalling of Device
  • it makes the deployment polling an incremental call, which reduces the data transfer from ~1MB/s to a few 10s of kB/s

The Orocos::Async implementation needs to be re-done. I'm de-facto starting this
here, focusing on the Syskit telemetry agent as the remote agent, instead of a
generic RTT-focussed implementation

This does not need the agent, but already helps a lot with the performance
IORs are ... actually big. The call at 10Hz is currently taking 1 MB/s.
Implement the incremental version right away to keep the bandwidth small

All work on the telemetry MUST have a corresponding bandwidth measurement to
avoid this kind of surprises.
This load local task models, which is both heavy and useless (since the code is
not using the model at all for now). Do not load anything for the time being.
The right thing long-term is to use the remote model
A well-unit-tested combination of UI::NameService and the
async-update code from UI::RuntimeState
We seldom use it, and it actually is very heavy on CPU
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant