[KongchangAI]
Product

ros2_pulse

An open-source ROS 2 tool for monitoring topic publication frequency and detecting node liveness. It injects tracetools hooks via LD_PRELOAD technology to achieve zero-intrusion, low-overhead in-process monitoring. The tool supports the Humble, Jazzy, and Kilted ROS 2 distributions.

Timeline (last 90 days)

Sep 11

Developer TanayK07 open-sourced a tool called ros2_pulse on Reddit for ROS 2 topic frequency monitoring and node liveness detection.

Unverified50%
Sep 11

ros2_pulse requires no recompilation of nodes, does not join the DDS graph, and has extremely low overhead.

Unverified50%
Sep 11

The core of ros2_pulse is an LD_PRELOAD shim that hooks into the tracetools hooks called by rclcpp on every publish and callback, performs counting within the process, and writes the frequency to a file.

Unverified50%
Sep 11

ros2_pulse injects via LD_PRELOAD, working plug-and-play with existing binaries without requiring recompilation of nodes.

Unverified50%
Sep 11

The ros2_pulse probe works entirely within the process, does not join the DDS graph as an additional subscriber, avoids serialization overhead, and can fully capture intra-process communication traffic.

Unverified50%
Sep 11

The ros2_pulse hot path overhead is approximately 0.3 nanoseconds per message.

Unverified50%
Sep 11

Under a stress test of 4,900 msg/s, the total CPU usage of the ros2_pulse probe is approximately 2%.

Unverified50%
Sep 11

ros2_pulse supports setting an expected frequency for each topic and outputs a WARN-level log when the actual frequency falls below the expected value.

Unverified50%
Sep 11

ros2_pulse comes with a real-time terminal dashboard that can be installed via pip3 install ros2-pulse-top and experienced with pulse-top --demo.

Unverified50%
Sep 11

ros2_pulse supports three ROS 2 distributions—Humble, Jazzy, and Kilted—and is released under the Apache-2.0 open-source license.

Unverified50%

2 more timeline events

All Facts (11)

Unverified

ros2_pulse supports three ROS 2 distributions—Humble, Jazzy, and Kilted—and is released under the Apache-2.0 open-source license.

50%
Unverified

ros2_pulse requires no recompilation of nodes, does not join the DDS graph, and has extremely low overhead.

50%
Unverified

The core of ros2_pulse is an LD_PRELOAD shim that hooks into the tracetools hooks called by rclcpp on every publish and callback, performs counting within the process, and writes the frequency to a file.

50%
Unverified

ros2_pulse injects via LD_PRELOAD, working plug-and-play with existing binaries without requiring recompilation of nodes.

50%
Unverified

The ros2_pulse probe works entirely within the process, does not join the DDS graph as an additional subscriber, avoids serialization overhead, and can fully capture intra-process communication traffic.

50%
Unverified

The ros2_pulse hot path overhead is approximately 0.3 nanoseconds per message.

50%
Unverified

Under a stress test of 4,900 msg/s, the total CPU usage of the ros2_pulse probe is approximately 2%.

50%
Unverified

ros2_pulse supports setting an expected frequency for each topic and outputs a WARN-level log when the actual frequency falls below the expected value.

50%
Unverified

ros2_pulse comes with a real-time terminal dashboard that can be installed via pip3 install ros2-pulse-top and experienced with pulse-top --demo.

50%
Unverified

The ros2_pulse project has been open-sourced on GitHub, with the repository located at TanayK07/ros2_pulse.

50%
Unverified

Developer TanayK07 open-sourced a tool called ros2_pulse on Reddit for ROS 2 topic frequency monitoring and node liveness detection.

50%

Source Articles