ros2 / ros2cli

ROS 2 command line interface tools
Apache License 2.0
166 stars 158 forks source link

add verbose in service-info verb #916

Open leeminju531 opened 3 weeks ago

leeminju531 commented 3 weeks ago

Verbose option in service info verb

Expected image

Dependencies rmw rmw_implementation rmw_fastrtps rmw_cyclonedds rmw_connextdds rcl rclcpp rclpy

Refer to https://github.com/ros2/ros2cli/issues/877#issue-2091143478

fujitatomoya commented 3 weeks ago

@leeminju531 thanks for taking care of this! i will try to review all incoming PRs.

fujitatomoya commented 2 weeks ago

@leeminju531

I think that we need to have discussion on the behavior of this verbose option. Currently suggestion is to display all hidden topics based on the service, like rq, rt internal topics as you demonstrated here. although this is precise information, I am not sure if this is good for ROS 2 user perspective since it exposes internal hidden topics instead of services.

instead, i would suggest that it displays as service endpoint for client and server endpoint. with this, we can conceal the hidden topics for ROS 2 users, and provide the information as service endpoint. besides, when we create either service client or server, we can specify only one QoS as service endpoint but 2 underlying hidden topics. that said, your suggested approach displays redundant information. (exact same QoS for 2 hidden topics)

i am now inclined to support this feature as service endpoint but exposing hidden topics. (rmw implementation needs to be aware of hidden topics but rcl or upper layer do not need to know that hidden topics at all.)

CC: @clalancette @sloretz @wjwwood