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

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

Open
wants to merge 31 commits into
base: master
Choose a base branch
from

Conversation

saikishor
Copy link
Member

Added integration of pal_statistics into the ros2_control infrastructure

You can find more examples at #1897

image

Copy link

codecov bot commented Dec 5, 2024

Codecov Report

Attention: Patch coverage is 87.50000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 89.32%. Comparing base (f8c03cc) to head (877ce1e).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...re_interface/include/hardware_interface/handle.hpp 50.00% 3 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.35%   89.32%   -0.03%     
==========================================
  Files         130      130              
  Lines       14576    14630      +54     
  Branches     1258     1266       +8     
==========================================
+ Hits        13024    13068      +44     
- Misses       1088     1093       +5     
- Partials      464      469       +5     
Flag Coverage Δ
unittests 89.32% <87.50%> (-0.03%) ⬇️

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%> (-1.79%) ⬇️
.../include/controller_manager/controller_manager.hpp 100.00% <ø> (ø)
controller_manager/src/controller_manager.cpp 76.33% <100.00%> (+0.17%) ⬆️
.../include/hardware_interface/actuator_interface.hpp 93.96% <100.00%> (+0.21%) ⬆️
...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.99%) ⬇️
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%) ⬆️
... and 2 more

Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

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
Member Author

I could write an AI agent commenting on PRs 😆

  • Please update the docs
  • Please update the release_notes

Sure! Boss 😆😆

Copy link
Contributor

mergify bot commented Dec 7, 2024

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

Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

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

I added some minor comments below.

hardware_interface/package.xml Outdated Show resolved Hide resolved
doc/debugging.rst Outdated Show resolved Hide resolved
doc/debugging.rst Outdated Show resolved Hide resolved
doc/debugging.rst Outdated Show resolved Hide resolved
Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

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.

.github/workflows/jazzy-semi-binary-build.yml Outdated Show resolved Hide resolved
.github/workflows/rolling-semi-binary-build.yml Outdated Show resolved Hide resolved
@saikishor
Copy link
Member Author

Approving as we have fixed clang now.

Thank you @christophfroehlich

Copy link
Contributor

mergify bot commented Dec 20, 2024

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

Copy link

@MarqRazz MarqRazz left a comment

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
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
Member Author

Conflicts resolved! ;)

@saikishor saikishor force-pushed the integrate/pal_statistics branch from 90d12f2 to da34b78 Compare December 30, 2024 15:15
Co-authored-by: Christoph Fröhlich <[email protected]>
@saikishor saikishor force-pushed the integrate/pal_statistics branch from da34b78 to aa19ef9 Compare December 31, 2024 10:16
Copy link
Member

@destogl destogl left a comment

Choose a reason for hiding this comment

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

A few comments to clarify before continuing.

controller_manager/src/controller_manager.cpp Outdated Show resolved Hide resolved
controller_manager/src/controller_manager.cpp Outdated Show resolved Hide resolved
doc/introspection.rst Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
Copy link
Member Author

@saikishor saikishor left a comment

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.

controller_manager/src/controller_manager.cpp Outdated Show resolved Hide resolved
controller_manager/src/controller_manager.cpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
hardware_interface/include/hardware_interface/handle.hpp Outdated Show resolved Hide resolved
@saikishor saikishor requested a review from destogl January 1, 2025 20:18
Copy link
Member

@destogl destogl left a comment

Choose a reason for hiding this comment

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

Thanks for following up!

doc/introspection.rst Show resolved Hide resolved
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