Skip to content

Comments

mavlink: Allows disabling the generation of legacy data-lake variables#2376

Merged
rafaellehmkuhl merged 1 commit intobluerobotics:masterfrom
rafaellehmkuhl:allow-disabling-legacy-vars
Jan 28, 2026
Merged

mavlink: Allows disabling the generation of legacy data-lake variables#2376
rafaellehmkuhl merged 1 commit intobluerobotics:masterfrom
rafaellehmkuhl:allow-disabling-legacy-vars

Conversation

@rafaellehmkuhl
Copy link
Member

Those are variables in the legacy ID pattern. For compatibility purposes, we generate them by default.

The generation of those legacy variables can cause a performance overhead in the application, as it basically doubles the amount of data-lake variables in the system.

This patch allows users to disable them if necessary (e.g.: when running on low-end machines).


// Store setting to enable/disable legacy data lake variable names (e.g., 'ATTITUDE/roll' in addition to '/mavlink/1/1/ATTITUDE/roll')
// Disabled by default for performance - enabling this doubles the number of setDataLakeVariableData calls per message
const enableLegacyDataLakeVariableNames = useBlueOsStorage('cockpit-enable-legacy-datalake-variable-names', true)
Copy link
Contributor

@ArturoManzoli ArturoManzoli Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't enableLegacyDataLakeVariableNames be on false by default?
The MAVLink configuration switch tooltip says: "Disabled by default for better performance."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should actually update the comment. Originally I intended to disable by default, but that would cause users to see their VGIs, Plotters, Actions and others that are connected to legacy variables to stop working. In the end I realized this only impact performance for those with low-end setups, so better to maintain compatibility for now and allow those with low-end setups to just disable this as needed.

@rafaellehmkuhl rafaellehmkuhl force-pushed the allow-disabling-legacy-vars branch from f7b0737 to 6c80495 Compare January 28, 2026 13:29
@rafaellehmkuhl rafaellehmkuhl force-pushed the allow-disabling-legacy-vars branch from 6c80495 to 9852559 Compare January 28, 2026 13:32
@rafaellehmkuhl rafaellehmkuhl force-pushed the allow-disabling-legacy-vars branch from 9852559 to 4862b26 Compare January 28, 2026 13:35
The generation of those legacy variables can cause a performance overhead in the application.

This patch allows users to disable them if necessary (e.g.: when running on low-end machines).
@rafaellehmkuhl rafaellehmkuhl force-pushed the allow-disabling-legacy-vars branch from 4862b26 to c09f215 Compare January 28, 2026 13:36
@rafaellehmkuhl rafaellehmkuhl merged commit d10b9be into bluerobotics:master Jan 28, 2026
11 checks passed
@rafaellehmkuhl rafaellehmkuhl deleted the allow-disabling-legacy-vars branch January 28, 2026 13:45
@ES-Alexander ES-Alexander added the docs-needed Change needs to be documented label Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-needed Change needs to be documented

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants