Skip to content

extend ros2 topic info -v with buffer-backend field #1245

@fujitatomoya

Description

@fujitatomoya

Description

after the buffer-backend metadata work lands across rmw and the client libraries, ros2 topic info -v should display the discovered rosidl buffer backend (platform buffer) information for each topic endpoint.

ros2/rmw#419 — adds buffer backend metadata to rmw_topic_endpoint_info_t
ros2/rmw_dds_common#88 — stores the metadata in the graph cache
ros2/rmw_fastrtps#889 — populates the metadata from discovery
ros2/rclpy#1678 — exposes the metadata on rclpy.TopicEndpointInfo and includes it in the string representation
ros2/rclcpp#3165 — equivalent C++ exposure on TopicEndpointInfo

ros2 topic info -v (in ros2topic) builds and prints the per-endpoint information for publishers and subscriptions.
once the rclpy change is merged, the verb should surface a per-endpoint line,

Node name: talker
Node namespace: /
Topic type: std_msgs/msg/String
Endpoint type: PUBLISHER
GID: ...
Buffer backends: <backends>
QoS profile:
  ...

Motivation

so that users can inspect buffer backend support directly from the CLI without writing a custom node against TopicEndpointInfo.

Design / Implementation Considerations

This metadata is only populated by rmw_fastrtps, other RMW implementations leave it empty by design, and nothing is added to those implementations. the verb therefore needs to handle the empty case gracefully. when no buffer backend information is available (non-fastrtps RMW, or no backends discovered), the line should either be omitted or shown as empty. output should remain stable and readable across all RMW implementations.

Additional Information

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions