ros2 / ros2/ros2cli

extend `ros2 topic info -v` with buffer-backend field

Open
#1,245 0 comments 0 reactions 1 assignee View on GitHub

@fujitatomoya is already working on this.

Since Jun 19, 2026.

enhancement
Dominant language
Python
Stars
262
Forks
228
Avg merge
23h 15m
Merged PRs (30d)
12

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.