Skip to content

add service list to ros2 doctor --report #1047

@fujitatomoya

Description

@fujitatomoya

Description

Add available service list and number of clients/servers to the ros2 doctor --report.

Motivation

service list is also important to know the ROS 2 endpoint connectivity in the report.

Design / Implementation Considerations

Currently ros2 doctor does not show any service list to the report.

root@tomoyafujita:~/ros2_ws/colcon_ws# ros2 doctor -r --exclude-packages
...<snip>
   ROS 2 INFORMATION
distribution name      : rolling
distribution type      : ros2
distribution status    : rolling
release platforms      : {'debian': ['bookworm'], 'rhel': ['9'], 'ubuntu': ['noble']}

   TOPIC LIST
topic               : /chatter
publisher count     : 1
subscriber count    : 1

this feature adds the SERVICE LIST along with TOPIC LIST above.
corresponding rclpy APIs are already available, so this can be straight-forward to add ServiceCheck inherited by DoctorCheck class.

Additional Information

via ros2 doctor -r, it can generate the QoS incompatibility status between publishers and subscriptions. User application can be also notified via QoS incompatibility event on endpoint creation, so user might already know that there is a incompatibility QoS so that they cannot communicate each other.

with current provided API for service client and server, we cannot do this yet. for doing this,1st we need to complete #916, so QoS incompatibility check is out of scope of this feature request.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions