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/jazzy/pr-2884
Your branch is up to date with 'origin/jazzy'.

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

@mergify mergify bot added the conflicts label Dec 6, 2025
@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.25%. Comparing base (56d525e) to head (117285a).
⚠️ Report is 3 commits behind head on jazzy.

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             @@
##            jazzy    #2890      +/-   ##
==========================================
- Coverage   89.30%   89.25%   -0.05%     
==========================================
  Files         155      155              
  Lines       18059    18125      +66     
  Branches     1468     1473       +5     
==========================================
+ Hits        16127    16177      +50     
- Misses       1352     1366      +14     
- Partials      580      582       +2     
Flag Coverage Δ
unittests 89.25% <84.21%> (-0.05%) ⬇️

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 89.32% <100.00%> (+1.58%) ⬆️
...oller_interface/test/test_controller_interface.cpp 100.00% <ø> (ø)
controller_manager/src/controller_manager.cpp 77.00% <100.00%> (-0.04%) ⬇️
...ager/test/test_controller_manager_urdf_passing.cpp 100.00% <ø> (ø)
.../include/hardware_interface/hardware_component.hpp 100.00% <ø> (ø)
...ardware_interface/hardware_component_interface.hpp 86.29% <100.00%> (+0.05%) ⬆️
hardware_interface/src/resource_manager.cpp 74.31% <100.00%> (-0.07%) ⬇️
...dware_interface/test/test_component_interfaces.cpp 97.88% <ø> (ø)
... and 5 more

... and 1 file with indirect coverage changes

🚀 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 e911cfa into jazzy Dec 6, 2025
13 of 14 checks passed
@christophfroehlich christophfroehlich deleted the mergify/bp/jazzy/pr-2884 branch December 6, 2025 22:15
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