Robotics & Open Science

ros2_pulse 0.6.0 adds rclpy node and loaned message tracking

Key Takeaway

The ros2_pulse monitoring tool now supports Python (rclpy) node counting and tracks loaned message rates via tracepoints.

Summary

The ros2_pulse tool, an LD_PRELOAD probe for ROS 2, has released version 0.6.0. This update enables the monitoring of rclpy nodes by hooking the rmw_take tracepoint and introduces specific tracking for loaned messages. The tool provides metrics via Prometheus and Grafana for visualizing topic rates and node liveness.

Technical improvements in ros2_pulse 0.6.0

  • rclpy support: By hooking the rmw_take tracepoint, the probe can now count Python-based nodes and deliveries, which previously lacked instrumentation.
  • Loaned message tracking: The probe wraps rcl_publish_loaned_message and rcl_take_loaned_message to report separate rates per topic.
  • Metrics export: The pulse-export component serves metrics on port :9464 and supports OTLP/HTTP pushing.
  • Compatibility: Requires Cyclone DDS, Fast DDS, or Connext (from Jazzy onwards).

Why it matters

This update improves observability for ROS 2 developers using Python, providing a low-overhead way to monitor real-time performance and memory-efficient message passing.

Original reference: discourse.openrobotics.org →