Skip to content

Integrate pal_statistics for introspection of controllers, hardware components and more#1918

Merged
christophfroehlich merged 36 commits into
ros-controls:masterfrom
pal-robotics-forks:integrate/pal_statistics
Feb 12, 2025
Merged

Integrate pal_statistics for introspection of controllers, hardware components and more#1918
christophfroehlich merged 36 commits into
ros-controls:masterfrom
pal-robotics-forks:integrate/pal_statistics

Conversation

@saikishor

@saikishor saikishor commented Dec 5, 2024

Copy link
Copy Markdown
Member

Added integration of pal_statistics into the ros2_control infrastructure

You can find more examples at ros-controls/ros2_control_demos#654

image

@codecov

codecov Bot commented Dec 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 76.66667% with 14 lines in your changes missing coverage. Please review.

Project coverage is 89.37%. Comparing base (675a7a9) to head (af69bf2).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...re_interface/include/hardware_interface/handle.hpp 18.75% 10 Missing and 3 partials ⚠️
hardware_interface/src/resource_manager.cpp 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1918      +/-   ##
==========================================
- Coverage   89.41%   89.37%   -0.05%     
==========================================
  Files         139      139              
  Lines       14937    14996      +59     
  Branches     1283     1291       +8     
==========================================
+ Hits        13356    13402      +46     
- Misses       1101     1112      +11     
- Partials      480      482       +2     
Flag Coverage Δ
unittests 89.37% <76.66%> (-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% <ø> (ø)
...roller_interface/src/controller_interface_base.cpp 88.59% <100.00%> (+0.97%) ⬆️
controller_manager/src/controller_manager.cpp 76.41% <100.00%> (+0.04%) ⬆️
.../include/hardware_interface/actuator_interface.hpp 92.24% <100.00%> (+0.27%) ⬆️
...ce/include/hardware_interface/sensor_interface.hpp 95.65% <100.00%> (+0.26%) ⬆️
...ce/include/hardware_interface/system_interface.hpp 82.35% <100.00%> (+0.53%) ⬆️
hardware_interface/src/actuator.cpp 81.29% <100.00%> (+0.62%) ⬆️
hardware_interface/src/sensor.cpp 76.98% <100.00%> (+0.95%) ⬆️
hardware_interface/src/system.cpp 81.29% <100.00%> (+0.62%) ⬆️
hardware_interface/src/resource_manager.cpp 75.00% <75.00%> (ø)
... and 1 more

... and 1 file with indirect coverage changes

@christophfroehlich christophfroehlich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I could write an AI agent commenting on PRs 😆

  • Please update the docs
  • Please update the release_notes

@saikishor

Copy link
Copy Markdown
Member Author

I could write an AI agent commenting on PRs 😆

  • Please update the docs
  • Please update the release_notes

Sure! Boss 😆😆

@mergify

mergify Bot commented Dec 7, 2024

Copy link
Copy Markdown
Contributor

This pull request is in conflict. Could you fix it @saikishor?

@christophfroehlich christophfroehlich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! I tested this successfully and discussed some details with Sai, just add some notes here:

  • pal_statistics name/values pair is parsed by plotjuggler to be able to select the values by name without a custom message layout/no need for sending the names on a regular basis.

https://github.com/facontidavide/PlotJuggler/blob/b1ad0896844e848c2495e09a6e5c3548685adedd/plotjuggler_plugins/ParserROS/ros_parser.cpp#L81-L90

  • statistics from #1871 will be added in a later PR.
  • we have to fix clang so that it doesn't check system packages, maybe with this setup

I added some minor comments below.

Comment thread hardware_interface/package.xml Outdated
Comment thread doc/debugging.rst Outdated
Comment thread doc/debugging.rst Outdated
Comment thread doc/debugging.rst Outdated
Comment thread doc/introspection.rst Outdated

@christophfroehlich christophfroehlich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving as we have fixed clang now.

Comment thread .github/workflows/jazzy-semi-binary-build.yml Outdated
Comment thread .github/workflows/rolling-semi-binary-build.yml Outdated
@saikishor

Copy link
Copy Markdown
Member Author

Approving as we have fixed clang now.

Thank you @christophfroehlich

Comment thread controller_interface/src/controller_interface_base.cpp
Comment thread doc/introspection.rst
Comment thread controller_interface/src/controller_interface_base.cpp
Comment thread doc/introspection.rst
@mergify

mergify Bot commented Dec 20, 2024

Copy link
Copy Markdown
Contributor

This pull request is in conflict. Could you fix it @saikishor?

@MarqRazz MarqRazz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for detailed answers @saikishor, I think this looks like a great addition!

@saikishor

Copy link
Copy Markdown
Member Author

Thanks for detailed answers @saikishor, I think this looks like a great addition!

Thanks to you for taking time and reviewing it

@saikishor saikishor force-pushed the integrate/pal_statistics branch from b9d892c to 90d12f2 Compare December 20, 2024 23:33
@saikishor

Copy link
Copy Markdown
Member Author

Conflicts resolved! ;)

@saikishor saikishor left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@destogl Thanks for the review.

I've addressed all your comments in the PR.

Comment thread controller_interface/include/controller_interface/controller_interface_base.hpp Outdated
Comment thread controller_manager/src/controller_manager.cpp Outdated
Comment thread controller_manager/src/controller_manager.cpp Outdated
Comment thread hardware_interface/include/hardware_interface/handle.hpp Outdated
Comment thread hardware_interface/include/hardware_interface/handle.hpp Outdated
Comment thread hardware_interface/include/hardware_interface/handle.hpp Outdated
Comment thread hardware_interface/include/hardware_interface/handle.hpp Outdated
@saikishor saikishor requested a review from destogl January 1, 2025 20:18
@saikishor saikishor mentioned this pull request Jan 7, 2025
destogl
destogl previously approved these changes Jan 10, 2025

@destogl destogl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for following up!

Comment thread doc/introspection.rst

@destogl destogl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Great thanks!

@christophfroehlich christophfroehlich merged commit 254b6e8 into ros-controls:master Feb 12, 2025
@saikishor saikishor deleted the integrate/pal_statistics branch February 12, 2025 23:33
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.

4 participants