Skip to content

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Dec 6, 2025

Hello!

I've observed a lot of blocking time of the RT loop due to the calls of the lifecycle state and this PR comes up with a way to cache them locally and use them.

With the current master's version:

RRBot
image
image

TALOS

image

With the proposed changes:

RRBot
image

TALOS
image


This is an automatic backport of pull request #2884 done by [Mergify](https://mergify.com).

(cherry picked from commit dca9b57)

# Conflicts:
#	doc/release_notes.rst
@mergify
Copy link
Contributor Author

mergify bot commented Dec 6, 2025

Cherry-pick of dca9b57 has failed:

On branch mergify/bp/kilted/pr-2884
Your branch is up to date with 'origin/kilted'.

You are currently cherry-picking commit dca9b57.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   controller_interface/include/controller_interface/controller_interface_base.hpp
	modified:   controller_interface/src/chainable_controller_interface.cpp
	modified:   controller_interface/src/controller_interface_base.cpp
	modified:   controller_interface/test/test_controller_interface.cpp
	modified:   controller_manager/doc/userdoc.rst
	modified:   controller_manager/src/controller_manager.cpp
	modified:   controller_manager/test/test_chainable_controller/test_chainable_controller.cpp
	modified:   controller_manager/test/test_controller/test_controller.cpp
	modified:   controller_manager/test/test_controller_manager_urdf_passing.cpp
	modified:   hardware_interface/include/hardware_interface/hardware_component.hpp
	modified:   hardware_interface/include/hardware_interface/hardware_component_interface.hpp
	modified:   hardware_interface/src/hardware_component.cpp
	modified:   hardware_interface/src/resource_manager.cpp
	modified:   hardware_interface/test/test_component_interfaces.cpp
	modified:   hardware_interface_testing/test/test_components/test_actuator_exclusive_interfaces.cpp
	modified:   hardware_interface_testing/test/test_components/test_system.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   doc/release_notes.rst

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@codecov
Copy link

codecov bot commented Dec 6, 2025

Codecov Report

❌ Patch coverage is 84.21053% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.36%. Comparing base (3ec8e4f) to head (2d5add8).
⚠️ Report is 3 commits behind head on kilted.

Files with missing lines Patch % Lines
..._components/test_actuator_exclusive_interfaces.cpp 54.54% 4 Missing and 1 partial ⚠️
hardware_interface/src/hardware_component.cpp 69.23% 0 Missing and 4 partials ⚠️
...chainable_controller/test_chainable_controller.cpp 81.25% 2 Missing and 1 partial ⚠️
...r_manager/test/test_controller/test_controller.cpp 75.00% 2 Missing and 1 partial ⚠️
...rface_testing/test/test_components/test_system.cpp 66.66% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           kilted    #2891      +/-   ##
==========================================
- Coverage   89.37%   89.36%   -0.02%     
==========================================
  Files         155      155              
  Lines       18153    18218      +65     
  Branches     1478     1483       +5     
==========================================
+ Hits        16224    16280      +56     
- Misses       1337     1345       +8     
- Partials      592      593       +1     
Flag Coverage Δ
unittests 89.36% <84.21%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...controller_interface/controller_interface_base.hpp 91.66% <ø> (ø)
...r_interface/src/chainable_controller_interface.cpp 58.65% <100.00%> (ø)
...roller_interface/src/controller_interface_base.cpp 84.21% <100.00%> (+2.17%) ⬆️
...oller_interface/test/test_controller_interface.cpp 100.00% <ø> (ø)
controller_manager/src/controller_manager.cpp 77.30% <100.00%> (+0.15%) ⬆️
...ager/test/test_controller_manager_urdf_passing.cpp 100.00% <ø> (ø)
.../include/hardware_interface/hardware_component.hpp 100.00% <ø> (ø)
...ardware_interface/hardware_component_interface.hpp 75.26% <100.00%> (+0.08%) ⬆️
hardware_interface/src/resource_manager.cpp 78.10% <100.00%> (-0.06%) ⬇️
...dware_interface/test/test_component_interfaces.cpp 97.88% <ø> (ø)
... and 5 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@christophfroehlich
Copy link
Member

Merging despite the ABI break, because this fixes a serious performance issue.

@christophfroehlich christophfroehlich merged commit 7a596bb into kilted Dec 6, 2025
13 of 15 checks passed
@christophfroehlich christophfroehlich deleted the mergify/bp/kilted/pr-2884 branch December 6, 2025 21:35
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.

3 participants